From 8554df8283a0908f901bdce9633465a5fc837a69 Mon Sep 17 00:00:00 2001 From: "Alexandru Vlad (Scai)" <59282365+alexevladgabriel@users.noreply.github.com> Date: Mon, 2 Nov 2026 23:44:04 +0200 Subject: [PATCH 1/9] feat: move pelican.dev to Next.js + Fumadocs with the V12 redesign - Docusaurus replaced by Next.js 16 + Fumadocs 16 static export (Netlify), content moved to content/docs with Docusaurus-compatible Admonition/Tabs/Link components - Homepage, /eggs, /support, /faq and 404 rebuilt in the V12 B v3 design - Docs themed to match, light and dark, with the B v3 top bar - /eggs generated from the pelican-eggs index (scripts/sync-eggs.mjs): one card per real game, Steam art and icons, Hub links, search, sort and filters - SetupPanel fills the reader's domain/web server/PHP/path into config blocks - Leaving-site confirmation for links outside Pelican-owned sites - netlify.toml with build settings and real 301 redirects --- .github/workflows/build.yml | 32 +- .gitignore | 14 +- AGENTS.md | 9 + README.md | 100 +- app/(landing)/[slug]/page.tsx | 62 + app/(landing)/eggs/page.tsx | 75 + app/(landing)/home.css | 4085 ++++ app/(landing)/layout.tsx | 6 + app/(landing)/page.tsx | 43 + app/(landing)/support/page.tsx | 375 + app/api/search/route.ts | 7 + app/docs/[[...slug]]/page.tsx | 54 + app/docs/layout.tsx | 15 + app/global.css | 562 + app/layout.tsx | 41 + app/not-found.tsx | 37 + components/docs/docs-top-bar.tsx | 39 + components/external-link-guard.tsx | 174 + components/home/domain-cta.tsx | 52 + components/home/egg-finder.tsx | 214 + components/home/egg-index.tsx | 443 + components/home/feature-panel.tsx | 234 + components/home/game-art.tsx | 61 + components/home/hero-console.tsx | 233 + components/home/mobile-menu.tsx | 21 + components/home/plugin-stage.tsx | 135 + components/home/release-log.tsx | 67 + components/home/sections.tsx | 577 + components/home/site-header.tsx | 46 + components/icons.tsx | 19 + components/mdx/admonition.tsx | 33 + components/mdx/link.tsx | 7 + components/mdx/mermaid.tsx | 38 + components/mdx/tabs.tsx | 79 + components/setup/fields.ts | 21 + components/setup/setup-panel.tsx | 194 + components/setup/setup-span.tsx | 14 + components/setup/setup-value.tsx | 20 + components/setup/store.ts | 56 + {docs => content/docs}/comparison.mdx | 8 +- .../team.mdx => content/docs/contributors.mdx | 4 +- .../docs}/eggs/creating-a-custom-egg.mdx | 4 +- .../docs}/eggs/creating-a-custom-yolk.mdx | 5 +- content/docs/eggs/meta.json | 4 + .../docs}/guides/change-panel-domain.mdx | 8 +- .../docs}/guides/database-hosts.mdx | 6 +- .../docs}/guides/disk-quotas/about.mdx | 7 +- .../docs}/guides/disk-quotas/ext4-xfs.mdx | 9 +- content/docs/guides/disk-quotas/meta.json | 4 + {docs => content/docs}/guides/docker.mdx | 6 +- content/docs/guides/meta.json | 16 + .../guides/migrating-from-pterodactyl.mdx | 8 +- {docs => content/docs}/guides/mounts.mdx | 6 +- {docs => content/docs}/guides/php-upgrade.mdx | 7 +- {docs => content/docs}/guides/ssl.mdx | 9 +- {docs => content/docs}/guides/translating.mdx | 6 +- .../docs}/guides/troubleshooting.mdx | 8 +- .../docs}/guides/uninstalling.mdx | 8 +- {docs => content/docs}/index.mdx | 6 +- content/docs/meta.json | 14 + .../docs}/panel/advanced/api-docs.mdx | 7 +- .../docs}/panel/advanced/artisan.mdx | 5 +- .../panel/advanced/cloudflare-tunnel.mdx | 6 +- .../docs}/panel/advanced/docker.mdx | 4 +- content/docs/panel/advanced/meta.json | 4 + .../docs}/panel/advanced/mysql.mdx | 6 +- .../docs}/panel/advanced/plugins.mdx | 8 +- .../docs}/panel/advanced/podman.mdx | 7 +- .../docs}/panel/advanced/redis.mdx | 4 +- .../docs}/panel/getting-started.mdx | 10 +- content/docs/panel/meta.json | 12 + .../docs}/panel/optional-config.mdx | 4 +- {docs => content/docs}/panel/panel-setup.mdx | 14 +- {docs => content/docs}/panel/update.mdx | 8 +- .../docs}/panel/webserver-config.mdx | 70 +- {docs => content/docs}/versioning.mdx | 6 +- {docs => content/docs}/wings/install.mdx | 6 +- content/docs/wings/meta.json | 4 + .../docs}/wings/optional-config.mdx | 6 +- {docs => content/docs}/wings/update.mdx | 8 +- {src => content}/pages/faq.mdx | 13 +- data/eggs.json | 9923 +++++++++ docs/guides/disk-quotas/btrfs.mdx | 0 docs/guides/disk-quotas/lvm.mdx | 0 docs/guides/disk-quotas/zfs.mdx | 0 docusaurus.config.ts | 139 - lib/egg-helpers.ts | 110 + lib/eggs.ts | 33 + lib/home-data.ts | 233 + lib/layout.shared.tsx | 36 + lib/links.ts | 14 + lib/owned-sites.ts | 74 + lib/shiki-setup.ts | 45 + lib/source.ts | 18 + lib/support.ts | 246 + mdx-components.tsx | 30 + netlify.toml | 79 + next.config.mjs | 15 + package.json | 92 +- pnpm-lock.yaml | 17491 ++++------------ pnpm-workspace.yaml | 14 +- postcss.config.mjs | 5 + public/img/eggs/aoede-aoede.png | Bin 0 -> 58009 bytes ...survival-evolved-ark-survival-evolved.jpeg | Bin 0 -> 10721 bytes public/img/eggs/atlbot-atlbot.png | Bin 0 -> 21630 bytes public/img/eggs/bastion-bastion.png | Bin 0 -> 7189 bytes .../eggs/big-brother-bot-big-brother-bot.png | Bin 0 -> 19170 bytes public/img/eggs/bun-bun.png | Bin 0 -> 9723 bytes public/img/eggs/corpbot-corpbot.png | Bin 0 -> 19889 bytes ...urce-engine-custom-source-engine-game.webp | Bin 0 -> 3208 bytes public/img/eggs/dart-generic-dart-generic.png | Bin 0 -> 7629 bytes public/img/eggs/deno-generic-deno-generic.png | Bin 0 -> 49213 bytes public/img/eggs/elixir-elixir.png | Bin 0 -> 51413 bytes public/img/eggs/factorio-factorio.jpeg | Bin 0 -> 9336 bytes public/img/eggs/garry-s-mod-garrys-mod.png | Bin 0 -> 8478 bytes .../eggs/golang-generic-golang-generic.png | Bin 0 -> 194139 bytes public/img/eggs/hytale-hytale.png | Bin 0 -> 35996 bytes public/img/eggs/java-generic-java-generic.png | Bin 0 -> 19945 bytes public/img/eggs/jmusicbot-jmusicbot.png | Bin 0 -> 42450 bytes public/img/eggs/loki-loki.png | Bin 0 -> 176906 bytes .../img/eggs/luvit-generic-luvit-generic.png | Bin 0 -> 35878 bytes public/img/eggs/minecraft-neoforge.png | Bin 0 -> 475 bytes public/img/eggs/minecraft-velocity.png | Bin 0 -> 5514 bytes public/img/eggs/minio-s3-minio-s3.png | Bin 0 -> 4313 bytes public/img/eggs/nodemon-nodemon.png | Bin 0 -> 16333 bytes .../onehouronelife-one-hour-one-life.jpeg | Bin 0 -> 11275 bytes .../eggs/plains-of-pain-plains-of-pain.jpeg | Bin 0 -> 668 bytes public/img/eggs/prometheus-prometheus.png | Bin 0 -> 15974 bytes .../eggs/python-generic-python-generic.png | Bin 0 -> 22892 bytes ...cape-dragonwilds-runescape-dragonwilds.png | Bin 0 -> 13421 bytes public/img/eggs/rust-generic-rust-generic.png | Bin 0 -> 12518 bytes .../sftp-storage-share-sftp-storage-share.png | Bin 0 -> 6989 bytes .../eggs/spacestation-14-space-station-14.png | Bin 0 -> 8696 bytes .../eggs/team-fortress-2-team-fortress-2.png | Bin 0 -> 24512 bytes public/img/eggs/tower-unite-tower-unite.jpeg | Bin 0 -> 14075 bytes .../img/eggs/vintage-story-vintage-story.webp | Bin 0 -> 8748 bytes public/img/eggs/wreckfest-wreckfest.jpeg | Bin 0 -> 9304 bytes public/img/eggs/xonotic-xonotic.jpeg | Bin 0 -> 4093 bytes {static => public}/img/favicon.ico | Bin public/img/games/counter-strike-2.webp | Bin 0 -> 2032 bytes public/img/games/factorio.webp | Bin 0 -> 2234 bytes public/img/games/minecraft.svg | 1 + public/img/games/palworld.webp | Bin 0 -> 3534 bytes public/img/games/rust.webp | Bin 0 -> 1380 bytes public/img/games/valheim.webp | Bin 0 -> 906 bytes .../sponsor/df-cloud-logo-darkmode.svg | 0 .../img/homepage/sponsor/df-cloud-logo.svg | 0 .../sponsor/dreamhost-logo-darkmode.png | Bin .../img/homepage/sponsor/dreamhost-logo.png | Bin {static => public}/img/logo.png | Bin public/img/plugins/minecraft-modrinth.webp | Bin 0 -> 39412 bytes public/img/plugins/modpack-manager.webp | Bin 0 -> 51682 bytes public/img/plugins/system-status-monitor.webp | Bin 0 -> 15502 bytes {static => public}/migrate-panel.sh | 0 {static => public}/migrate-wings.sh | 0 {static => public}/update-panel.sh | 0 scripts/sync-eggs.mjs | 696 + sidebars.ts | 90 - source.config.ts | 81 + src/components/HomepageFeatures/look.tsx | 64 - src/components/HomepageFeatures/sponsors.tsx | 73 - .../HomepageFeatures/styles.module.css | 11 - src/components/HomepageFeatures/what.tsx | 58 - src/components/HomepageFeatures/why.tsx | 107 - src/css/custom.scss | 172 - src/css/tailwind.css | 3 - src/pages/index.module.css | 23 - src/pages/index.tsx | 56 - src/pages/support.mdx | 47 - src/plugins/tailwind-config.cjs | 15 - src/theme/MDXComponents.js | 14 - static/.nojekyll | 0 static/js/snowflake.min.js | 5 - tailwind.config.js | 29 - tsconfig.json | 27 +- 175 files changed, 24160 insertions(+), 14668 deletions(-) create mode 100644 AGENTS.md create mode 100644 app/(landing)/[slug]/page.tsx create mode 100644 app/(landing)/eggs/page.tsx create mode 100644 app/(landing)/home.css create mode 100644 app/(landing)/layout.tsx create mode 100644 app/(landing)/page.tsx create mode 100644 app/(landing)/support/page.tsx create mode 100644 app/api/search/route.ts create mode 100644 app/docs/[[...slug]]/page.tsx create mode 100644 app/docs/layout.tsx create mode 100644 app/global.css create mode 100644 app/layout.tsx create mode 100644 app/not-found.tsx create mode 100644 components/docs/docs-top-bar.tsx create mode 100644 components/external-link-guard.tsx create mode 100644 components/home/domain-cta.tsx create mode 100644 components/home/egg-finder.tsx create mode 100644 components/home/egg-index.tsx create mode 100644 components/home/feature-panel.tsx create mode 100644 components/home/game-art.tsx create mode 100644 components/home/hero-console.tsx create mode 100644 components/home/mobile-menu.tsx create mode 100644 components/home/plugin-stage.tsx create mode 100644 components/home/release-log.tsx create mode 100644 components/home/sections.tsx create mode 100644 components/home/site-header.tsx create mode 100644 components/icons.tsx create mode 100644 components/mdx/admonition.tsx create mode 100644 components/mdx/link.tsx create mode 100644 components/mdx/mermaid.tsx create mode 100644 components/mdx/tabs.tsx create mode 100644 components/setup/fields.ts create mode 100644 components/setup/setup-panel.tsx create mode 100644 components/setup/setup-span.tsx create mode 100644 components/setup/setup-value.tsx create mode 100644 components/setup/store.ts rename {docs => content/docs}/comparison.mdx (98%) rename docs/team.mdx => content/docs/contributors.mdx (97%) rename {docs => content/docs}/eggs/creating-a-custom-egg.mdx (99%) rename {docs => content/docs}/eggs/creating-a-custom-yolk.mdx (99%) create mode 100644 content/docs/eggs/meta.json rename {docs => content/docs}/guides/change-panel-domain.mdx (93%) rename {docs => content/docs}/guides/database-hosts.mdx (97%) rename {docs => content/docs}/guides/disk-quotas/about.mdx (89%) rename {docs => content/docs}/guides/disk-quotas/ext4-xfs.mdx (98%) create mode 100644 content/docs/guides/disk-quotas/meta.json rename {docs => content/docs}/guides/docker.mdx (96%) create mode 100644 content/docs/guides/meta.json rename {docs => content/docs}/guides/migrating-from-pterodactyl.mdx (97%) rename {docs => content/docs}/guides/mounts.mdx (97%) rename {docs => content/docs}/guides/php-upgrade.mdx (95%) rename {docs => content/docs}/guides/ssl.mdx (98%) rename {docs => content/docs}/guides/translating.mdx (98%) rename {docs => content/docs}/guides/troubleshooting.mdx (98%) rename {docs => content/docs}/guides/uninstalling.mdx (93%) rename {docs => content/docs}/index.mdx (96%) create mode 100644 content/docs/meta.json rename {docs => content/docs}/panel/advanced/api-docs.mdx (84%) rename {docs => content/docs}/panel/advanced/artisan.mdx (97%) rename {docs => content/docs}/panel/advanced/cloudflare-tunnel.mdx (97%) rename {docs => content/docs}/panel/advanced/docker.mdx (99%) create mode 100644 content/docs/panel/advanced/meta.json rename {docs => content/docs}/panel/advanced/mysql.mdx (95%) rename {docs => content/docs}/panel/advanced/plugins.mdx (99%) rename {docs => content/docs}/panel/advanced/podman.mdx (97%) rename {docs => content/docs}/panel/advanced/redis.mdx (97%) rename {docs => content/docs}/panel/getting-started.mdx (97%) create mode 100644 content/docs/panel/meta.json rename {docs => content/docs}/panel/optional-config.mdx (99%) rename {docs => content/docs}/panel/panel-setup.mdx (91%) rename {docs => content/docs}/panel/update.mdx (97%) rename {docs => content/docs}/panel/webserver-config.mdx (85%) rename {docs => content/docs}/versioning.mdx (98%) rename {docs => content/docs}/wings/install.mdx (98%) create mode 100644 content/docs/wings/meta.json rename {docs => content/docs}/wings/optional-config.mdx (99%) rename {docs => content/docs}/wings/update.mdx (88%) rename {src => content}/pages/faq.mdx (97%) create mode 100644 data/eggs.json delete mode 100644 docs/guides/disk-quotas/btrfs.mdx delete mode 100644 docs/guides/disk-quotas/lvm.mdx delete mode 100644 docs/guides/disk-quotas/zfs.mdx delete mode 100644 docusaurus.config.ts create mode 100644 lib/egg-helpers.ts create mode 100644 lib/eggs.ts create mode 100644 lib/home-data.ts create mode 100644 lib/layout.shared.tsx create mode 100644 lib/links.ts create mode 100644 lib/owned-sites.ts create mode 100644 lib/shiki-setup.ts create mode 100644 lib/source.ts create mode 100644 lib/support.ts create mode 100644 mdx-components.tsx create mode 100644 netlify.toml create mode 100644 next.config.mjs create mode 100644 postcss.config.mjs create mode 100644 public/img/eggs/aoede-aoede.png create mode 100644 public/img/eggs/ark-survival-evolved-ark-survival-evolved.jpeg create mode 100644 public/img/eggs/atlbot-atlbot.png create mode 100644 public/img/eggs/bastion-bastion.png create mode 100644 public/img/eggs/big-brother-bot-big-brother-bot.png create mode 100644 public/img/eggs/bun-bun.png create mode 100644 public/img/eggs/corpbot-corpbot.png create mode 100644 public/img/eggs/custom-source-engine-custom-source-engine-game.webp create mode 100644 public/img/eggs/dart-generic-dart-generic.png create mode 100644 public/img/eggs/deno-generic-deno-generic.png create mode 100644 public/img/eggs/elixir-elixir.png create mode 100644 public/img/eggs/factorio-factorio.jpeg create mode 100644 public/img/eggs/garry-s-mod-garrys-mod.png create mode 100644 public/img/eggs/golang-generic-golang-generic.png create mode 100644 public/img/eggs/hytale-hytale.png create mode 100644 public/img/eggs/java-generic-java-generic.png create mode 100644 public/img/eggs/jmusicbot-jmusicbot.png create mode 100644 public/img/eggs/loki-loki.png create mode 100644 public/img/eggs/luvit-generic-luvit-generic.png create mode 100644 public/img/eggs/minecraft-neoforge.png create mode 100644 public/img/eggs/minecraft-velocity.png create mode 100644 public/img/eggs/minio-s3-minio-s3.png create mode 100644 public/img/eggs/nodemon-nodemon.png create mode 100644 public/img/eggs/onehouronelife-one-hour-one-life.jpeg create mode 100644 public/img/eggs/plains-of-pain-plains-of-pain.jpeg create mode 100644 public/img/eggs/prometheus-prometheus.png create mode 100644 public/img/eggs/python-generic-python-generic.png create mode 100644 public/img/eggs/runescape-dragonwilds-runescape-dragonwilds.png create mode 100644 public/img/eggs/rust-generic-rust-generic.png create mode 100644 public/img/eggs/sftp-storage-share-sftp-storage-share.png create mode 100644 public/img/eggs/spacestation-14-space-station-14.png create mode 100644 public/img/eggs/team-fortress-2-team-fortress-2.png create mode 100644 public/img/eggs/tower-unite-tower-unite.jpeg create mode 100644 public/img/eggs/vintage-story-vintage-story.webp create mode 100644 public/img/eggs/wreckfest-wreckfest.jpeg create mode 100644 public/img/eggs/xonotic-xonotic.jpeg rename {static => public}/img/favicon.ico (100%) create mode 100644 public/img/games/counter-strike-2.webp create mode 100644 public/img/games/factorio.webp create mode 100644 public/img/games/minecraft.svg create mode 100644 public/img/games/palworld.webp create mode 100644 public/img/games/rust.webp create mode 100644 public/img/games/valheim.webp rename {static => public}/img/homepage/sponsor/df-cloud-logo-darkmode.svg (100%) rename {static => public}/img/homepage/sponsor/df-cloud-logo.svg (100%) rename {static => public}/img/homepage/sponsor/dreamhost-logo-darkmode.png (100%) rename {static => public}/img/homepage/sponsor/dreamhost-logo.png (100%) rename {static => public}/img/logo.png (100%) create mode 100644 public/img/plugins/minecraft-modrinth.webp create mode 100644 public/img/plugins/modpack-manager.webp create mode 100644 public/img/plugins/system-status-monitor.webp rename {static => public}/migrate-panel.sh (100%) rename {static => public}/migrate-wings.sh (100%) rename {static => public}/update-panel.sh (100%) create mode 100644 scripts/sync-eggs.mjs delete mode 100644 sidebars.ts create mode 100644 source.config.ts delete mode 100644 src/components/HomepageFeatures/look.tsx delete mode 100644 src/components/HomepageFeatures/sponsors.tsx delete mode 100644 src/components/HomepageFeatures/styles.module.css delete mode 100644 src/components/HomepageFeatures/what.tsx delete mode 100644 src/components/HomepageFeatures/why.tsx delete mode 100644 src/css/custom.scss delete mode 100644 src/css/tailwind.css delete mode 100644 src/pages/index.module.css delete mode 100644 src/pages/index.tsx delete mode 100644 src/pages/support.mdx delete mode 100644 src/plugins/tailwind-config.cjs delete mode 100644 src/theme/MDXComponents.js delete mode 100644 static/.nojekyll delete mode 100644 static/js/snowflake.min.js delete mode 100644 tailwind.config.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1e432ce..36e585fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,27 +2,33 @@ name: 'Build' on: workflow_dispatch: workflow_call: + pull_request: push: branches: - 'main' jobs: - deploy: - name: 'Deploy' + build: + name: 'Build' runs-on: ubuntu-latest steps: - name: 'Checkout' - uses: actions/checkout@v4 + uses: actions/checkout@v7 + + - name: 'Install pnpm' + uses: pnpm/action-setup@v6 + - name: 'Setup Node' - uses: actions/setup-node@v4 - with: - node-version: 20 - - uses: pnpm/action-setup@v3 - name: Install pnpm + uses: actions/setup-node@v7 with: - version: 10 - run_install: true # pnpm will install dependencies recursively. + node-version: 22 + cache: pnpm + + - name: 'Install dependencies' + run: pnpm install --frozen-lockfile + + - name: 'Typecheck' + run: pnpm typecheck - - name: 'Build' - run: | - pnpm build \ No newline at end of file + - name: 'Build' + run: pnpm build diff --git a/.gitignore b/.gitignore index 0595129c..07ba78de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,15 @@ # Dependencies /node_modules -# Production -/build +# Production (static export) +/out # Generated files -.docusaurus -.cache-loader +/.next +/.source +next-env.d.ts +*.tsbuildinfo +.netlify # Misc .DS_Store @@ -22,3 +25,6 @@ yarn-error.log* /.idea package-lock.json + +# design skill working files +.taste-skill diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..af3b7c84 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,9 @@ + + +## This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices. + +This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean. + + diff --git a/README.md b/README.md index 7e7f89fb..5da068e5 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,97 @@ # Pelican Docs -Pelican docs are created with [Docusaurus](https://docusaurus.io). -## Building +The website and documentation at [pelican.dev](https://pelican.dev), built with +[Next.js](https://nextjs.org) and [Fumadocs](https://fumadocs.dev) and served by Netlify as a static site. -To test changes locally install the dependencies and run the server using pnpm. +## Running it locally -```shell -pnpm i -pnpm run start -``` \ No newline at end of file +You need Node.js 22 or newer and [pnpm](https://pnpm.io). + +```sh +pnpm install +pnpm dev # http://localhost:3000, reloads as you edit +pnpm build # the production site, written to out/ +``` + +## Where things are + +| Path | What it is | +| --- | --- | +| `content/docs/` | The documentation. One `.mdx` file per page; the URL follows the folder. | +| `content/docs/**/meta.json` | Sidebar order and section names for that folder. | +| `content/pages/` | Stand-alone pages: `/support` and `/faq`. | +| `app/(home)/page.tsx` | The homepage. | +| `public/` | Files served as they are, including the `update-panel.sh` and `migrate-*.sh` scripts. | +| `netlify.toml` | Build settings and redirects such as `/discord`. | + +## Writing a page + +Create `content/docs/
/.mdx` and add `` to that folder's `meta.json` +so it shows up in the sidebar. + +```mdx +--- +title: Installing Wings +description: One sentence shown under the title and in search results. +--- + +Your content, in Markdown. +``` + +The title goes in the frontmatter, not as a `# Heading`. + +### Callouts + +```mdx +:::tip +Short tips work like this. +::: + + + Or like this, when you want a title. Types: note, info, tip, warning, danger. + +``` + +### Tabs + +```mdx + + … + … + … + +``` + +Tabs with the same `groupId` switch together on every page and remember the reader's choice. +Use `groupId="webserver"` with the values `nginx`, `apache` and `caddy`, and `groupId="ssl"` +with `https` and `http`, so they also follow the reader's setup (below). + +### Code blocks + +````mdx +```nginx title="/etc/nginx/sites-available/pelican.conf" {3,5} +```` + +`title` shows a file name above the block and `{3,5}` highlights lines 3 and 5. + +### Filling in the reader's setup + +Put a setup box on a page: + +```mdx + +``` + +Then add `setup` to any code block that should use the reader's values: + +````mdx +```nginx setup title="/etc/nginx/sites-available/pelican.conf" +server_name ; +root /var/www/pelican/public; +fastcgi_pass unix:/run/php/php8.5-fpm.sock; +``` +```` + +In blocks marked `setup`, ``, `/var/www/pelican` and the version in `php8.5` are replaced +with what the reader entered. Their choices are saved in their browser, so other pages pick them up too. +Blocks without `setup` are never changed. diff --git a/app/(landing)/[slug]/page.tsx b/app/(landing)/[slug]/page.tsx new file mode 100644 index 00000000..02b784d5 --- /dev/null +++ b/app/(landing)/[slug]/page.tsx @@ -0,0 +1,62 @@ +import { notFound } from 'next/navigation'; +import type { Metadata } from 'next'; +import { pagesSource } from '@/lib/source'; +import { getMDXComponents } from '@/mdx-components'; +import { SiteHeader } from '@/components/home/site-header'; +import { SiteFooterNav } from '@/components/home/sections'; + +export const dynamicParams = false; + +// Short lines under each page's title, in the same voice as the homepage. +const LEDES: Record = { + faq: 'Straight answers about Pelican, Wings, licensing and plugins.', +}; + +/** + * Stand-alone MDX pages from content/pages (today only /faq) in the homepage's design. + * /support is its own route (app/(landing)/support/page.tsx), not MDX. + */ +export default async function Page(props: PageProps<'/[slug]'>) { + const { slug } = await props.params; + const page = pagesSource.getPage([slug]); + if (!page) notFound(); + + const MDX = page.data.body; + + return ( + <> + +
+
+
+

+ {page.data.title} +

+ {(page.data.description ?? LEDES[slug]) && ( +

{page.data.description ?? LEDES[slug]}

+ )} +
+
+
+
+
+ +
+
+
+
+ + + ); +} + +export function generateStaticParams() { + return pagesSource.getPages().map((page) => ({ slug: page.slugs[0] })); +} + +export async function generateMetadata(props: PageProps<'/[slug]'>): Promise { + const { slug } = await props.params; + const page = pagesSource.getPage([slug]); + if (!page) notFound(); + return { title: page.data.title, description: page.data.description ?? LEDES[slug] }; +} diff --git a/app/(landing)/eggs/page.tsx b/app/(landing)/eggs/page.tsx new file mode 100644 index 00000000..c0fdb37a --- /dev/null +++ b/app/(landing)/eggs/page.tsx @@ -0,0 +1,75 @@ +import type { Metadata } from 'next'; +import { SiteHeader } from '@/components/home/site-header'; +import { SiteFooterNav } from '@/components/home/sections'; +import { EggIndexList, type IndexEgg, type IndexGame } from '@/components/home/egg-index'; +import { eggCount, eggIndex, gameCount } from '@/lib/eggs'; + +export const metadata: Metadata = { + title: 'Eggs: every game and app Pelican can run', + description: `${eggCount} eggs for Pelican, from Minecraft and Rust to Discord bots and databases. Copy an egg's URL and import it into your panel.`, +}; + +const dateFormat = new Intl.DateTimeFormat('en-GB', { day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC' }); +const updated = dateFormat.format(new Date(eggIndex.generatedAt)); +const hubUpdated = eggIndex.hubFetchedAt ? dateFormat.format(new Date(eggIndex.hubFetchedAt)) : null; + +// Only what the list shows, searches or filters on goes to the browser: no +// square icons (they're for the homepage), no egg icons, no empty fields. +const indexGames: IndexGame[] = eggIndex.games.map(({ slug, name, category, steamAppId, art, eggs }) => ({ + slug, + name, + category, + steamAppId, + art, + eggs: eggs.map((e) => { + const egg: IndexEgg = { name: e.name, description: e.description, url: e.url, image: e.image }; + if (e.imageNote) egg.imageNote = e.imageNote; + if (e.features.length) egg.features = e.features; + if (e.vars.length) egg.vars = e.vars.join(' '); + if (e.hubUrl) egg.hubUrl = e.hubUrl; + if (e.installs) egg.installs = e.installs; + if (e.updatedAt) egg.updatedAt = e.updatedAt.slice(0, 10); + return egg; + }), +})); + +export default function EggsPage() { + return ( + <> + +
+
+
+

+ Every egg, in one place. +

+

+ An egg tells Pelican how to install and start a game or app. Here are all {eggCount} community eggs for{' '} + {gameCount} games and plenty more besides. Copy an egg's URL and import it from your panel's Eggs + page. +

+
+
+
+
+ +

+ From the pelican-eggs index, which is rebuilt every day + from the pelican-eggs repositories. This copy is from {updated}. + {hubUpdated && ( + <> + {' '} + Install counts, update dates and Details pages come from{' '} + Pelican Hub, as of {hubUpdated}. + + )}{' '} + Game artwork comes from each game's Steam store page and belongs to its publisher; the Minecraft block is + our own drawing. +

+
+
+
+ + + ); +} diff --git a/app/(landing)/home.css b/app/(landing)/home.css new file mode 100644 index 00000000..bb2b2b39 --- /dev/null +++ b/app/(landing)/home.css @@ -0,0 +1,4085 @@ +/* ========================================================================= + * pelican.dev homepage — built from the V12 "B v3" board. + * + * Sky blue, navy and white; Bricolage Grotesque 800 for display and + * Instrument Sans for text; 3px navy borders and hard offset shadows that + * grow when you point at them. Sizes use container units (cqi) like the + * board did, so the page scales with its own width. + * ====================================================================== */ + +.pl { + --ink: #04121c; + --sky: #38bdf8; + --sky-deep: #0b79ad; + --white: #ffffff; + --paper: #f3f7f9; + --text: #1f3644; + --on-ink-soft: #b9ccd6; + --line-on-ink: #2e4756; + --line: 3px solid var(--ink); + --pad: clamp(16px, 4cqi, 64px); + --section: clamp(72px, 9cqi, 120px); + --font-display: var(--pl-font-display), 'Helvetica Neue', sans-serif; + --font-text: var(--pl-font-text), 'Helvetica Neue', system-ui, sans-serif; + --font-code: var(--font-jetbrains), ui-monospace, Menlo, monospace; + --btn-shadow: var(--ink); + + container: page / inline-size; + flex: 1; + display: flex; + flex-direction: column; + background: var(--sky); + color: var(--ink); + font-family: var(--font-text); + font-size: 17px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +.pl *, +.pl *::before, +.pl *::after { + box-sizing: border-box; +} + +.pl :where(h1, h2, h3, p, ul, ol, dl, dd, figure) { + margin: 0; +} + +.pl :where(ul, ol) { + list-style: none; + padding: 0; +} + +.pl :where(a) { + color: inherit; + text-underline-offset: 4px; + text-decoration-thickness: 2px; +} + +.pl :focus-visible { + outline: 3px solid var(--ink); + outline-offset: 4px; +} + +.pl .on-ink :focus-visible { + outline-color: var(--sky); +} + +.pl ::selection { + background: var(--ink); + color: var(--sky); +} + +.pl :where(h1, h2, h3) { + font-weight: 700; +} + +.pl .d { + font-family: var(--font-display); + font-weight: 800; + letter-spacing: -0.045em; +} + +.pl-wrap { + width: 100%; + max-width: 1312px; + margin: 0 auto; + padding: 0 var(--pad); +} + +.pl-kicker { + font-size: 14px; + font-weight: 700; + margin-bottom: 14px; +} + +.pl-h2 { + font-size: clamp(40px, 5.2cqi, 76px); + line-height: 0.92; + text-wrap: balance; +} + +.pl-sky { + color: var(--sky); +} + +.pl-fine { + margin-top: 24px; + font-size: 14px; + color: #33505f; +} + +.pl kbd { + font-family: var(--font-code); + font-size: 0.9em; + padding: 0 5px; + border: 2px solid currentColor; + background: rgba(255, 255, 255, 0.5); +} + +.pl-skip { + position: absolute; + left: 16px; + top: -100px; + z-index: 60; + padding: 10px 16px; + background: var(--ink); + color: var(--white); + font-weight: 700; +} + +.pl-skip:focus { + top: 12px; +} + +/* ---- Buttons: bordered, hard shadow, lift on hover ------------------------ */ +.pl-btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 10px; + min-height: 52px; + padding: 0 24px; + border: var(--line); + background: var(--white); + color: var(--ink); + font: 600 17px/1 var(--font-text); + text-decoration: none; + white-space: nowrap; + cursor: pointer; + box-shadow: 5px 5px 0 var(--btn-shadow); + transition: + transform 0.12s ease, + box-shadow 0.12s ease, + background-color 0.12s ease; +} + +.pl-btn:hover { + transform: translate(-2px, -2px); + box-shadow: 7px 7px 0 var(--btn-shadow); +} + +.pl-btn:active { + transform: translate(3px, 3px); + box-shadow: 2px 2px 0 var(--btn-shadow); +} + +.pl-btn--ink { + background: var(--ink); + color: var(--white); + --btn-shadow: var(--sky); +} + +.pl-hero .pl-btn--ink, +.pl-nav .pl-btn--ink, +.pl-final .pl-btn--ink, +.pl-activity .pl-btn--ink { + --btn-shadow: var(--white); +} + +.pl-btn--sky { + background: var(--sky); +} + +.pl-btn--on-ink { + border-color: var(--white); + --btn-shadow: var(--white); +} + +.pl-btn--small { + min-height: 44px; + padding: 0 16px; + font-size: 15px; +} + +.pl-btn--big { + min-height: 60px; + padding: 0 28px; + font-size: 19px; +} + +.pl-textlink { + font-weight: 600; + text-decoration: underline; + text-decoration-thickness: 2px; + text-underline-offset: 5px; +} + +.pl-textlink:hover { + text-decoration-color: var(--sky-deep); +} + +.pl-textlink--ink:hover { + text-decoration-color: var(--sky); +} + +/* generic card */ +.pl-card { + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); +} + +/* ---- Announcement + nav ---------------------------------------------------------- */ +.pl-announce { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 8px 14px; + padding: 11px var(--pad); + background: var(--ink); + color: var(--white); + font-size: 15px; + font-weight: 500; + text-align: center; +} + +.pl-announce__tag { + padding: 2px 8px; + background: var(--sky); + color: var(--ink); + font-weight: 700; + font-size: 14px; +} + +.pl-announce__link { + color: var(--sky) !important; + font-weight: 700; + text-decoration: none; +} + +.pl-announce__link:hover { + text-decoration: underline; +} + +.pl-nav { + display: flex; + align-items: center; + gap: 32px; + width: 100%; + max-width: 1312px; + margin: 0 auto; + padding: 22px var(--pad); + position: relative; + z-index: 40; +} + +.pl-nav__brand { + display: inline-flex; + align-items: center; + gap: 12px; + text-decoration: none; + font-size: 30px; + line-height: 1; +} + +.pl-nav__links { + display: flex; + gap: 32px; + margin: 0 auto; + font-size: 17px; + font-weight: 500; +} + +.pl-nav__links a { + text-decoration: none; +} + +.pl-nav__links a:hover { + text-decoration: underline; +} + +.pl-nav__actions { + display: flex; + align-items: center; + gap: 16px; + margin-left: auto; +} + +.pl-nav__links + .pl-nav__actions { + margin-left: 0; +} + +/* phone menu */ +.pl-menu { + display: none; + position: relative; +} + +.pl-menu summary { + list-style: none; + min-height: 44px; +} + +.pl-menu summary::-webkit-details-marker { + display: none; +} + +.pl-menu__sheet { + position: absolute; + right: 0; + top: calc(100% + 14px); + display: flex; + flex-direction: column; + gap: 4px; + width: min(280px, 80vw); + padding: 12px; + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); + font-size: 18px; + font-weight: 600; +} + +.pl-menu__sheet a:not(.pl-btn) { + padding: 10px 8px; + text-decoration: none; +} + +.pl-menu__sheet a:not(.pl-btn):hover { + background: var(--sky); +} + +.pl-menu__sheet .pl-btn { + margin-top: 8px; +} + +/* ---- Hero ---------------------------------------------------------------------------- */ +.pl-hero { + padding: clamp(24px, 4cqi, 56px) 0 clamp(64px, 8cqi, 112px); +} + +.pl-hero__grid { + display: grid; + grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); + align-items: center; + gap: clamp(32px, 5cqi, 72px); +} + +/* The headline is sized from its own column, not the page, so its three + lines never break, whatever the window width. */ +.pl-hero__copy { + container-type: inline-size; +} + +.pl-badge { + display: inline-flex; + align-items: center; + gap: 10px; + padding: 4px 12px 4px 4px; + border: var(--line); + background: var(--white); + font-size: 15px; + font-weight: 600; +} + +.pl-badge span { + padding: 2px 8px; + background: var(--ink); + color: var(--white); + font-size: 13px; + font-weight: 700; + letter-spacing: 0.04em; + text-transform: uppercase; +} + +.pl-hero__title { + margin-top: 22px; + /* "Your community." is the longest line: about 7.6em wide in Bricolage 800. */ + font-size: clamp(36px, 12.6cqi, 84px); + line-height: 0.92; +} + +.pl-line { + display: block; + overflow: hidden; + padding-bottom: 0.08em; + margin-bottom: -0.08em; +} + +.pl-line > span { + display: block; + white-space: nowrap; +} + +.pl-hero__lede { + margin-top: 26px; + max-width: 34ch; + font-size: clamp(18px, 1.6cqi, 22px); + line-height: 1.45; +} + +.pl-hero__actions { + display: flex; + flex-wrap: wrap; + gap: 18px; + margin-top: 32px; +} + +.pl-hero__migrate { + margin-top: 26px; + font-size: 15px; + font-weight: 600; +} + +.pl-hero__stage { + min-width: 0; +} + +.pl-window { + border: var(--line); + background: var(--white); + box-shadow: 14px 14px 0 var(--ink); +} + +.pl-window__bar { + display: flex; + align-items: center; + gap: 14px; + padding: 10px 14px; + border-bottom: var(--line); + font-size: 15px; + font-weight: 700; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.pl-window__dots { + display: inline-flex; + gap: 6px; + flex-shrink: 0; +} + +.pl-window__dots i { + width: 14px; + height: 14px; + border: var(--line); + border-radius: 50%; +} + +.pl-window__dots i:last-child { + background: var(--sky); +} + +.pl-hero__caption { + margin-top: 26px; + text-align: right; + font-size: 14px; + font-weight: 600; +} + +/* ---- The working console (inside the window) ------------------------------------------- */ +.pl-console { + --z950: #09090b; + --z900: #111114; + --z800: #1c1c21; + --z700: #2a2a31; + --z400: #a1a1aa; + --z500: #71717a; + padding: 18px; + background: var(--z900); + color: #fafafa; + font-size: 14px; + line-height: 1.4; +} + +.pl-console__top { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 12px; +} + +.pl-console__name { + font-weight: 700; + font-size: 20px; +} + +.pl-console__meta { + margin-top: 2px; + color: var(--z400); + font-size: 13px; + font-family: var(--font-code); +} + +.pl-console__status { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 3px 10px; + border-radius: 99px; + font-size: 13px; + font-weight: 600; + color: #4ade80; + background: rgba(34, 197, 94, 0.14); +} + +.pl-console__status span { + width: 7px; + height: 7px; + border-radius: 50%; + background: currentColor; +} + +.pl-console[data-status='running'] .pl-console__status span { + animation: pl-pulse 2s ease-in-out infinite; +} + +.pl-console[data-status='offline'] .pl-console__status { + color: var(--z400); + background: var(--z800); +} + +.pl-console[data-status='starting'] .pl-console__status, +.pl-console[data-status='stopping'] .pl-console__status { + color: #fbbf24; + background: rgba(245, 158, 11, 0.14); +} + +.pl-console__actions { + display: flex; + gap: 8px; + margin: 16px 0 12px; +} + +.pl-console__actions button, +.pl-console__input button { + font: inherit; + font-size: 13px; + font-weight: 600; + padding: 8px 14px; + border-radius: 7px; + border: 1px solid var(--z700); + background: var(--z800); + color: #fafafa; + cursor: pointer; + transition: + transform 0.12s ease, + background-color 0.12s ease; +} + +.pl-console__actions button:hover:not(:disabled) { + background: var(--z700); +} + +.pl-console__actions button:active:not(:disabled) { + transform: scale(0.95); +} + +.pl-console__actions .is-danger { + margin-left: auto; + background: #e11d48; + border-color: #e11d48; +} + +.pl-console__actions .is-danger:hover:not(:disabled) { + background: #f43f5e; +} + +.pl-console button:disabled { + opacity: 0.4; + cursor: not-allowed; +} + +.pl-console__stats { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 8px; +} + +.pl-console__stats > div { + padding: 10px 12px; + border-radius: 9px; + background: var(--z800); +} + +.pl-console__stats dt { + font-size: 13px; + color: var(--z400); +} + +.pl-console__stats dd { + font-weight: 700; + font-size: 16px; + font-variant-numeric: tabular-nums; +} + +.pl-console__stats dd span { + color: var(--z400); + font-weight: 400; + font-size: 13px; +} + +.pl-console__stats meter { + display: block; + width: 100%; + height: 4px; + margin-top: 8px; + appearance: none; + border: 0; + border-radius: 2px; + background: var(--z700); +} + +.pl-console__stats meter::-webkit-meter-bar { + background: var(--z700); + border: 0; + border-radius: 2px; +} + +.pl-console__stats meter::-webkit-meter-optimum-value { + background: #3b82f6; + border-radius: 2px; +} + +.pl-console__stats meter::-moz-meter-bar { + background: #3b82f6; +} + +.pl-console__log { + height: 236px; + margin-top: 10px; + padding: 12px 14px; + overflow-y: auto; + border-radius: 9px 9px 0 0; + background: var(--z950); + font-family: var(--font-code); + font-size: 13px; + line-height: 1.65; + overscroll-behavior: contain; + scrollbar-width: thin; + scrollbar-color: var(--z700) transparent; +} + +.pl-console__log p { + white-space: pre-wrap; + word-break: break-word; + animation: pl-pop 0.3s ease-out both; +} + +.pl-console__time { + color: var(--z400); +} +.pl-console__info { + color: #60a5fa; +} +.pl-console__warn { + color: #f59e0b; +} +.pl-console__log [data-tone='join'] { + color: #facc15; +} +.pl-console__log [data-tone='done'] { + color: #4ade80; +} +.pl-console__log [data-tone='warn'] { + color: #fb923c; +} +.pl-console__log [data-tone='echo'] { + color: var(--z400); +} +.pl-console__log [data-tone='system'] { + color: #93c5fd; +} + +.pl-console__input { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 8px 8px 14px; + border-top: 1px solid var(--z800); + border-radius: 0 0 9px 9px; + background: var(--z950); + font-family: var(--font-code); + font-size: 13px; +} + +.pl-console__input > span { + color: var(--sky); +} + +.pl-console__input input { + flex: 1; + min-width: 0; + font: inherit; + color: #fafafa; + background: transparent; + border: 0; + outline: none; +} + +.pl-console__input input::placeholder { + color: var(--z400); +} + +.pl-console__input button { + padding: 5px 11px; + background: #2563eb; + border-color: #2563eb; +} + +/* ---- Games strip (navy): popular games as square tiles, their real eggs below ---------- */ +.pl-games { + --tile: #0a1f2e; + background: var(--ink); + color: var(--white); + border-top: var(--line); +} + +.pl-games__inner { + max-width: 1312px; + margin: 0 auto; + padding: clamp(36px, 4cqi, 56px) var(--pad) clamp(40px, 4.5cqi, 64px); +} + +.pl-games__head { + display: flex; + flex-wrap: wrap; + align-items: flex-end; + justify-content: space-between; + gap: 22px 40px; +} + +.pl-games__kicker { + margin-bottom: 12px; + font-size: 14px; + font-weight: 700; + color: var(--sky); +} + +.pl-games__title { + max-width: 15ch; + font-size: clamp(32px, 3.6cqi, 50px); + line-height: 0.98; + text-wrap: balance; +} + +.pl-games__tools { + display: flex; + gap: 16px; + flex: 0 1 540px; + min-width: 0; +} + +.pl-games__search { + position: relative; + flex: 1 1 auto; + min-width: 0; +} + +.pl-games__search svg { + position: absolute; + left: 15px; + top: 50%; + translate: 0 -50%; + color: var(--on-ink-soft); + pointer-events: none; +} + +.pl-games__search input { + width: 100%; + height: 48px; + padding: 0 14px 0 44px; + border: 3px solid var(--line-on-ink); + border-radius: 0; + background: var(--tile); + color: var(--white); + font: 500 17px var(--font-text); + outline: none; + appearance: none; + transition: border-color 0.12s ease; +} + +.pl-games__search input::-webkit-calendar-picker-indicator { + display: none !important; +} + +.pl-games__search input::placeholder { + color: var(--on-ink-soft); + opacity: 0.85; +} + +.pl-games__search input:hover { + border-color: #4a6779; +} + +.pl-games__search input:focus-visible { + border-color: var(--sky); +} + +.pl-games__all { + flex: none; + min-height: 48px; + --btn-shadow: var(--white); +} + +/* Tiles: the game's own square icon, its name and how many eggs it has. */ +.pl-games__tiles { + display: grid; + grid-template-columns: repeat(6, minmax(0, 1fr)); + gap: 16px; + margin-top: clamp(26px, 3cqi, 40px); +} + +.pl-gtile { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 4px; + min-width: 0; + padding: 16px 16px 14px; + border: 3px solid var(--line-on-ink); + background: var(--tile); + color: var(--white); + font: inherit; + text-align: left; + cursor: pointer; + transition: + transform 0.12s ease, + box-shadow 0.12s ease, + border-color 0.12s ease, + background-color 0.12s ease; +} + +.pl-gtile .pl-gicon { + width: 48px; + height: 48px; + margin-bottom: 10px; +} + +.pl-gtile:hover { + border-color: #4a6779; + transform: translate(-2px, -2px); + box-shadow: 5px 5px 0 var(--line-on-ink); +} + +.pl-gtile:active { + transform: translate(2px, 2px); + box-shadow: 0 0 0 var(--line-on-ink); +} + +.pl-gtile[aria-selected='true'] { + border-color: var(--sky); + background: #0c2a3d; + transform: translate(-2px, -2px); + box-shadow: 7px 7px 0 var(--sky); +} + +.pl-gtile__name { + font-family: var(--font-display); + font-size: 21px; + font-weight: 800; + line-height: 1.05; + letter-spacing: -0.03em; + overflow-wrap: anywhere; + text-wrap: balance; +} + +.pl-gtile__count { + margin-top: auto; + padding-top: 4px; + font-size: 14px; + font-weight: 600; + color: var(--on-ink-soft); +} + +.pl-gtile[aria-selected='true'] .pl-gtile__count { + color: var(--sky); +} + +/* Square game icons; the letter block is the designed stand-in when a game has none. */ +.pl-gicon { + display: block; + flex-shrink: 0; + object-fit: contain; +} + +.pl-gicon--pixel { + image-rendering: pixelated; +} + +.pl-gicon--mark { + display: grid; + place-items: center; + border: 2px solid var(--white); + background: var(--sky); + color: var(--ink); + font-family: var(--font-display); + font-weight: 800; + line-height: 1; + letter-spacing: -0.04em; +} + +/* The chosen game's eggs */ +.pl-gpanel { + margin-top: 32px; +} + +.pl-gpanel__head { + display: flex; + flex-wrap: wrap; + align-items: baseline; + justify-content: space-between; + gap: 8px 24px; + padding-bottom: 14px; + border-bottom: 2px solid var(--line-on-ink); +} + +.pl-gpanel__meta { + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 4px 14px; + font-size: 16px; + color: var(--on-ink-soft); +} + +.pl-gpanel__meta strong { + font-family: var(--font-display); + font-size: 26px; + font-weight: 800; + letter-spacing: -0.03em; + color: var(--white); +} + +.pl-gpanel__all { + display: inline-flex; + align-items: center; + gap: 6px; + color: var(--sky) !important; + font-weight: 700; + text-decoration-color: transparent; + transition: text-decoration-color 0.12s ease; +} + +.pl-gpanel__all:hover { + text-decoration-color: currentColor; +} + +.pl-gpanel__eggs { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 16px; + margin-top: 18px; +} + +.pl-egg { + display: flex; + flex-direction: column; + gap: 10px; + min-width: 0; + padding: 18px 18px 14px; + border: 3px solid var(--line-on-ink); + background: var(--tile); + animation: pl-pop 0.35s ease-out both; +} + +.pl-egg:nth-child(2) { + animation-delay: 60ms; +} + +.pl-egg:nth-child(3) { + animation-delay: 120ms; +} + +.pl-egg__name { + font-size: 19px; + font-weight: 700; + line-height: 1.2; +} + +.pl-egg__desc { + font-size: 15px; + line-height: 1.45; + color: var(--on-ink-soft); + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.pl-egg__image { + display: flex; + align-items: baseline; + gap: 10px; + padding: 8px 12px; + border: 2px solid var(--line-on-ink); + background: var(--ink); +} + +.pl-egg__image > span { + flex: none; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--on-ink-soft); +} + +.pl-egg__image code { + font-family: var(--font-code); + font-size: 13px; + line-height: 1.45; + color: var(--sky); + overflow-wrap: anywhere; +} + +.pl-egg__image code span { + white-space: nowrap; +} + +.pl-egg__actions { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: 8px 12px; + margin-top: auto; +} + +.pl-egg__file { + display: inline-flex; + align-items: center; + gap: 5px; + min-height: 44px; + font-weight: 700; + text-decoration-color: var(--line-on-ink); +} + +.pl-egg__file:hover { + color: var(--sky); + text-decoration-color: currentColor; +} + +.pl-egg__copy { + display: inline-flex; + align-items: center; + gap: 7px; + min-height: 40px; + padding: 0 12px; + border: 2px solid var(--line-on-ink); + background: transparent; + color: var(--white); + font: 600 14px var(--font-text); + cursor: pointer; + transition: border-color 0.12s ease; +} + +.pl-egg__copy:hover { + border-color: var(--white); +} + +@container page (max-width: 960px) { + .pl-games__tiles { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .pl-gpanel__eggs { + grid-template-columns: minmax(0, 1fr); + } +} + +@container page (max-width: 700px) { + .pl-games__tools { + flex-basis: 100%; + gap: 12px; + } + .pl-games__tiles { + gap: 10px; + } + .pl-gtile { + padding: 12px 10px 10px; + } + .pl-gtile .pl-gicon { + width: 40px; + height: 40px; + margin-bottom: 10px; + } + .pl-gtile__name { + font-size: 16px; + } + .pl-gtile__count { + font-size: 13px; + } + .pl-gtile[aria-selected='true'] { + box-shadow: 5px 5px 0 var(--sky); + } + .pl-gpanel__meta strong { + font-size: 22px; + } +} + +/* ---- Section index -------------------------------------------------------------------------- */ +.pl-jump { + position: sticky; + top: 0; + z-index: 30; + background: var(--white); + border-top: var(--line); + border-bottom: var(--line); +} + +.pl-jump ol { + display: grid; + grid-template-columns: repeat(5, 1fr); +} + +.pl-jump li { + border-left: var(--line); +} + +.pl-jump li:last-child { + border-right: var(--line); +} + +.pl-jump a { + display: flex; + align-items: baseline; + gap: 10px; + padding: 16px 16px; + font-size: 18px; + font-weight: 600; + text-decoration: none; + transition: background-color 0.12s ease; +} + +.pl-jump a span { + font-size: 13px; + font-weight: 700; +} + +.pl-jump a:hover { + background: var(--sky); +} + +/* ---- 01 Why ---------------------------------------------------------------------------------- */ +.pl-why { + background: var(--paper); + padding: var(--section) 0; +} + +.pl-why__grid { + display: grid; + grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.5fr); + gap: clamp(32px, 5cqi, 80px); + align-items: start; +} + +.pl-why__title { + font-size: clamp(52px, 7cqi, 100px); + line-height: 0.86; +} + +.pl-why__lede { + margin-top: 26px; + font-size: 18px; + color: var(--text); + max-width: 36ch; +} + +.pl-why__links { + display: flex; + flex-wrap: wrap; + gap: 24px; + margin-top: 28px; + font-weight: 700; + font-size: 17px; +} + +.pl-idx li { + border-top: var(--line); +} + +.pl-idx li:last-child { + border-bottom: var(--line); +} + +.pl-idx__row { + display: grid; + grid-template-columns: 56px 44px minmax(0, 1fr) auto; + align-items: center; + gap: 8px 12px; + padding: 22px 14px; + text-decoration: none; + transition: background-color 0.12s ease; +} + +.pl-idx__row:hover { + background: var(--sky); +} + +.pl-idx__n { + font-size: 15px; + font-weight: 700; +} + +.pl-idx__title { + font-family: var(--font-display); + font-weight: 700; + font-size: clamp(20px, 2cqi, 28px); + letter-spacing: -0.02em; + line-height: 1.1; +} + +.pl-idx__ref { + font-size: 13px; + font-weight: 700; + text-align: right; + white-space: nowrap; +} + +/* ---- 02 Features ---------------------------------------------------------------------------- */ +.pl-features { + background: var(--white); + border-top: var(--line); + border-bottom: var(--line); + padding: var(--section) 0; +} + +.pl-features .pl-h2 { + max-width: 17ch; +} + +.pl-features__grid { + display: grid; + grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.75fr); + gap: clamp(28px, 4cqi, 56px); + margin-top: 48px; + align-items: start; +} + +.pl-features__tabs { + display: flex; + flex-direction: column; + gap: 14px; +} + +.pl-ftab { + display: flex; + flex-direction: column; + gap: 4px; + padding: 18px 20px; + border: var(--line); + background: var(--white); + color: var(--ink); + text-align: left; + font: inherit; + cursor: pointer; + transition: + transform 0.12s ease, + box-shadow 0.12s ease, + background-color 0.12s ease; +} + +.pl-ftab:hover { + transform: translate(-2px, -2px); + box-shadow: 5px 5px 0 var(--ink); +} + +.pl-ftab[aria-selected='true'] { + background: var(--ink); + color: var(--white); + box-shadow: 7px 7px 0 var(--sky); + transform: none; +} + +.pl-ftab__label { + font-family: var(--font-display); + font-weight: 700; + font-size: 24px; + letter-spacing: -0.02em; +} + +.pl-ftab__desc { + font-size: 15px; + line-height: 1.4; +} + +.pl-features__more { + display: grid; + grid-template-columns: repeat(3, max-content); + gap: 12px 40px; + margin-top: 36px; + font-weight: 600; +} + +.pl-features__more li::before { + content: ''; + display: inline-block; + width: 10px; + height: 10px; + margin-right: 10px; + background: var(--sky); + border: 2px solid var(--ink); +} + +/* the panel drawing */ +.pl-panel { + min-width: 0; + border: var(--line); + box-shadow: 12px 12px 0 var(--sky); + background: #09090b; + color: #e4e4e7; + font-size: 14px; + overflow: hidden; +} + +.pl-panel__top { + display: flex; + align-items: center; + gap: 10px; + padding: 12px 16px; + border-bottom: 1px solid #27272a; + color: #a1a1aa; +} + +.pl-panel__brand { + color: #fafafa; + font-weight: 700; +} + +.pl-panel__crumb { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.pl-panel__search { + display: inline-flex; + align-items: center; + gap: 8px; + margin-left: auto; + padding: 6px 10px; + border: 1px solid #27272a; + border-radius: 8px; + min-width: 160px; +} + +.pl-panel__search kbd { + margin-left: auto; + border: 0; + background: #27272a; + border-radius: 4px; + font-size: 11px; + color: #a1a1aa; +} + +.pl-panel__avatar { + display: grid; + place-items: center; + width: 28px; + height: 28px; + border-radius: 50%; + background: #3b82f6; + color: #fff; + font-weight: 700; +} + +.pl-panel__body { + display: grid; + grid-template-columns: 172px minmax(0, 1fr); + min-height: 430px; +} + +.pl-panel__side { + padding: 12px 10px; + border-right: 1px solid #27272a; +} + +.pl-panel__side li { + display: flex; + align-items: center; + gap: 10px; + padding: 7px 10px; + border-radius: 7px; + color: #a1a1aa; +} + +.pl-panel__side li.is-on { + background: #18181b; + color: #fafafa; + box-shadow: inset 2px 0 0 #3b82f6; +} + +.pl-panel__main { + padding: 18px; + animation: pl-pop 0.3s ease-out both; + min-width: 0; +} + +.pl-panel__head { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 12px; +} + +.pl-panel__title { + font-size: 20px; + font-weight: 700; + color: #fafafa; +} + +.pl-panel__running { + margin-left: 6px; + padding: 2px 8px; + border-radius: 99px; + background: rgba(34, 197, 94, 0.14); + color: #4ade80; + font-size: 12px; + font-weight: 600; + vertical-align: middle; +} + +.pl-panel__sub { + margin-top: 4px; + font-family: var(--font-code); + font-size: 12px; + color: #a1a1aa; +} + +.pl-panel__btns { + display: flex; + gap: 6px; +} + +.pl-panel__btns span { + padding: 7px 12px; + border-radius: 7px; + border: 1px solid #27272a; + background: #18181b; + color: #71717a; + font-weight: 600; + font-size: 13px; + white-space: nowrap; +} + +.pl-panel__btns .is-light { + background: #fafafa; + color: #09090b; +} +.pl-panel__btns .is-red { + background: #e11d48; + border-color: #e11d48; + color: #fff; +} +.pl-panel__btns .is-blue { + background: #2563eb; + border-color: #2563eb; + color: #fff; +} + +.pl-panel__stats { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 10px; + margin-top: 18px; +} + +.pl-panel__stats > div { + padding: 10px 12px; + border: 1px solid #27272a; + border-radius: 9px; + background: #18181b; +} + +.pl-panel__stats p:first-child { + color: #a1a1aa; + font-size: 12px; +} + +.pl-panel__stats strong { + color: #fafafa; +} + +.pl-panel__stats p { + font-size: 12px; + color: #71717a; +} + +.pl-panel__stats span { + display: block; + height: 4px; + margin-top: 8px; + border-radius: 2px; + background: #3b82f6; + box-shadow: 0 0 0 0 transparent; +} + +.pl-panel__stats span[data-full] { + background: #22c55e; +} + +.pl-panel__log { + margin-top: 14px; + padding: 14px; + border-radius: 9px; + background: #000; + font-family: var(--font-code); + font-size: 12.5px; + line-height: 1.75; + color: #e4e4e7; +} + +.pl-panel__log .y { + color: #facc15; +} +.pl-panel__log .o { + color: #fb923c; +} + +.pl-panel__path { + margin-top: 16px; + font-family: var(--font-code); + font-size: 12px; + color: #a1a1aa; +} + +.pl-panel__rows { + margin-top: 10px; + border: 1px solid #27272a; + border-radius: 9px; + overflow: hidden; +} + +.pl-panel__rows li { + display: grid; + grid-template-columns: 20px minmax(0, 1fr) auto; + align-items: center; + gap: 10px; + padding: 10px 14px; + border-top: 1px solid #27272a; + color: #e4e4e7; +} + +.pl-panel__rows li:first-child { + border-top: 0; +} + +.pl-panel__rows li.is-hover { + background: #18181b; +} + +.pl-panel__rows li > span:last-child { + color: #a1a1aa; + font-size: 13px; +} + +.pl-panel__rows--wide li { + grid-template-columns: 20px minmax(0, 1fr) auto auto; +} + +.pl-panel__rows em { + display: block; + font-style: normal; + font-size: 12px; + color: #71717a; +} + +.pl-panel__tag { + padding: 2px 8px; + border-radius: 99px; + background: #27272a; + color: #d4d4d8 !important; + font-size: 12px !important; +} + +.pl-panel__tag.is-on { + background: rgba(34, 197, 94, 0.14); + color: #4ade80 !important; +} + +/* one box or a fleet */ +.pl-fleet { + margin-top: clamp(64px, 8cqi, 104px); +} + +.pl-fleet__title { + font-size: clamp(28px, 3cqi, 40px); + line-height: 1; +} + +.pl-flow { + display: flex; + align-items: center; + gap: 18px; + margin-top: 24px; +} + +.pl-flow__box { + flex: 1 1 0; + display: flex; + align-items: center; + gap: 14px; + min-height: 84px; + padding: 16px 20px; + border: var(--line); + background: var(--white); +} + +.pl-flow__box strong { + display: block; + font-family: var(--font-display); + font-size: 24px; + letter-spacing: -0.02em; +} + +.pl-flow__box--sky { + background: var(--sky); +} + +.pl-flow__box--ink { + background: var(--ink); + color: var(--white); +} + +.pl-flow__grid { + display: grid; + grid-template-columns: repeat(3, 14px); + gap: 4px; +} + +.pl-flow__grid i { + width: 14px; + height: 14px; + background: var(--sky); +} + +.pl-flow__arrow { + flex-shrink: 0; +} + +.pl-machines { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 24px; + margin-top: 36px; +} + +.pl-machine { + overflow: hidden; + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-machine:hover { + transform: translate(-3px, -3px); + box-shadow: 11px 11px 0 var(--ink); +} + +.pl-machine img { + display: block; + width: 100%; + aspect-ratio: 4 / 3; + object-fit: cover; + border-bottom: var(--line); +} + +.pl-machine p { + display: flex; + flex-direction: column; + padding: 12px 14px; +} + +.pl-machine strong { + font-size: 17px; +} + +.pl-machine span { + font-size: 14px; + color: #33505f; +} + +/* ---- 03 Plugins ------------------------------------------------------------------------------ */ +.pl-plugins { + background: var(--paper); + padding: var(--section) 0; +} + +.pl-plugins__head { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: flex-end; + gap: 24px; +} + +.pl-plugins__lede { + margin-top: 18px; + max-width: 46ch; + font-size: 18px; + color: var(--text); +} + +.pl-plugins__actions { + display: flex; + align-items: center; + gap: 28px; +} + +.pl-plugins__cards { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 28px; + margin-top: 44px; +} + +.pl-pcard { + /* Anchors .pl-sticker, .pl-pcard__zoom and the name link's full-card ::after. + Without it they position against the page and end up at its top corner. */ + position: relative; + display: flex; + flex-direction: column; + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-pcard:hover { + transform: translate(-3px, -3px); + box-shadow: 11px 11px 0 var(--ink); +} + +.pl-sticker { + position: absolute; + top: 12px; + right: 12px; + z-index: 1; + padding: 3px 10px; + border: var(--line); + background: var(--white); + color: var(--ink); + font-size: 13px; + font-weight: 800; + letter-spacing: 0.04em; + text-transform: uppercase; + transform: rotate(-3deg); +} + +.pl-sticker--sky { + background: var(--sky); +} + +.pl-pcard__body { + padding: 20px 20px 22px; +} + +.pl-pcard__name { + font-family: var(--font-display); + font-size: 24px; + font-weight: 700; + letter-spacing: -0.02em; +} + +.pl-pcard__desc { + margin-top: 6px; + font-size: 16px; + color: var(--text); +} + +.pl-pcard__by { + margin-top: 12px; + font-size: 14px; + font-weight: 700; +} + + +/* ---- 04 Activity (sky) ----------------------------------------------------------------------- */ +.pl-activity { + background: var(--sky); + border-top: var(--line); + border-bottom: var(--line); + padding: var(--section) 0; +} + +.pl-activity__head { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: 24px; +} + +.pl-activity__title { + font-size: clamp(40px, 5cqi, 72px); + line-height: 0.88; +} + +.pl-stats { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 24px; + margin-top: 40px; + padding: 28px 0; + border-top: var(--line); + border-bottom: var(--line); +} + +.pl-stats dt { + font-size: clamp(48px, 5.4cqi, 76px); + line-height: 0.9; + font-variant-numeric: tabular-nums; +} + +.pl-stats dd { + margin-top: 6px; + font-size: 18px; + font-weight: 600; +} + +.pl-activity__grid { + display: grid; + grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); + gap: 32px; + margin-top: 44px; + align-items: start; +} + +.pl-log__head { + display: flex; + justify-content: space-between; + align-items: baseline; + padding: 18px 20px; + border-bottom: var(--line); +} + +.pl-log__head h3 { + font-family: var(--font-display); + font-size: 24px; + letter-spacing: -0.02em; +} + +.pl-log__head span { + font-size: 14px; + font-weight: 700; +} + +.pl-log__item + .pl-log__item { + border-top: 2px solid #d5e3ea; +} + +.pl-log__row { + display: grid; + grid-template-columns: 96px minmax(0, 1fr) 96px 34px; + align-items: center; + gap: 14px; + width: 100%; + padding: 16px 20px; + border: 0; + background: transparent; + color: var(--ink); + font: inherit; + text-align: left; + cursor: pointer; + transition: background-color 0.12s ease; +} + +.pl-log__row:hover, +.pl-log__item[data-open] .pl-log__row { + background: #e8f6fd; +} + +.pl-log__ver strong { + display: block; + font-size: 18px; +} + +.pl-log__ver em { + font-style: normal; + font-size: 13px; + color: #33505f; +} + +.pl-log__what { + font-weight: 500; +} + +.pl-log__bar { + display: block; + height: 10px; +} + +.pl-log__bar span { + display: block; + height: 100%; + margin-left: auto; + background: var(--ink); +} + +.pl-log__n { + font-weight: 700; + text-align: right; + font-variant-numeric: tabular-nums; +} + +.pl-log__changes { + padding: 4px 20px 16px; + background: #e8f6fd; +} + +.pl-log__changes li { + display: grid; + grid-template-columns: 64px minmax(0, 1fr) auto; + gap: 12px; + padding: 7px 0; + font-size: 15px; + animation: pl-pop 0.3s ease-out both; +} + +.pl-log__changes a { + font-weight: 700; +} + +.pl-log__changes em { + font-style: normal; + font-size: 13px; + color: #33505f; +} + +.pl-log__full { + display: block !important; + font-weight: 700; +} + +.pl-people { + padding: 24px; + background: var(--ink); + color: var(--white); + border: var(--line); + box-shadow: 8px 8px 0 var(--white); +} + +.pl-people__head { + display: flex; + justify-content: space-between; + align-items: baseline; + gap: 12px; +} + +.pl-people__head h3 { + font-family: var(--font-display); + font-size: 24px; + letter-spacing: -0.02em; +} + +.pl-people__head a { + color: var(--sky); + font-weight: 700; + font-size: 15px; +} + +.pl-people ul { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin: 20px 0; +} + +.pl-people li a { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 3px 9px 3px 3px; + border: 2px solid var(--line-on-ink); + font-size: 14px; + font-weight: 600; + text-decoration: none; + transition: border-color 0.12s ease; +} + +.pl-people li a:hover { + border-color: var(--sky); +} + +.pl-people img { + border-radius: 50%; + background: var(--line-on-ink); +} + +.pl-people > p { + font-size: 14px; + color: var(--on-ink-soft); +} + +/* ---- 05 Install ---------------------------------------------------------------------------- */ +.pl-install { + background: var(--paper); + padding: var(--section) 0; +} + +.pl-install__head { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + gap: 24px; +} + +.pl-steps { + display: grid; + grid-template-columns: repeat(4, 1fr); + margin-top: 40px; + border: var(--line); + background: var(--white); +} + +.pl-step { + display: flex; + flex-direction: column; + gap: 8px; + padding: 22px; +} + +.pl-step + .pl-step { + border-left: var(--line); +} + +.pl-step__n { + display: grid; + place-items: center; + width: 46px; + height: 46px; + margin-bottom: 8px; + border: var(--line); + background: var(--sky); + font-size: 20px; +} + +.pl-step h3 { + font-family: var(--font-display); + font-size: 22px; + letter-spacing: -0.02em; +} + +.pl-step p { + flex: 1; + font-size: 15px; + color: var(--text); +} + +.pl-step a { + font-size: 15px; + font-weight: 700; +} + +.pl-domain { + display: grid; + grid-template-columns: auto minmax(0, 1fr) auto; + align-items: center; + gap: 14px 20px; + margin-top: 32px; + padding: 22px 24px; + border: var(--line); + background: var(--sky); + box-shadow: 8px 8px 0 var(--ink); +} + +.pl-domain__label { + font-family: var(--font-display); + font-weight: 700; + font-size: 22px; + letter-spacing: -0.02em; +} + +.pl-domain__input { + min-width: 0; + min-height: 52px; + padding: 0 16px; + border: var(--line); + background: var(--white); + color: var(--ink); + font: 500 19px var(--font-code); + outline: none; +} + +.pl-domain__input:focus-visible { + box-shadow: 0 0 0 3px var(--white); +} + +.pl-domain__note { + grid-column: 1 / -1; + font-size: 14px; + font-weight: 500; +} + +.pl-migrate { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 12px 16px; + margin-top: 28px; + padding: 18px 22px; + border: var(--line); + background: var(--white); + font-size: 16px; +} + +.pl-migrate a { + margin-left: auto; + font-weight: 700; +} + +/* ---- Community (navy) ---------------------------------------------------------------------- */ +.pl-community { + background: var(--ink); + color: var(--white); + padding: var(--section) 0; +} + +.pl-community__grid { + display: grid; + grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); + gap: clamp(32px, 5cqi, 80px); + align-items: start; +} + +/* Sized from its own column so the two-part heading stays on three lines or fewer. */ +.pl-community__grid > div:first-child { + container-type: inline-size; +} + +.pl-community__grid > div:first-child .pl-h2 { + font-size: clamp(34px, 9.6cqi, 76px); +} + +.pl-community__lede { + margin-top: 26px; + max-width: 44ch; + font-size: 19px; + color: #d4e3ea; +} + +.pl-community__actions { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 24px; + margin-top: 32px; +} + +.pl-fund__label { + font-size: 15px; + font-weight: 700; +} + +.pl-fund__bar { + display: flex; + margin-top: 12px; + border: 3px solid var(--white); + min-height: 100px; +} + +.pl-fund__bar span { + display: flex; + flex-direction: column; + justify-content: space-between; + min-width: 72px; + padding: 10px 12px; + font-size: 14px; + font-weight: 600; +} + +.pl-fund__bar strong { + font-size: 30px; + line-height: 1; +} + +.pl-fund__bar .is-sky { + background: var(--sky); + color: var(--ink); +} +.pl-fund__bar .is-white { + background: var(--white); + color: var(--ink); +} +.pl-fund__bar .is-ink { + background: var(--ink); + border-left: 3px solid var(--white); +} + +.pl-fund__note { + margin-top: 10px; + font-size: 13px; + color: var(--on-ink-soft); +} + +.pl-fund__note a { + color: var(--sky); +} + +.pl-sponsors { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 16px 32px; + margin-top: 32px; + padding-top: 24px; + border-top: 2px solid var(--line-on-ink); +} + +.pl-sponsors p { + font-size: 14px; + color: var(--on-ink-soft); +} + +.pl-sponsors img { + display: block; + width: auto; + opacity: 0.92; + transition: opacity 0.12s ease; +} + +.pl-sponsors a:hover img { + opacity: 1; +} + +.pl-res { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; + margin-top: clamp(48px, 6cqi, 80px); +} + +.pl-res__card { + display: flex; + flex-direction: column; + gap: 10px; + height: 100%; + padding: 24px; + border: 3px solid var(--white); + text-decoration: none; + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-res__card svg { + color: var(--sky); +} + +.pl-res__card strong { + font-size: 26px; + line-height: 1.05; +} + +.pl-res__card span { + font-size: 15px; + color: var(--on-ink-soft); +} + +.pl-res__card:hover { + transform: translate(-3px, -3px); + box-shadow: 7px 7px 0 var(--sky); +} + +/* ---- Final call (sky) ---------------------------------------------------------------------- */ +.pl-final { + background: var(--sky); + padding: var(--section) 0; +} + +.pl-final__inner { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.pl-final__logo { + border-radius: 50%; + box-shadow: 5px 5px 0 var(--ink); +} + +.pl-final__title { + margin-top: 28px; + max-width: 14ch; + font-size: clamp(34px, 6.4cqi, 96px); + line-height: 0.9; + text-wrap: balance; +} + +.pl-final__actions { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 18px; + margin-top: 40px; +} + +/* ---- Footer ------------------------------------------------------------------------------------ */ +.pl-footer { + background: var(--ink); + color: var(--white); + border-top: var(--line); + padding: 64px 0 32px; +} + +.pl-footer__grid { + display: grid; + grid-template-columns: 1.5fr repeat(3, 1fr); + gap: 40px; +} + +.pl-footer__tag { + margin-top: 16px; + max-width: 30ch; + color: var(--on-ink-soft); + font-size: 15px; +} + +.pl-footer__social { + display: flex; + gap: 16px; + margin-top: 20px; + color: var(--on-ink-soft); +} + +.pl-footer__social a:hover { + color: var(--sky); +} + +.pl-footer__head { + font-weight: 700; + margin-bottom: 14px; +} + +.pl-footer ul { + display: flex; + flex-direction: column; + gap: 10px; + font-size: 15px; +} + +.pl-footer ul a { + color: var(--on-ink-soft); + text-decoration: none; +} + +.pl-footer ul a:hover { + color: var(--white); + text-decoration: underline; +} + +.pl-footer__legal { + margin-top: 48px; + padding-top: 20px; + border-top: 2px solid var(--line-on-ink); + font-size: 14px; + color: var(--on-ink-soft); +} + +.pl-credits { + margin-top: 10px; + font-size: 13px; + color: #8fa6b2; +} + +/* ========================================================================= + * Smaller containers + * ====================================================================== */ +@container page (max-width: 1100px) { + .pl-nav__links { + display: none; + } + .pl-menu { + display: block; + } + .pl-hero__grid, + .pl-why__grid, + .pl-features__grid, + .pl-activity__grid, + .pl-community__grid { + grid-template-columns: minmax(0, 1fr); + } + .pl-hero__lede { + max-width: 44ch; + } + .pl-features__tabs { + display: grid; + grid-template-columns: repeat(2, 1fr); + } + .pl-plugins__cards { + grid-template-columns: repeat(2, 1fr); + } + .pl-steps { + grid-template-columns: repeat(2, 1fr); + } + .pl-step:nth-child(3) { + border-left: 0; + } + .pl-step:nth-child(n + 3) { + border-top: var(--line); + } + .pl-res { + grid-template-columns: repeat(2, 1fr); + } + .pl-footer__grid { + grid-template-columns: repeat(2, 1fr); + } + .pl-jump ol { + display: flex; + overflow-x: auto; + scrollbar-width: none; + padding: 0; + } + .pl-jump li { + flex: 0 0 auto; + } + .pl-jump li:first-child { + border-left: 0; + } +} + +@container page (max-width: 700px) { + .pl-nav__cta { + display: none; + } + .pl-nav__brand { + font-size: 26px; + } + .pl-nav__brand img { + width: 38px; + height: 38px; + } + .pl-window { + box-shadow: 8px 8px 0 var(--ink); + } + .pl-window__bar { + font-size: 13px; + } + .pl-console { + padding: 14px; + } + .pl-console__log { + height: 200px; + } + .pl-hero__caption { + text-align: left; + } + .pl-idx__row { + grid-template-columns: 40px minmax(0, 1fr); + row-gap: 4px; + } + .pl-idx__ico { + display: none; + } + .pl-idx__ref { + grid-column: 2; + text-align: left; + } + .pl-features__tabs { + grid-template-columns: minmax(0, 1fr); + } + .pl-features__more { + grid-template-columns: repeat(2, max-content); + } + .pl-panel__side, + .pl-panel__crumb, + .pl-panel__search { + display: none; + } + .pl-panel__body { + grid-template-columns: minmax(0, 1fr); + min-height: 0; + } + .pl-panel__stats { + grid-template-columns: repeat(2, 1fr); + } + .pl-panel__head { + flex-direction: column; + } + .pl-flow { + flex-direction: column; + align-items: stretch; + } + .pl-flow__arrow { + margin: 0 auto; + transform: rotate(90deg); + } + .pl-machines { + grid-template-columns: repeat(2, 1fr); + gap: 16px; + } + .pl-plugins__cards { + grid-template-columns: minmax(0, 1fr); + } + .pl-card, + .pl-pcard { + box-shadow: 6px 6px 0 var(--ink); + } + .pl-stats { + grid-template-columns: repeat(2, 1fr); + } + .pl-log__row { + grid-template-columns: 76px minmax(0, 1fr) 34px; + } + .pl-log__bar { + display: none; + } + .pl-steps { + grid-template-columns: minmax(0, 1fr); + } + .pl-step + .pl-step { + border-left: 0; + border-top: var(--line); + } + .pl-domain { + grid-template-columns: minmax(0, 1fr); + } + .pl-migrate a { + margin-left: 0; + } + .pl-res { + grid-template-columns: minmax(0, 1fr); + } + .pl-fund__bar span { + min-width: 0; + padding: 8px; + } + .pl-fund__bar strong { + font-size: 22px; + } +} + +/* ========================================================================= + * Motion: the headline rises line by line; sections rise as they scroll in + * (CSS scroll-driven animations, no script); everything you can press moves. + * ====================================================================== */ +@keyframes pl-pop { + from { + opacity: 0; + transform: translateY(8px); + } +} + +@keyframes pl-line { + from { + transform: translateY(105%); + } +} + +@keyframes pl-rise { + from { + opacity: 0; + transform: translateY(32px); + } +} + +@keyframes pl-pulse { + 50% { + opacity: 0.35; + } +} + +@media (prefers-reduced-motion: no-preference) { + .pl-line > span { + animation: pl-line 0.9s cubic-bezier(0.22, 1, 0.36, 1) both; + animation-delay: calc(var(--i) * 110ms + 120ms); + } + + .pl-badge, + .pl-hero__lede, + .pl-hero__actions, + .pl-hero__migrate { + animation: pl-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; + animation-delay: 520ms; + } + + .pl-badge { + animation-delay: 0ms; + } + + .pl-hero__stage { + animation: pl-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) both; + animation-delay: 260ms; + } + + @supports (animation-timeline: view()) { + .pl-in { + animation: pl-rise linear both; + animation-timeline: view(); + animation-range: entry calc(var(--d, 0) * 4%) entry calc(55% + var(--d, 0) * 4%); + } + } +} + +@media (prefers-reduced-motion: reduce) { + .pl *, + .pl *::before, + .pl *::after { + animation: none !important; + transition: none !important; + } + .pl .pl-btn:hover, + .pl .pl-pcard:hover, + .pl .pl-machine:hover, + .pl .pl-res__card:hover, + .pl .pl-ftab:hover, + .pl .pl-gtile:hover, + .pl .pl-gtile:active, + .pl .pl-gtile[aria-selected='true'] { + transform: none; + } +} + +/* Phone details for the console and sponsors */ +.pl-sponsors img { + height: 30px; +} + +@container page (max-width: 700px) { + .pl-console__stats dd span { + display: none; + } + .pl-sponsors img { + height: 26px; + } +} + +/* ---- /eggs card artwork (Steam store art, a drawing or an egg's own icon, or a letter mark) ---- */ +.pl-art { + display: block; + flex-shrink: 0; + object-fit: cover; + background: var(--ink); +} + +.pl-art--card { + width: 100%; + height: 100%; +} + +.pl-art--icon { + object-fit: contain; + background: #0a1f2e; +} + +.pl-art--card.pl-art--icon { + padding: 14px; +} + +.pl-art--mark { + display: grid; + place-items: center; + color: var(--ink); + font-family: var(--font-display); + font-weight: 800; +} + +.pl-art--card.pl-art--mark { + font-size: 56px; + letter-spacing: -0.04em; +} + +/* ---- Plugin cards: official Hub screenshots as thumbnails --------------------------- + * The card is one link to the plugin's Hub page (the name's ::after covers the card); + * the corner button sits above it and opens the full-size screenshot in a . + * (The card's own position: relative is in the main .pl-pcard rule above.) + */ +.pl-pcard:has(.pl-pcard__name a:focus-visible) { + outline: 3px solid var(--sky-deep); + outline-offset: 4px; +} + +.pl-pcard__thumb { + position: relative; + border-bottom: var(--line); + background: var(--ink); +} + +.pl-pcard__bar { + display: flex; + align-items: center; + gap: 6px; + height: 32px; + padding: 0 12px; + color: var(--on-ink-soft); + font: 600 12px/1 var(--font-code); + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.pl-pcard__bar i { + width: 9px; + height: 9px; + background: var(--sky); +} + +.pl-pcard__bar i:nth-child(2) { + background: var(--white); +} + +.pl-pcard__bar i:nth-child(3) { + background: var(--line-on-ink); +} + +.pl-pcard__bar span { + margin-left: 8px; +} + +.pl-pcard__frame { + aspect-ratio: 16 / 10; + overflow: hidden; + background: #09090b; +} + +.pl-pcard__frame img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} + +.pl-pcard:hover .pl-pcard__frame img { + transform: scale(1.03); +} + +.pl-pcard__thumb .pl-sticker { + top: 14px; +} + +.pl-pcard__zoom { + position: absolute; + right: 12px; + bottom: 12px; + z-index: 2; + display: grid; + place-items: center; + width: 44px; + height: 44px; + border: var(--line); + background: var(--white); + color: var(--ink); + box-shadow: 3px 3px 0 var(--sky); + cursor: zoom-in; + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-pcard__zoom:hover { + transform: translate(-2px, -2px); + box-shadow: 5px 5px 0 var(--sky); +} + +.pl-pcard__zoom:focus-visible { + outline: 3px solid var(--sky); + outline-offset: 3px; +} + +.pl-pcard__name a { + color: inherit; + text-decoration: none; +} + +.pl-pcard__name a::after { + content: ''; + position: absolute; + inset: 0; + z-index: 1; +} + +.pl-pcard__name a:focus-visible { + outline: none; +} + +.pl-pcard:hover .pl-pcard__name a { + text-decoration: underline; + text-decoration-color: var(--sky); + text-decoration-thickness: 3px; + text-underline-offset: 4px; +} + +/* Full-size screenshot */ +html:has(.pl-pcard__dialog[open]) { + overflow: hidden; +} + +.pl-pcard__dialog { + width: min(1280px, calc(100vw - 32px)); + max-width: none; + max-height: calc(100dvh - 32px); + margin: auto; + padding: 0; + border: var(--line); + background: var(--white); + color: var(--ink); + box-shadow: 10px 10px 0 var(--sky); + overflow: auto; +} + +.pl-pcard__dialog::backdrop { + background: rgba(4, 18, 28, 0.85); +} + +.pl-pcard__dialog figure { + margin: 0; +} + +.pl-pcard__dialog-bar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + padding: 8px 8px 8px 20px; + background: var(--ink); + color: var(--white); +} + +.pl-pcard__dialog-bar p { + font-size: 22px; + line-height: 1.1; +} + +.pl-pcard__dialog-close { + display: grid; + place-items: center; + flex: none; + width: 44px; + height: 44px; + border: 3px solid var(--white); + background: var(--sky); + color: var(--ink); + cursor: pointer; +} + +.pl-pcard__dialog-close:focus-visible { + outline: 3px solid var(--white); + outline-offset: 3px; +} + +.pl-pcard__dialog img { + display: block; + width: 100%; + height: auto; + max-height: calc(100dvh - 170px); + object-fit: contain; + background: #09090b; +} + +.pl-pcard__dialog figcaption { + padding: 14px 20px 16px; + border-top: var(--line); + font-size: 15px; + color: var(--text); +} + +.pl-pcard__dialog figcaption a { + color: var(--ink); + font-weight: 700; + text-decoration-thickness: 2px; + text-underline-offset: 3px; +} + +/* ---- /eggs: the full egg index ---------------------------------------------------- */ +.pl-ei__hero { + padding: clamp(40px, 6cqi, 88px) 0 clamp(48px, 6cqi, 88px); +} + +.pl-ei__title { + font-size: clamp(52px, 7.2cqi, 108px); + line-height: 0.9; + max-width: 12ch; +} + +.pl-ei__lede { + margin-top: 24px; + max-width: 56ch; + font-size: clamp(18px, 1.6cqi, 21px); +} + +.pl-ei__list { + background: var(--paper); + border-top: var(--line); + padding: clamp(40px, 5cqi, 72px) 0 var(--section); +} + +.pl-ei__controls { + position: sticky; + top: 0; + z-index: 20; + display: flex; + flex-direction: column; + gap: 14px; + padding: 14px 0; + background: var(--paper); +} + +.pl-ei__search { + display: flex; + align-items: center; + gap: 14px; + min-height: 68px; + padding: 0 20px; + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); +} + +.pl-ei__search:focus-within { + box-shadow: 8px 8px 0 var(--sky); +} + +.pl-ei__search input { + flex: 1; + min-width: 0; + border: 0; + outline: none; + background: transparent; + color: var(--ink); + font: 500 clamp(18px, 1.8cqi, 22px) var(--font-text); +} + +.pl-ei__filters { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.pl-ei__filter { + display: inline-flex; + align-items: center; + gap: 8px; + min-height: 40px; + padding: 0 12px; + border: 2px solid var(--ink); + background: var(--white); + color: var(--ink); + font: 600 15px var(--font-text); + cursor: pointer; + transition: + background-color 0.12s ease, + transform 0.12s ease; +} + +.pl-ei__filter:hover { + background: var(--sky); +} + +.pl-ei__filter:active { + transform: scale(0.97); +} + +.pl-ei__filter span { + font-size: 13px; + font-weight: 700; + opacity: 0.7; +} + +.pl-ei__filter[aria-checked='true'], +.pl-ei__filter[aria-pressed='true'] { + background: var(--ink); + color: var(--white); +} + +/* Sort, and the "Filters (n)" button that only phones show. */ +.pl-ei__bar { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 10px 16px; + margin-top: 18px; +} + +.pl-ei__paneltoggle { + display: none; +} + +.pl-ei__sort { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px; +} + +.pl-ei__label { + font-size: 14px; + font-weight: 700; +} + +.pl-ei__sort .pl-ei__label { + margin-right: 4px; +} + +/* Runtime and panel-feature filters: choices in a group add up, groups narrow down. */ +.pl-ei__panel { + display: grid; + gap: 12px; + margin-top: 18px; + padding-top: 18px; + border-top: 2px solid #d5e3ea; +} + +.pl-ei__group { + min-width: 0; + margin: 0; + padding: 0; + border: 0; +} + +.pl-ei__group legend { + float: left; + width: 150px; + padding: 10px 0 0; +} + +.pl-ei__chips { + display: flex; + flex-wrap: wrap; + gap: 8px; + overflow: hidden; /* sits beside the floated legend */ +} + +.pl-ei__hint { + font-size: 14px; + color: #33505f; +} + +.pl-ei__clear { + display: inline-flex; + align-items: center; + min-height: 34px; + margin-left: 6px; + padding: 0 12px; + border: 2px solid var(--ink); + background: var(--sky); + color: var(--ink); + font: 700 14px var(--font-text); + cursor: pointer; + box-shadow: 3px 3px 0 var(--ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-ei__clear:hover { + transform: translate(-2px, -2px); + box-shadow: 5px 5px 0 var(--ink); +} + +.pl-ei__clear:active { + transform: translate(2px, 2px); + box-shadow: 1px 1px 0 var(--ink); +} + +.pl-ei__count { + margin: 22px 0 24px; + font-size: 15px; + font-weight: 700; +} + +.pl-ei__sortnote { + font-weight: 500; + color: #33505f; +} + +.pl-ei__grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); + gap: 28px; +} + +.pl-ei__card { + display: flex; + flex-direction: column; + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); + content-visibility: auto; + contain-intrinsic-size: auto 420px; + scroll-margin-top: 200px; +} + +.pl-ei__art { + aspect-ratio: 231 / 87; + border-bottom: var(--line); + background: var(--ink); + overflow: hidden; +} + +.pl-ei__body { + padding: 16px 18px 18px; +} + +.pl-ei__name { + font-family: var(--font-display); + font-size: 22px; + letter-spacing: -0.02em; + line-height: 1.1; +} + +.pl-ei__meta { + margin-top: 4px; + font-size: 14px; + color: #33505f; +} + +.pl-ei__meta a { + font-weight: 600; +} + +.pl-ei__eggs { + margin-top: 12px; +} + +.pl-ei__egg { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + align-items: center; + column-gap: 10px; + padding: 10px 0; + border-top: 2px solid #d5e3ea; +} + +.pl-ei__eggname { + min-width: 0; + font-weight: 700; + font-size: 15px; + line-height: 1.3; + text-decoration: none; + overflow-wrap: anywhere; +} + +/* Inline, so a wrapped name keeps the icon after its last word. */ +.pl-ei__eggname svg { + display: inline; + vertical-align: -1px; +} + +.pl-ei__actions { + display: flex; + gap: 6px; +} + +.pl-ei__desc, +.pl-ei__image, +.pl-ei__stats { + grid-column: 1 / -1; +} + +/* Visible, not a hover tooltip, so touch screens get it too. Details on Pelican Hub has the rest. */ +.pl-ei__desc { + display: -webkit-box; + margin-top: 5px; + overflow: hidden; + font-size: 14px; + line-height: 1.4; + color: var(--text); + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + line-clamp: 3; +} + +.pl-ei__stats { + margin-top: 2px; + font-size: 13px; + font-weight: 600; + color: #33505f; +} + +.pl-ei__eggname:hover { + text-decoration: underline; +} + +.pl-ei__image { + display: block; + min-width: 0; + margin-top: 5px; + font-family: var(--font-code); + font-size: 12.5px; + color: #33505f; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.pl-ei__copy { + display: inline-flex; + align-items: center; + gap: 5px; + text-decoration: none; + flex-shrink: 0; + min-height: 34px; + padding: 0 10px; + border: 2px solid var(--ink); + background: var(--white); + color: var(--ink); + font: 700 13px var(--font-text); + cursor: pointer; + transition: background-color 0.12s ease; +} + +.pl-ei__copy:hover { + background: var(--sky); +} + +.pl-ei__more summary { + margin-top: 8px; + font-size: 14px; + font-weight: 700; + cursor: pointer; +} + +.pl-ei__empty { + padding: 40px 0; + font-size: 18px; +} + +.pl-ei__empty .pl-ei__clear { + margin: 16px 0 0; +} + +.pl-ei__source { + margin-top: 48px; +} + +@container page (max-width: 700px) { + .pl-ei__controls { + position: static; + } + .pl-ei__filters { + flex-wrap: nowrap; + overflow-x: auto; + scrollbar-width: none; + } + .pl-ei__filter { + flex-shrink: 0; + } + .pl-ei__paneltoggle { + display: inline-flex; + } + .pl-ei__panel:not([data-open='true']) { + display: none; + } + .pl-ei__group legend { + float: none; + width: auto; + padding: 0 0 8px; + } + .pl-ei__chips { + overflow: visible; + } + .pl-ei__card { + box-shadow: 6px 6px 0 var(--ink); + } +} + +/* ---- Stand-alone pages (/faq, and the /support hero title) ---------------------------------- */ +.pl-page__hero { + padding: clamp(40px, 6cqi, 88px) 0 clamp(48px, 6cqi, 80px); +} + +.pl-page__title { + font-size: clamp(52px, 7cqi, 104px); + line-height: 0.9; + max-width: 14ch; +} + +.pl-page__lede { + margin-top: 22px; + max-width: 52ch; + font-size: clamp(18px, 1.6cqi, 21px); +} + +.pl-page__body { + background: var(--paper); + border-top: var(--line); + padding: clamp(40px, 5cqi, 72px) 0 var(--section); +} + +/* MDX content keeps the light palette even when the site theme is dark, + because these pages are always the bright B v3 design. */ +.pl-mdx { + --color-fd-background: #f3f7f9; + --color-fd-foreground: #04121c; + --color-fd-muted: #e3edf2; + --color-fd-muted-foreground: #3c5866; + --color-fd-card: #ffffff; + --color-fd-card-foreground: #04121c; + --color-fd-border: rgba(4, 18, 28, 0.16); + --color-fd-primary: #04121c; + --color-fd-primary-foreground: #ffffff; + --color-fd-secondary: #e3edf2; + --color-fd-secondary-foreground: #04121c; + --color-fd-accent: #c8ecfc; + --color-fd-accent-foreground: #04121c; + --color-fd-info: #0b79ad; + --color-fd-warning: #b45309; + --color-fd-error: #be123c; + --color-fd-success: #15803d; + --pl-edge: #04121c; + --pl-shadow: #04121c; + max-width: 900px; + color: var(--ink); + font-size: 17px; +} + +.pl-mdx :where(h2, h3) { + font-family: var(--font-display); + font-weight: 800; + letter-spacing: -0.03em; +} + +.pl-mdx > :where(h2):not(:first-child) { + margin-top: 2em; +} + +.pl-mdx table { + border: 3px solid var(--ink); + background: var(--white); + box-shadow: 6px 6px 0 var(--ink); +} + +.pl-mdx th { + background: var(--sky); + color: var(--ink); +} + +.pl-mdx details { + margin: 10px 0; + padding: 14px 18px; + border: 2px solid var(--ink); + background: var(--white); +} + +.pl-mdx details[open] { + box-shadow: 5px 5px 0 var(--sky); +} + +.pl-mdx summary { + font-weight: 700; + cursor: pointer; +} + +.pl-mdx [role='tablist'] { + background: var(--white); +} + +/* ---- 404 ------------------------------------------------------------------------------------ */ +.pl-404 { + padding: clamp(48px, 8cqi, 120px) 0 var(--section); +} + +.pl-404__code { + font-size: clamp(120px, 22cqi, 300px); + line-height: 0.8; + -webkit-text-stroke: 3px var(--ink); + color: transparent; +} + +.pl-404__title { + margin-top: 16px; + font-size: clamp(40px, 5.2cqi, 76px); + line-height: 0.92; +} + +.pl-404__lede { + margin-top: 20px; + max-width: 46ch; + font-size: 19px; +} + +.pl-404__actions { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 18px 24px; + margin-top: 32px; +} + +.pl-mdx [data-orientation='horizontal'].border { + border: 2px solid var(--ink); + border-radius: 0; + box-shadow: 5px 5px 0 var(--ink); +} + +/* Smallest phones: logo, stars and Menu don't fit on one line; GitHub stays in the menu and footer. */ +@container page (max-width: 380px) { + .pl-nav__actions > a[href*='github.com'] { + display: none; + } +} + +/* ---- /support (app/(landing)/support/page.tsx) ---------------------------------------------- */ +.pl-sup-hero { + padding: clamp(40px, 6cqi, 88px) 0 clamp(48px, 6cqi, 88px); +} + +.pl-sup-hero__grid { + display: grid; + gap: 40px; + align-items: center; +} + +.pl-sup-ways__title { + padding: 14px 22px; + background: var(--ink); + color: var(--white); + font-size: 15px; + font-weight: 700; +} + +.pl-sup-ways li + li { + border-top: var(--line); +} + +.pl-sup-ways a { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + column-gap: 16px; + row-gap: 4px; + padding: 18px 22px; + text-decoration: none; + transition: background-color 0.12s ease; +} + +.pl-sup-ways a:hover { + background: var(--paper); +} + +.pl-sup-ways strong { + font-size: 26px; + line-height: 1; +} + +.pl-sup-ways span { + font-size: 15px; + color: var(--text); +} + +.pl-sup-ways svg { + grid-column: 2; + grid-row: 1 / span 2; + align-self: center; + transition: transform 0.12s ease; +} + +.pl-sup-ways a:hover svg { + transform: translateX(4px); +} + +/* Section shells */ +.pl-sup-plans, +.pl-sup-help { + background: var(--paper); + border-top: var(--line); + padding: var(--section) 0; +} + +.pl-sup-faq { + background: var(--white); + border-top: var(--line); + padding: var(--section) 0; +} + +.pl-sup-head { + max-width: 760px; +} + +.pl-sup-head__lede { + margin-top: 22px; + max-width: 52ch; + font-size: 19px; + color: var(--text); +} + +.pl-sup-head__lede a, +.pl-sup-once a:not(.pl-btn), +.pl-sup-faq__list a { + font-weight: 600; +} + +.pl-sup-sub { + font-size: clamp(28px, 2.8cqi, 40px); + line-height: 1; +} + +/* Plan cards */ +.pl-sup-plans__grid { + display: grid; + gap: 28px; + margin-top: clamp(40px, 5cqi, 64px); +} + +.pl-sup-plan { + display: flex; + flex-direction: column; + padding: clamp(22px, 2.2cqi, 32px); + border: var(--line); + background: var(--white); + box-shadow: 8px 8px 0 var(--ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-sup-plan:hover { + transform: translate(-3px, -3px); + box-shadow: 11px 11px 0 var(--ink); +} + +.pl-sup-plan__name { + font-size: clamp(36px, 3.4cqi, 48px); + line-height: 0.95; +} + +.pl-sup-plan__for { + margin-top: 10px; + font-size: 16px; + color: var(--text); +} + +.pl-sup-plan__price { + display: flex; + align-items: baseline; + flex-wrap: wrap; + gap: 4px 10px; + margin-top: 22px; +} + +.pl-sup-plan__amount { + font-size: clamp(52px, 5cqi, 72px); + line-height: 1; +} + +.pl-sup-plan__per { + font-size: 17px; + font-weight: 600; +} + +.pl-sup-plan__cta { + margin-top: 22px; + width: 100%; +} + +.pl-sup-plan__perks { + margin-top: 26px; + padding-top: 20px; + border-top: var(--line); +} + +.pl-sup-plan__group { + margin-bottom: 8px; + font-size: 13px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #33505f; +} + +.pl-sup-plan__group--adds { + display: inline-block; + margin-top: 18px; + padding: 3px 8px; + border: 2px solid var(--ink); + background: var(--sky); + color: var(--ink); +} + +.pl-sup-plan__group:first-child { + margin-top: 0; +} + +.pl-sup-plan__perks li { + display: grid; + grid-template-columns: 24px minmax(0, 1fr); + gap: 10px; + padding: 6px 0; + font-size: 16px; + font-weight: 600; + line-height: 1.35; +} + +.pl-sup-plan__perks small { + display: block; + margin-top: 2px; + font-size: 14px; + font-weight: 400; + color: var(--text); +} + +.pl-sup-plan__mark { + width: 22px; + height: 22px; + margin-top: -1px; + padding: 1px; + color: var(--sky-deep); +} + +.pl-sup-plan__perks .is-new .pl-sup-plan__mark { + border: 2px solid var(--ink); + background: var(--sky); + color: var(--ink); +} + +.pl-sup-plans__note { + margin-top: 32px; + max-width: 70ch; + font-size: 15px; + color: #33505f; +} + +/* How signing up works */ +.pl-sup-steps { + margin-top: clamp(56px, 6cqi, 88px); +} + +.pl-sup-steps ol { + display: grid; + margin-top: 20px; + border: var(--line); + background: var(--white); +} + +.pl-sup-steps li { + padding: 24px; +} + +.pl-sup-steps li + li { + border-top: var(--line); +} + +.pl-sup-steps__n { + display: inline-flex; + align-items: center; + justify-content: center; + width: 44px; + height: 44px; + border: var(--line); + background: var(--sky); + font-size: 24px; + line-height: 1; +} + +.pl-sup-steps strong { + display: block; + margin-top: 14px; + font-size: 19px; +} + +.pl-sup-steps p { + margin-top: 6px; + font-size: 16px; + color: var(--text); +} + +/* Compare table */ +.pl-sup-compare { + margin-top: clamp(56px, 6cqi, 88px); +} + +.pl-sup-compare__scroll { + margin-top: 20px; + overflow-x: auto; + border: var(--line); + background: var(--white); + box-shadow: 6px 6px 0 var(--ink); +} + +.pl-sup-compare table { + width: 100%; + border-collapse: collapse; + font-size: 16px; +} + +.pl-sup-compare th, +.pl-sup-compare td { + padding: 12px 16px; + text-align: left; + vertical-align: top; + border-bottom: 2px solid rgba(4, 18, 28, 0.12); +} + +.pl-sup-compare tbody tr:last-child > * { + border-bottom: 0; +} + +.pl-sup-compare thead th { + background: var(--sky); + border-bottom: var(--line); + font-family: var(--font-display); + font-size: 19px; + font-weight: 800; + letter-spacing: -0.03em; +} + +.pl-sup-compare tbody th { + font-weight: 600; +} + +.pl-sup-compare td svg { + color: var(--sky-deep); +} + +.pl-sup-compare__no { + color: #7f99a6; +} + +/* Where the money goes (navy) */ +.pl-sup-money { + background: var(--ink); + color: var(--white); + padding: var(--section) 0; +} + +.pl-sup-money .pl-kicker { + color: var(--sky); +} + +.pl-sup-money__grid { + display: grid; + gap: 40px; + align-items: start; +} + +.pl-sup-money__lede { + margin-top: 22px; + max-width: 44ch; + font-size: 19px; + color: #d4e3ea; +} + +.pl-sup-money__list { + margin-top: 24px; +} + +.pl-sup-money__list > div { + padding: 14px 0; + border-top: 2px solid var(--line-on-ink); +} + +.pl-sup-money__list dt { + display: flex; + align-items: center; + gap: 10px; + font-size: 17px; + font-weight: 600; +} + +.pl-sup-money__list dt strong { + font-size: 24px; + line-height: 1; +} + +.pl-sup-money__swatch { + flex-shrink: 0; + width: 16px; + height: 16px; + border: 2px solid var(--white); +} + +.pl-sup-money__swatch.is-sky { + background: var(--sky); +} +.pl-sup-money__swatch.is-white { + background: var(--white); +} +.pl-sup-money__swatch.is-ink { + background: var(--ink); +} + +.pl-sup-money__list dd { + margin: 6px 0 0; + font-size: 15px; + color: var(--on-ink-soft); +} + +.pl-sup-money__list dd a { + color: var(--sky); + font-weight: 600; +} + +.pl-sup-thanks { + margin-top: clamp(56px, 6cqi, 88px); + padding-top: 40px; + border-top: 3px solid var(--white); +} + +.pl-sup-thanks .pl-sponsors { + margin-top: 24px; + padding-top: 0; + border-top: 0; +} + +.pl-sup-thanks__wall { + margin-top: 24px; + font-size: 17px; + color: #d4e3ea; +} + +/* Give once (sky) */ +.pl-sup-once { + background: var(--sky); + padding: var(--section) 0; +} + +.pl-sup-once__grid { + display: grid; + gap: 28px; + align-items: start; +} + +.pl-sup-once__body p { + max-width: 54ch; + font-size: 19px; +} + +.pl-sup-once__body .pl-sup-once__fine { + margin-top: 14px; + font-size: 15px; + color: #0b2a3b; +} + +.pl-sup-once .pl-btn { + margin-top: 28px; + --btn-shadow: var(--white); + white-space: normal; + text-align: center; +} + +/* Help without paying */ +.pl-sup-help__grid { + display: grid; + gap: 24px; + margin-top: clamp(40px, 5cqi, 64px); +} + +.pl-sup-help__card { + display: flex; + flex-direction: column; + gap: 12px; + padding: 26px; + border: var(--line); + background: var(--white); + box-shadow: 6px 6px 0 var(--ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.pl-sup-help__card:hover { + transform: translate(-3px, -3px); + box-shadow: 9px 9px 0 var(--ink); +} + +.pl-sup-help__icon { + width: 52px; + height: 52px; + padding: 10px; + border: var(--line); + background: var(--sky); +} + +.pl-sup-help__card h3 { + margin-top: 6px; + font-size: 26px; + line-height: 1.05; +} + +.pl-sup-help__card > p { + font-size: 16px; + color: var(--text); +} + +.pl-sup-help__links { + display: flex; + flex-direction: column; + gap: 6px; + margin-top: auto; + padding-top: 8px; +} + +.pl-sup-help__links a { + display: inline-flex; + align-items: center; + gap: 6px; + font-weight: 600; + text-decoration: underline; + text-decoration-thickness: 2px; + text-underline-offset: 5px; +} + +.pl-sup-help__links a:hover { + text-decoration-color: var(--sky-deep); +} + +.pl-sup-help__more { + margin-top: 36px; + font-size: 17px; + font-weight: 600; +} + +/* FAQ */ +.pl-sup-faq__grid { + display: grid; + gap: 32px; + align-items: start; +} + +.pl-sup-faq__list details { + border: var(--line); + background: var(--paper); +} + +.pl-sup-faq__list details + details { + margin-top: 12px; +} + +.pl-sup-faq__list details[open] { + background: var(--white); + box-shadow: 5px 5px 0 var(--sky); +} + +.pl-sup-faq__list summary { + display: flex; + justify-content: space-between; + gap: 16px; + padding: 16px 20px; + font-size: 18px; + font-weight: 700; + cursor: pointer; + list-style: none; +} + +.pl-sup-faq__list summary::-webkit-details-marker { + display: none; +} + +.pl-sup-faq__list summary::after { + content: '+'; + flex-shrink: 0; + font-family: var(--font-display); + font-size: 26px; + line-height: 0.9; +} + +.pl-sup-faq__list details[open] summary::after { + content: '–'; +} + +.pl-sup-faq__list p { + padding: 0 20px 18px; + font-size: 16px; + color: var(--text); +} + +/* Wider screens */ +@container page (min-width: 640px) { + .pl-sup-help__grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@container page (min-width: 760px) { + .pl-sup-steps ol { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .pl-sup-steps li + li { + border-top: 0; + border-left: var(--line); + } + .pl-sup-once__grid { + grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); + gap: 48px; + } +} + +@container page (min-width: 920px) { + .pl-sup-hero__grid { + grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); + gap: clamp(40px, 5cqi, 80px); + } + /* Cards side by side; subgrid lines up name, price, button and perks across all three. */ + .pl-sup-plans__grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + column-gap: clamp(20px, 2cqi, 32px); + row-gap: 0; + } + .pl-sup-plan { + display: grid; + grid-row: span 5; + grid-template-rows: subgrid; + align-content: start; + } + .pl-sup-money__grid { + grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); + gap: clamp(40px, 5cqi, 80px); + } + .pl-sup-faq__grid { + grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); + gap: clamp(40px, 5cqi, 80px); + } +} + +@container page (min-width: 1040px) { + .pl-sup-help__grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } +} + +/* Phones */ +@container page (max-width: 560px) { + /* Each row: its label on one line, the three plans' values in columns under it. */ + .pl-sup-compare table, + .pl-sup-compare thead, + .pl-sup-compare tbody { + display: block; + font-size: 15px; + } + .pl-sup-compare tr { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + border-bottom: 2px solid rgba(4, 18, 28, 0.12); + } + .pl-sup-compare tbody tr:last-child { + border-bottom: 0; + } + .pl-sup-compare thead tr { + border-bottom: var(--line); + } + .pl-sup-compare thead th:first-child { + display: none; + } + .pl-sup-compare th, + .pl-sup-compare td { + padding: 4px 12px 12px; + border-bottom: 0; + } + .pl-sup-compare thead th { + padding: 12px; + font-size: 16px; + border-bottom: 0; + } + .pl-sup-compare tbody th { + grid-column: 1 / -1; + padding: 12px 12px 0; + font-size: 13px; + font-weight: 700; + letter-spacing: 0.04em; + text-transform: uppercase; + color: #33505f; + } + .pl-sup-head__lede, + .pl-sup-money__lede, + .pl-sup-once__body p { + font-size: 17px; + } + .pl-sup-ways strong { + font-size: 22px; + } +} + +@media (prefers-reduced-motion: reduce) { + .pl .pl-sup-plan:hover, + .pl .pl-sup-help__card:hover, + .pl .pl-sup-ways a:hover svg { + transform: none; + } +} diff --git a/app/(landing)/layout.tsx b/app/(landing)/layout.tsx new file mode 100644 index 00000000..c9d4ab0a --- /dev/null +++ b/app/(landing)/layout.tsx @@ -0,0 +1,6 @@ +import './home.css'; + +/** Homepage, /eggs, /support and /faq: the V12 "B v3" design (fonts load in the root layout). */ +export default function LandingLayout({ children }: LayoutProps<'/'>) { + return
{children}
; +} diff --git a/app/(landing)/page.tsx b/app/(landing)/page.tsx new file mode 100644 index 00000000..b4e25b08 --- /dev/null +++ b/app/(landing)/page.tsx @@ -0,0 +1,43 @@ +import type { Metadata } from 'next'; +import { SiteHeader } from '@/components/home/site-header'; +import { + ActivitySection, + CommunitySection, + FeaturesSection, + FinalSection, + GamesSection, + HeroSection, + InstallSection, + JumpNav, + PluginsSection, + SiteFooterNav, + WhySection, +} from '@/components/home/sections'; + +export const metadata: Metadata = { + title: { absolute: 'Pelican: your servers, your community, your control' }, + description: + 'Pelican is a free, self-hosted, open-source panel for running game servers. Each server lives in its own Docker container, and plugins extend the panel.', +}; + +// Section order follows the V12 "B v3" board. +export default function HomePage() { + return ( + <> + +
+ + + + + + + + + + +
+ + + ); +} diff --git a/app/(landing)/support/page.tsx b/app/(landing)/support/page.tsx new file mode 100644 index 00000000..430bbf67 --- /dev/null +++ b/app/(landing)/support/page.tsx @@ -0,0 +1,375 @@ +import type { Metadata } from 'next'; +import { ArrowRight, Bug, Check, Code, Egg, Heart, Languages, MessageCircle, Plug, Plus } from 'lucide-react'; +import { SiteHeader } from '@/components/home/site-header'; +import { SiteFooterNav } from '@/components/home/sections'; +import { compareRows, funding, helpWays, plans, signupSteps, supportFaq, supportLinks } from '@/lib/support'; + +export const metadata: Metadata = { + title: 'Support Pelican', + description: + 'Pelican is free and always will be. See what each monthly plan costs and gives, where the money goes, how to give once, and how to help without paying.', +}; + +const HELP_ICONS = [Code, Languages, Bug, Egg, Plug, MessageCircle]; + +/** /support: why to sponsor, the three plans, where the money goes and how to help without paying. */ +export default function SupportPage() { + return ( + <> + +
+ {/* ---- Hero ---- */} +
+
+
+

+ Support Pelican +

+

+ Pelican is free and always will be. It's built by volunteers, and sponsors pay the people who build + it, plus bug bounties and moderators. Here's what each plan costs, what it gives you, and how to help + without paying. +

+
+ +
+
+ + {/* ---- Plans ---- */} +
+
+
+

Monthly plans

+

+ Pick a plan. Cancel any time. +

+

+ Each plan is a monthly subscription on Pelican Hub. All three fund the same work; bigger plans add perks + and cover more people on Discord. +

+
+ +
    + {plans.map((plan) => ( +
  • +

    + {plan.name} +

    +

    {plan.forWho}

    +

    + ${plan.price}{' '} + per month +

    + + Choose {plan.name} + on Pelican Hub + + +
    + {plan.includes.length > 0 && ( + <> +

    {plan.addsOver ? `Same as ${plan.addsOver}` : 'Includes'}

    +
      + {plan.includes.map((b) => ( +
    • + + + {b.label} + {b.detail && {b.detail}} + +
    • + ))} +
    + + )} + {plan.adds.length > 0 && ( + <> +

    Adds over {plan.addsOver}

    +
      + {plan.adds.map((b) => ( +
    • + + + {b.label} + {b.detail && {b.detail}} + +
    • + ))} +
    + + )} +
    +
  • + ))} +
+

+ All three buttons open the Sponsor page on Pelican Hub, where you pick the same plan. Prices and perks as + listed there on 2 November 2026. +

+ +
+

How signing up works

+
    + {signupSteps.map((step, i) => ( +
  1. + + {i + 1} + + {step.title} +

    {step.body}

    +
  2. + ))} +
+
+ +
+

+ Compare the plans +

+
+ {/* Explicit roles keep it a table for screen readers when phones restyle the rows. */} + + + + + {plans.map((plan) => ( + + ))} + + + + {compareRows.map((row) => ( + + + {row.values.map((value, i) => ( + + ))} + + ))} + +
+ Perk + + {plan.name} +
+ {row.label} + + {value === 'No' ? ( + <> + + – + + No + + ) : value === 'Yes' ? ( + <> + + Yes + + ) : ( + value + )} +
+
+
+
+
+ + {/* ---- Where the money goes + sponsors (navy) ---- */} +
+
+
+
+

Where the money goes

+

+ Split three ways. +

+

+ Every plan and every one-time gift goes into the same pot, shared out like this. Using Pelican stays + free either way. +

+
+
+

Published funding plan

+
+ {funding.map((share) => ( + + {share.pct}% {share.label} + + ))} +
+
+ {funding.map((share) => ( +
+
+ + {share.pct}% {share.label} +
+
+ {share.body} + {share.label === 'Bug bounties' && ( + <> + {' '} + Bounty rules ·{' '} + Open bounties + + )} +
+
+ ))} +
+

This is the project's published plan, not audited spending.

+
+
+ + +
+
+ + {/* ---- One-time (sky) ---- */} +
+
+
+

One-time support

+

+ Give once. +

+
+
+

+ Prefer a one-off gift? Give any amount through GitHub Sponsors. You'll need a GitHub account, and + GitHub adds a Public Sponsor badge to your profile. +

+

+ Use GitHub Sponsors for one-time gifts only. GitHub's page notes that monthly sponsoring there + doesn't include the plan perks; for those, choose a plan. +

+ + Give once on GitHub + +
+
+
+ + {/* ---- Help without paying ---- */} +
+
+
+

No money needed

+

+ Help without paying. +

+

+ Pelican is built and maintained by volunteers, so your time helps as much as money. Pick whatever suits + you. +

+
+
    + {helpWays.map((way, i) => { + const Icon = HELP_ICONS[i]; + return ( +
  • + +

    {way.title}

    +

    {way.body}

    + +
  • + ); + })} +
+

+ Or just tell other server owners about Pelican. That helps too. +

+
+
+ + {/* ---- FAQ ---- */} +
+
+
+

Questions

+

+ Sponsoring, answered. +

+

+ Something else? Ask on Discord or open a{' '} + ticket on Pelican Hub. +

+
+
+ {supportFaq.map((item) => ( +
+ {item.q} +

+ {item.a} + {item.link && ( + <> + {' '} + {item.link.label} + + )} +

+
+ ))} +
+
+
+
+ + + ); +} diff --git a/app/api/search/route.ts b/app/api/search/route.ts new file mode 100644 index 00000000..c1d933fb --- /dev/null +++ b/app/api/search/route.ts @@ -0,0 +1,7 @@ +import { createFromSource } from 'fumadocs-core/search/server'; +import { source } from '@/lib/source'; + +// Built once at build time into a static file; the search box downloads it +// and searches in the browser, so the site needs no server. +export const revalidate = false; +export const { staticGET: GET } = createFromSource(source, { language: 'english' }); diff --git a/app/docs/[[...slug]]/page.tsx b/app/docs/[[...slug]]/page.tsx new file mode 100644 index 00000000..8b904bc6 --- /dev/null +++ b/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,54 @@ +import { + DocsBody, + DocsDescription, + DocsPage, + DocsTitle, + EditOnGitHub, + PageLastUpdate, +} from 'fumadocs-ui/layouts/docs/page'; +import { createRelativeLink } from 'fumadocs-ui/mdx'; +import { notFound } from 'next/navigation'; +import type { Metadata } from 'next'; +import { githubEditUrl, source } from '@/lib/source'; +import { getMDXComponents } from '@/mdx-components'; + +export const dynamicParams = false; + +export default async function Page(props: PageProps<'/docs/[[...slug]]'>) { + const params = await props.params; + const page = source.getPage(params.slug); + if (!page) notFound(); + + const MDX = page.data.body; + + return ( + + {page.data.title} + {page.data.description} + + + +
+ + {page.data.lastModified && } +
+
+ ); +} + +export function generateStaticParams() { + return source.generateParams(); +} + +export async function generateMetadata(props: PageProps<'/docs/[[...slug]]'>): Promise { + const params = await props.params; + const page = source.getPage(params.slug); + if (!page) notFound(); + + return { title: page.data.title, description: page.data.description }; +} diff --git a/app/docs/layout.tsx b/app/docs/layout.tsx new file mode 100644 index 00000000..df141d4d --- /dev/null +++ b/app/docs/layout.tsx @@ -0,0 +1,15 @@ +import { DocsLayout } from 'fumadocs-ui/layouts/docs'; +import { docsOptions } from '@/lib/layout.shared'; +import { source } from '@/lib/source'; +import { DocsTopBar } from '@/components/docs/docs-top-bar'; + +export default function Layout({ children }: LayoutProps<'/docs'>) { + return ( +
+ + + {children} + +
+ ); +} diff --git a/app/global.css b/app/global.css new file mode 100644 index 00000000..c009557f --- /dev/null +++ b/app/global.css @@ -0,0 +1,562 @@ +@import 'tailwindcss'; +@import 'fumadocs-ui/css/neutral.css'; +@import 'fumadocs-ui/css/preset.css'; + +/* ========================================================================= + * Site-wide theme, in the V12 "B v3" style: navy #04121C, sky #38BDF8, + * white and paper; Bricolage Grotesque headings, Instrument Sans text, + * thick navy borders and hard offset shadows. Fumadocs reads all of its + * colours from the --color-fd-* variables, so the docs chrome (sidebar, + * search, code blocks, callouts, tabs) follows them in light and dark. + * ====================================================================== */ + +@theme { + --font-sans: var(--pl-font-text), 'Helvetica Neue', ui-sans-serif, system-ui, sans-serif; + --font-display: var(--pl-font-display), 'Helvetica Neue', ui-sans-serif, sans-serif; + --font-mono: var(--font-jetbrains), ui-monospace, SFMono-Regular, Menlo, monospace; +} + +:root { + --pl-ink: #04121c; + --pl-sky: #38bdf8; + --pl-sky-deep: #0b79ad; + --pl-white: #ffffff; + --pl-paper: #f3f7f9; + /* the thick edge and hard shadow used on cards, code and callouts */ + --pl-edge: var(--pl-ink); + --pl-shadow: var(--pl-ink); + + --color-fd-background: #f3f7f9; + --color-fd-foreground: #04121c; + --color-fd-muted: #e3edf2; + --color-fd-muted-foreground: #3c5866; + --color-fd-popover: #ffffff; + --color-fd-popover-foreground: #04121c; + --color-fd-card: #ffffff; + --color-fd-card-foreground: #04121c; + --color-fd-border: rgba(4, 18, 28, 0.16); + --color-fd-primary: #04121c; + --color-fd-primary-foreground: #ffffff; + --color-fd-secondary: #e3edf2; + --color-fd-secondary-foreground: #04121c; + --color-fd-accent: #c8ecfc; + --color-fd-accent-foreground: #04121c; + --color-fd-ring: #38bdf8; + + --color-fd-info: #0b79ad; + --color-fd-warning: #b45309; + --color-fd-error: #be123c; + --color-fd-success: #15803d; + --color-fd-idea: #a16207; +} + +.dark { + --pl-edge: #2e4756; + --pl-shadow: #38bdf8; + + --color-fd-background: #04121c; + --color-fd-foreground: #f3f7f9; + --color-fd-muted: #0a1f2e; + --color-fd-muted-foreground: #b9ccd6; + --color-fd-popover: #0a1f2e; + --color-fd-popover-foreground: #f3f7f9; + --color-fd-card: #0a1f2e; + --color-fd-card-foreground: #f3f7f9; + --color-fd-border: rgba(185, 204, 214, 0.18); + --color-fd-primary: #38bdf8; + --color-fd-primary-foreground: #04121c; + --color-fd-secondary: #0f2a3c; + --color-fd-secondary-foreground: #f3f7f9; + --color-fd-accent: rgba(56, 189, 248, 0.16); + --color-fd-accent-foreground: #e0f2fe; + --color-fd-ring: #38bdf8; + + --color-fd-info: #38bdf8; + --color-fd-warning: #fbbf24; + --color-fd-error: #fb7185; + --color-fd-success: #4ade80; + --color-fd-idea: #facc15; +} + +@layer base { + :where(h1, h2, h3, h4) { + font-family: var(--font-display); + } +} + +/* Values filled in from the reader's are underlined, so it is + clear which parts of a config file came from them. */ +[data-setup][data-filled] { + text-decoration: underline dotted var(--pl-sky); + text-underline-offset: 3px; +} + +/* ========================================================================= + * Docs: top bar (tablet and desktop) + * ====================================================================== */ +.dt-root { + --dt-bar: 68px; +} + +.dt-root #nd-docs-layout { + --fd-banner-height: var(--dt-bar); +} + +.dt-bar { + position: sticky; + top: 0; + z-index: 40; + display: flex; + align-items: center; + gap: 24px; + height: var(--dt-bar); + padding: 0 24px; + background: var(--pl-sky); + color: var(--pl-ink); + border-bottom: 3px solid var(--pl-ink); +} + +.dark .dt-bar { + background: var(--pl-ink); + color: #f3f7f9; + border-bottom-color: var(--pl-sky); +} + +.dt-bar__brand { + display: inline-flex; + align-items: center; + gap: 10px; + font-family: var(--font-display); + font-weight: 800; + font-size: 22px; + letter-spacing: -0.04em; + text-decoration: none; + flex-shrink: 0; +} + +.dt-bar__section { + padding: 2px 8px; + border: 2px solid currentColor; + font-family: var(--font-sans); + font-size: 13px; + font-weight: 700; + letter-spacing: 0.02em; +} + +.dt-bar__search { + flex: 0 1 340px; + border: 2px solid var(--pl-ink) !important; + border-radius: 0 !important; + background: #ffffff !important; + color: #3c5866 !important; + box-shadow: 3px 3px 0 var(--pl-ink); +} + +.dark .dt-bar__search { + border-color: #2e4756 !important; + background: #0a1f2e !important; + color: #b9ccd6 !important; + box-shadow: 3px 3px 0 var(--pl-sky); +} + +.dt-bar__links { + display: flex; + gap: 22px; + margin-left: auto; + font-weight: 500; + font-size: 15px; +} + +.dt-bar__links a { + text-decoration: none; +} + +.dt-bar__links a:hover { + text-decoration: underline; + text-underline-offset: 4px; + text-decoration-thickness: 2px; +} + +.dt-bar__actions { + display: flex; + align-items: center; + gap: 12px; +} + +.dt-bar__theme { + border: 2px solid currentColor !important; + border-radius: 0 !important; +} + +.dt-btn { + display: inline-flex; + align-items: center; + gap: 6px; + min-height: 38px; + padding: 0 12px; + border: 2px solid var(--pl-ink); + background: #ffffff; + color: var(--pl-ink); + font-weight: 600; + font-size: 14px; + text-decoration: none; + box-shadow: 3px 3px 0 var(--pl-ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.dt-btn:hover { + transform: translate(-1px, -1px); + box-shadow: 4px 4px 0 var(--pl-ink); +} + +.dt-btn--ink { + background: var(--pl-ink); + color: #ffffff; + box-shadow: 3px 3px 0 #ffffff; +} + +.dark .dt-btn { + border-color: #ffffff; + box-shadow: 3px 3px 0 var(--pl-sky); +} + +.dark .dt-btn--ink { + background: var(--pl-sky); + color: var(--pl-ink); + border-color: var(--pl-sky); + box-shadow: 3px 3px 0 #ffffff; +} + +@media (max-width: 1180px) { + .dt-bar__links { + display: none; + } + .dt-bar__search { + margin-left: auto; + } +} + +/* Phones: Fumadocs' own bar takes over, restyled the same way. */ +@media (max-width: 767px) { + .dt-bar { + display: none; + } + .dt-root #nd-docs-layout { + --fd-banner-height: 0px; + } +} + +#nd-subnav { + background: var(--pl-sky) !important; + color: var(--pl-ink); + border-bottom: 3px solid var(--pl-ink); + backdrop-filter: none; +} + +.dark #nd-subnav { + background: var(--pl-ink) !important; + color: #f3f7f9; + border-bottom-color: var(--pl-sky); +} + +.dt-navtitle { + display: inline-flex; + align-items: center; + gap: 8px; + font-family: var(--font-display); + font-weight: 800; + font-size: 19px; + letter-spacing: -0.04em; +} + +.dt-navtitle span { + padding: 1px 6px; + border: 2px solid currentColor; + font-family: var(--font-sans); + font-size: 12px; + font-weight: 700; + letter-spacing: 0.02em; +} + +/* The sidebar's own title and search duplicate the top bar on larger screens. */ +@media (min-width: 768px) { + #nd-sidebar [data-search-full], + #nd-sidebar a.dt-navtitle, + #nd-sidebar a:has(> .dt-navtitle) { + display: none; + } +} + +/* ========================================================================= + * Docs: sidebar, page, table of contents + * ====================================================================== */ +#nd-sidebar { + background: var(--color-fd-background); + border-inline-end: 3px solid var(--pl-edge); +} + +#nd-sidebar a[data-active='true'] { + background: var(--pl-sky); + color: var(--pl-ink); + font-weight: 600; + border-radius: 0; +} + +.dark #nd-sidebar a[data-active='true'] { + background: rgba(56, 189, 248, 0.16); + color: #f3f7f9; + box-shadow: inset 3px 0 0 var(--pl-sky); +} + +#nd-sidebar a:not([data-active='true']):hover { + background: var(--color-fd-accent); + border-radius: 0; +} + +#nd-page > h1, +#nd-page article > h1 { + font-family: var(--font-display); + font-weight: 800; + font-size: clamp(36px, 4.2vw, 56px); + line-height: 0.95; + letter-spacing: -0.045em; +} + +#nd-page > h1 + p { + font-size: 18px; +} + +.prose :where(h2, h3, h4):not(.not-prose *) { + font-family: var(--font-display); + font-weight: 800; + letter-spacing: -0.03em; +} + +.prose :where(h2):not(.not-prose *) { + font-size: 1.75em; +} + +.prose :where(a):not([data-card], .not-prose, .not-prose *) { + color: inherit; + font-weight: 600; + text-decoration-line: underline; + text-decoration-color: var(--pl-sky); + text-decoration-thickness: 2px; + text-underline-offset: 4px; +} + +.prose :where(a):not([data-card], .not-prose, .not-prose *):hover { + text-decoration-color: currentColor; +} + +.prose :where(code):not(pre code, .not-prose *) { + border: 1.5px solid var(--color-fd-border); + border-radius: 0; + background: var(--color-fd-card); +} + +#nd-toc a[data-active='true'] { + color: var(--color-fd-foreground); + font-weight: 600; +} + +/* Code blocks, callouts and tabs: square, thick edge, hard shadow. */ +figure.shiki { + border: 2px solid var(--pl-edge) !important; + border-radius: 0 !important; + box-shadow: 5px 5px 0 var(--pl-shadow); +} + +.dark figure.shiki { + box-shadow: 5px 5px 0 rgba(56, 189, 248, 0.55); +} + +[style*='--callout-color'] { + border: 2px solid var(--pl-edge) !important; + border-radius: 0 !important; + box-shadow: 4px 4px 0 var(--callout-color); +} + +[style*='--callout-color'] > div:first-child[role='none'] { + border-radius: 0; +} + +#nd-page [data-orientation='horizontal'].border { + border: 2px solid var(--pl-edge); + border-radius: 0; +} + +#nd-page [role='tab'][data-state='active'] { + font-weight: 700; +} + +/* The docs' "Your setup" box and its controls follow the same edges. */ +#nd-page section.not-prose.rounded-xl { + border: 2px solid var(--pl-edge); + border-radius: 0; + box-shadow: 5px 5px 0 var(--pl-sky); +} + +/* ========================================================================= + * "You're leaving pelican.dev" dialog (every page) + * ====================================================================== */ +.xl-dialog { + width: min(520px, calc(100vw - 32px)); + max-width: none; + margin: auto; + padding: 0; + border: 0; + background: transparent; + overflow: visible; +} + +.xl-dialog::backdrop { + background: rgba(4, 18, 28, 0.62); +} + +.xl-dialog__box { + position: relative; + padding: 28px; + border: 3px solid var(--pl-ink); + background: #ffffff; + color: var(--pl-ink); + box-shadow: 10px 10px 0 var(--pl-sky); + font-family: var(--font-sans); +} + +.xl-dialog__close { + position: absolute; + top: 12px; + right: 12px; + display: grid; + place-items: center; + width: 36px; + height: 36px; + border: 2px solid var(--pl-ink); + background: #ffffff; + color: var(--pl-ink); + cursor: pointer; +} + +.xl-dialog__close:hover { + background: var(--pl-sky); +} + +.xl-dialog__kicker { + display: inline-block; + padding: 2px 8px; + background: var(--pl-ink); + color: #ffffff; + font-size: 13px; + font-weight: 700; +} + +.xl-dialog__title { + margin: 14px 40px 0 0; + font-family: var(--font-display); + font-weight: 800; + font-size: 30px; + line-height: 1; + letter-spacing: -0.04em; +} + +.xl-dialog__desc { + margin-top: 12px; + font-size: 16px; + color: #33505f; +} + +.xl-dialog__url { + margin-top: 14px; + padding: 10px 12px; + background: #f3f7f9; + border: 2px solid #d5e3ea; + font-family: var(--font-mono); + font-size: 13px; + overflow-wrap: anywhere; +} + +.xl-dialog__remember { + display: flex; + align-items: center; + gap: 8px; + margin-top: 14px; + font-size: 14px; + cursor: pointer; +} + +.xl-dialog__remember input { + width: 18px; + height: 18px; + accent-color: var(--pl-ink); +} + +.xl-dialog__actions { + display: flex; + flex-wrap: wrap; + gap: 14px; + margin-top: 22px; +} + +.xl-btn { + display: inline-flex; + align-items: center; + gap: 8px; + min-height: 48px; + padding: 0 20px; + border: 3px solid var(--pl-ink); + background: #ffffff; + color: var(--pl-ink); + font: 600 16px var(--font-sans); + cursor: pointer; + box-shadow: 4px 4px 0 var(--pl-ink); + transition: + transform 0.12s ease, + box-shadow 0.12s ease; +} + +.xl-btn:hover { + transform: translate(-2px, -2px); + box-shadow: 6px 6px 0 var(--pl-ink); +} + +.xl-btn--go { + background: var(--pl-ink); + color: #ffffff; + box-shadow: 4px 4px 0 var(--pl-sky); +} + +.xl-btn--go:hover { + box-shadow: 6px 6px 0 var(--pl-sky); +} + +.xl-dialog__close:focus-visible, +.xl-btn:focus-visible, +.xl-dialog__remember input:focus-visible { + outline: 3px solid var(--pl-sky); + outline-offset: 3px; +} + +@media (prefers-reduced-motion: no-preference) { + .xl-dialog[open] .xl-dialog__box { + animation: xl-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) both; + } + .xl-dialog[open]::backdrop { + animation: xl-fade 0.2s ease both; + } +} + +@keyframes xl-in { + from { + opacity: 0; + transform: translateY(12px) scale(0.98); + } +} + +@keyframes xl-fade { + from { + opacity: 0; + } +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 00000000..744c9651 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,41 @@ +import './global.css'; +import { RootProvider } from 'fumadocs-ui/provider/next'; +import type { Metadata } from 'next'; +import { Bricolage_Grotesque, Instrument_Sans, JetBrains_Mono } from 'next/font/google'; +import { ExternalLinkGuard } from '@/components/external-link-guard'; + +// The brand faces from the V12 design, used across the whole site: +// Bricolage Grotesque for display, Instrument Sans for reading and interface, +// JetBrains Mono for code. +const display = Bricolage_Grotesque({ subsets: ['latin'], variable: '--pl-font-display', display: 'swap' }); +const text = Instrument_Sans({ subsets: ['latin'], variable: '--pl-font-text', display: 'swap' }); +const mono = JetBrains_Mono({ subsets: ['latin'], weight: ['400', '500'], variable: '--font-jetbrains' }); + +export const metadata: Metadata = { + metadataBase: new URL('https://pelican.dev'), + title: { + default: 'Pelican: free, open-source game server panel', + template: '%s | Pelican', + }, + description: + 'Pelican is a free, open-source panel for running game servers and applications in isolated Docker containers.', + icons: { icon: '/img/favicon.ico', apple: '/img/logo.png' }, +}; + +export default function RootLayout({ children }: LayoutProps<'/'>) { + return ( + + + + {children} + + + + + ); +} diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 00000000..23fd0ee0 --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,37 @@ +import './(landing)/home.css'; +import Link from 'next/link'; +import { SiteHeader } from '@/components/home/site-header'; +import { SiteFooterNav } from '@/components/home/sections'; +import { links } from '@/lib/links'; + +/** 404, in the homepage's design. */ +export default function NotFound() { + return ( +
+ +
+
+

+ 404 +

+

This page flew off.

+

+ It may have moved when the docs were rebuilt. Try the docs home, or search from there. +

+
+ + Open the docs + + + Go home + + + Install guide + +
+
+
+ +
+ ); +} diff --git a/components/docs/docs-top-bar.tsx b/components/docs/docs-top-bar.tsx new file mode 100644 index 00000000..b8de1759 --- /dev/null +++ b/components/docs/docs-top-bar.tsx @@ -0,0 +1,39 @@ +import Link from 'next/link'; +import { Star } from 'lucide-react'; +import { FullSearchTrigger } from 'fumadocs-ui/layouts/shared/slots/search-trigger'; +import { ThemeSwitch } from 'fumadocs-ui/layouts/shared/slots/theme-switch'; +import { links } from '@/lib/links'; +import { project } from '@/lib/home-data'; + +/** + * The B v3 top bar for the docs (desktop and tablet). On phones Fumadocs' + * own bar, restyled in global.css, takes over so there is never a double bar. + */ +export function DocsTopBar() { + return ( +
+ + {/* eslint-disable-next-line @next/next/no-img-element */} + + Pelican + Docs + + + + +
+ ); +} diff --git a/components/external-link-guard.tsx b/components/external-link-guard.tsx new file mode 100644 index 00000000..5dc68f6a --- /dev/null +++ b/components/external-link-guard.tsx @@ -0,0 +1,174 @@ +'use client'; + +import { useEffect, useRef, useState } from 'react'; +import { ArrowUpRight, X } from 'lucide-react'; +import { ownedSiteTab } from '@/lib/owned-sites'; + +/** sessionStorage flag ("1") set by "Don't ask again during this visit". */ +const SKIP_KEY = 'pelican-docs:leave-ok'; + +/** + * Names for places people go to often, so the dialog can say where they're + * headed. (Pelican's own GitHub, raw files and Discord never reach the dialog; + * GitHub here means someone else's profile or repo.) + */ +function describe(url: URL): string { + const host = url.hostname.replace(/^www\./, ''); + if (host === 'github.com') return 'GitHub'; + if (host.endsWith('steampowered.com')) return 'the Steam store'; + return host; +} + +/** + * Opens a Pelican-owned link in a new tab the browser's own way: mark the + * anchor target="_blank" rel="noopener noreferrer" just for this click, then + * put its attributes back so a later href change isn't affected. + */ +function openInNewTabNatively(link: HTMLAnchorElement) { + const target = link.getAttribute('target'); + const rel = link.getAttribute('rel'); + const relTokens = new Set((rel ?? '').split(/\s+/).filter(Boolean)); + relTokens.add('noopener'); + relTokens.add('noreferrer'); + link.setAttribute('target', '_blank'); + link.setAttribute('rel', [...relTokens].join(' ')); + // The browser follows the link right after this click event finishes. + setTimeout(() => { + if (target === null) link.removeAttribute('target'); + else link.setAttribute('target', target); + if (rel === null) link.removeAttribute('rel'); + else link.setAttribute('rel', rel); + }, 0); +} + +/** + * Site-wide policy for clicks on links (checked at click time, so it also + * covers links rendered or changed later; Enter on a focused link is a click): + * + * 1. This site, pelican.dev and *.pelican.dev (hub, …): no dialog, normal + * same-tab navigation. + * 2. The live demo (demo.pelican.dev, `newTabSubdomains`) and Pelican's places + * on other domains (its GitHub orgs, raw files, the eggs site, image + * storage, the official Discord invite; `ownedElsewhere`): no dialog, + * opens in a new tab. Both lists are in lib/owned-sites.ts. + * 3. Any other website: asks first, "You're leaving pelican.dev". Continue + * opens it in a new tab; "Don't ask again during this visit" skips the + * dialog for the rest of the session. + * + * Left alone: middle clicks, links with `download`, and links marked + * `data-no-leave-check`. Ctrl/Cmd/Shift/Alt-clicks on Pelican-owned links go + * to the browser as usual; on other websites they still ask first. + */ +export function ExternalLinkGuard() { + const dialog = useRef(null); + const [target, setTarget] = useState(null); + const [remember, setRemember] = useState(false); + + useEffect(() => { + function onClick(event: MouseEvent) { + if (event.defaultPrevented || event.button !== 0) return; + const link = (event.target as Element | null)?.closest?.('a[href]'); + if (!(link instanceof HTMLAnchorElement)) return; + if (link.hasAttribute('download') || link.dataset.noLeaveCheck !== undefined) return; + + let url: URL; + try { + url = new URL(link.href, window.location.href); + } catch { + return; + } + if (url.protocol !== 'http:' && url.protocol !== 'https:') return; + // 1. This site, or a Pelican site that opens in the same tab: navigate as usual. + if (url.host === window.location.host) return; + const owned = ownedSiteTab(url); + if (owned === 'same-tab') return; + + // 2. Pelican-owned, opens in a new tab: no dialog. + if (owned === 'new-tab') { + if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) return; + openInNewTabNatively(link); + return; + } + + // 3. Someone else's website: ask first, unless told not to this visit. + try { + if (sessionStorage.getItem(SKIP_KEY) === '1') { + event.preventDefault(); + window.open(url.href, '_blank', 'noopener,noreferrer'); + return; + } + } catch { + /* storage blocked: always ask */ + } + + event.preventDefault(); + setRemember(false); + setTarget(url); + } + + document.addEventListener('click', onClick, true); + return () => document.removeEventListener('click', onClick, true); + }, []); + + useEffect(() => { + const el = dialog.current; + if (!el) return; + if (target && !el.open) el.showModal(); + if (!target && el.open) el.close(); + }, [target]); + + function go() { + if (!target) return; + if (remember) { + try { + sessionStorage.setItem(SKIP_KEY, '1'); + } catch { + /* ignore */ + } + } + window.open(target.href, '_blank', 'noopener,noreferrer'); + setTarget(null); + } + + return ( + setTarget(null)} + onClick={(event) => { + // A click on the backdrop (outside the box) closes it. + if (event.target === dialog.current) setTarget(null); + }} + > + {target && ( +
+ +

Leaving pelican.dev

+

+ You're going to {describe(target)}. +

+

+ This link opens another website in a new tab. Pelican doesn't control what's there. +

+

{target.href}

+ +
+ + +
+
+ )} +
+ ); +} diff --git a/components/home/domain-cta.tsx b/components/home/domain-cta.tsx new file mode 100644 index 00000000..d5fff132 --- /dev/null +++ b/components/home/domain-cta.tsx @@ -0,0 +1,52 @@ +'use client'; + +import { useId, useState, type FormEvent } from 'react'; +import { useRouter } from 'next/navigation'; +import { ArrowRight } from 'lucide-react'; +import { setStoredValue, useStoredValue } from '@/components/setup/store'; +import { links } from '@/lib/links'; + +/** + * "Your domain" strip in the install section. Saves the domain where the + * docs' reads it and opens the guide, so every command and + * config file there already shows it. Nothing is sent anywhere. + */ +export function DomainCta() { + const id = useId(); + const router = useRouter(); + const saved = useStoredValue('setup:domain'); + const [value, setValue] = useState(); + const domain = value ?? saved ?? ''; + + function submit(event: FormEvent) { + event.preventDefault(); + const clean = domain.trim().replace(/^https?:\/\//, '').replace(/\/.*$/, ''); + if (clean) setStoredValue('setup:domain', clean); + router.push(links.webserver); + } + + return ( +
+ + setValue(e.target.value)} + placeholder="panel.example.com" + inputMode="url" + autoComplete="url" + spellCheck={false} + maxLength={253} + /> + +

+ The guide fills your domain into every NGINX, Apache and Caddy file. It stays in this browser. +

+
+ ); +} diff --git a/components/home/egg-finder.tsx b/components/home/egg-finder.tsx new file mode 100644 index 00000000..4bd2620a --- /dev/null +++ b/components/home/egg-finder.tsx @@ -0,0 +1,214 @@ +'use client'; + +import { useId, useRef, useState, type FormEvent, type KeyboardEvent } from 'react'; +import { ArrowRight, ArrowUpRight, Check, Copy, Search } from 'lucide-react'; +import { GameIcon } from './game-art'; + +/** One egg, with only what the strip shows. */ +export interface FinderEgg { + name: string; + description: string; + /** Raw egg file: the URL a panel imports. */ + url: string; + /** The same file on GitHub, for reading. */ + sourceUrl: string; + image: string | null; +} + +/** A featured game, with its first few eggs. */ +export interface FinderGame { + slug: string; + name: string; + icon: string | null; + /** How many eggs the game really has. */ + total: number; + port?: string; + eggs: FinderEgg[]; +} + +const plural = (n: number) => `${n} ${n === 1 ? 'egg' : 'eggs'}`; + +/** + * The navy games strip. Tiles are tabs (arrow keys move between them); the + * panel under them shows that game's real eggs. Searching any other game opens + * the full egg index at /eggs (a plain form, so it works before scripts load). + */ +export function EggFinder({ + games, + names, + totalEggs, + totalGames, +}: { + games: FinderGame[]; + names: string[]; + totalEggs: number; + totalGames: number; +}) { + const id = useId(); + const [active, setActive] = useState(0); + const tabs = useRef<(HTMLButtonElement | null)[]>([]); + const current = games[active] ?? games[0]; + + function select(index: number) { + const next = (index + games.length) % games.length; + setActive(next); + tabs.current[next]?.focus(); + } + + function onKey(event: KeyboardEvent, from: number) { + const moves: Record = { + ArrowRight: from + 1, + ArrowDown: from + 1, + ArrowLeft: from - 1, + ArrowUp: from - 1, + Home: 0, + End: games.length - 1, + }; + if (!(event.key in moves)) return; + event.preventDefault(); + select(moves[event.key]); + } + + // A featured game opens its tile; anything else goes on to /eggs/?q=… + function search(event: FormEvent) { + const q = new FormData(event.currentTarget).get('q')?.toString().trim().toLowerCase() ?? ''; + const hit = games.findIndex((g) => g.name.toLowerCase() === q); + if (hit < 0) return; + event.preventDefault(); + select(hit); + } + + return ( +
+
+
+

+ {totalEggs} eggs · {totalGames} games +

+

+ Runs the games your community plays +

+
+
+
+ + + + + {names.map((n) => ( + + + + All {totalEggs} eggs + +
+
+ +
+ {games.map((game, i) => ( + + ))} +
+ +
+
+

+ {current.name} + + {plural(current.total)} + {current.port ? ` · usual port ${current.port}` : ''} + +

+ + {current.total > current.eggs.length ? `See all ${current.total}` : 'Open in the egg list'}{' '} + + +
+
    + {current.eggs.map((egg) => ( + + ))} +
+
+
+ ); +} + +function EggCard({ egg }: { egg: FinderEgg }) { + const [copied, setCopied] = useState(false); + + async function copy() { + try { + await navigator.clipboard.writeText(egg.url); + setCopied(true); + window.setTimeout(() => setCopied(false), 1800); + } catch { + /* clipboard blocked: the file link next to it still works */ + } + } + + return ( +
  • +

    {egg.name}

    + {egg.image && ( +

    + Image + + {/* Break only after a slash, never inside "pelican-eggs". */} + {egg.image.split('/').map((part, i, all) => ( + + {part} + {i < all.length - 1 && ( + <> + / + + )} + + ))} + +

    + )} +

    {egg.description || 'No description yet.'}

    +
    + + Egg file + + +
    +
  • + ); +} diff --git a/components/home/egg-index.tsx b/components/home/egg-index.tsx new file mode 100644 index 00000000..45b8988c --- /dev/null +++ b/components/home/egg-index.tsx @@ -0,0 +1,443 @@ +'use client'; + +import { useDeferredValue, useEffect, useId, useMemo, useState } from 'react'; +import { Check, Copy, ExternalLink, Search, SlidersHorizontal } from 'lucide-react'; +// Not '@/lib/eggs': that module imports the whole catalogue, which would then ship in this page's JavaScript. +import { + eggSourceUrl, + FEATURES, + RUNTIMES, + runtimeOf, + searchWords, + USUAL_PORTS, + type EggGame, + type RuntimeId, +} from '@/lib/egg-helpers'; +import { GameArt } from './game-art'; + +/** One egg as the /eggs page sends it: empty fields left out, variable names joined by spaces. */ +export interface IndexEgg { + name: string; + description: string; + url: string; + image: string | null; + imageNote?: string; + features?: string[]; + vars?: string; + hubUrl?: string; + installs?: number; + /** YYYY-MM-DD */ + updatedAt?: string; +} + +export interface IndexGame extends Pick { + eggs: IndexEgg[]; +} + +interface Props { + games: IndexGame[]; + categories: { id: string; name: string; count: number }[]; +} + +type SortId = 'popular' | 'name' | 'updated'; +const SORTS: { id: SortId; label: string }[] = [ + { id: 'popular', label: 'Popular' }, + { id: 'name', label: 'A–Z' }, + { id: 'updated', label: 'Recently updated' }, +]; + +interface PreparedEgg { + egg: IndexEgg; + /** Everything a search looks through, lower-cased. */ + text: string; + runtime: RuntimeId; +} + +interface Prepared { + game: IndexGame; + eggs: PreparedEgg[]; + /** Installs over the card's eggs (an egg listed twice, as JSON and YAML, counts once). */ + installs: number; + /** Newest update among the card's eggs. */ + updated: string; +} + +const byName = (a: { name: string }, b: { name: string }) => a.name.localeCompare(b.name, 'en'); + +function eggOrder(sort: SortId) { + return (a: PreparedEgg, b: PreparedEgg) => + sort === 'popular' + ? (b.egg.installs ?? 0) - (a.egg.installs ?? 0) || byName(a.egg, b.egg) + : sort === 'updated' + ? (b.egg.updatedAt ?? '').localeCompare(a.egg.updatedAt ?? '') || byName(a.egg, b.egg) + : byName(a.egg, b.egg); +} + +function cardOrder(sort: SortId) { + return (a: Prepared, b: Prepared) => + sort === 'popular' + ? b.installs - a.installs || byName(a.game, b.game) + : sort === 'updated' + ? b.updated.localeCompare(a.updated) || byName(a.game, b.game) + : byName(a.game, b.game); +} + +function prepare(game: IndexGame): Prepared { + const counted = new Set(); + let installs = 0; + let updated = ''; + for (const egg of game.eggs) { + if (egg.installs && egg.hubUrl && !counted.has(egg.hubUrl)) { + counted.add(egg.hubUrl); + installs += egg.installs; + } + if (egg.updatedAt && egg.updatedAt > updated) updated = egg.updatedAt; + } + return { + game, + installs, + updated, + eggs: game.eggs.map((egg) => ({ + egg, + runtime: runtimeOf(egg.image), + text: [game.name, egg.name, egg.description, egg.image, egg.vars].join(' ').toLowerCase(), + })), + }; +} + +const RUNTIME_IDS = new Set(RUNTIMES.map((r) => r.id)); +const FEATURE_IDS = new Set(FEATURES.map((f) => f.id)); +const listParam = (params: URLSearchParams, key: string, valid: Set) => + (params.get(key) ?? '').split(',').filter((v) => valid.has(v)); +const toggle = (list: string[], id: string) => (list.includes(id) ? list.filter((v) => v !== id) : [...list, id]); +const plural = (n: number, word: string) => `${n} ${word}${n === 1 ? '' : 's'}`; + +/** Searchable, filterable, sortable list of every egg. ?q=, ?category=, ?sort=, ?runtime= and ?feature= set the start. */ +export function EggIndexList({ games, categories }: Props) { + const id = useId(); + const [query, setQuery] = useState(''); + const [category, setCategory] = useState('all'); + const [sort, setSort] = useState('popular'); + const [runtimes, setRuntimes] = useState([]); + const [features, setFeatures] = useState([]); + const [panelOpen, setPanelOpen] = useState(false); + const deferred = useDeferredValue(query); + + useEffect(() => { + const params = new URLSearchParams(window.location.search); + if (params.get('q')) setQuery(params.get('q')!); + if (params.get('category')) setCategory(params.get('category')!); + const s = params.get('sort'); + if (SORTS.some((o) => o.id === s)) setSort(s as SortId); + // Only set what the address has: in development React runs this twice, after the address was already rewritten. + const r = listParam(params, 'runtime', RUNTIME_IDS); + if (r.length) setRuntimes(r); + const f = listParam(params, 'feature', FEATURE_IDS); + if (f.length) setFeatures(f); + }, []); + + // Keep the address in step, so a search can be shared. + useEffect(() => { + const params = new URLSearchParams(); + if (deferred) params.set('q', deferred); + if (category !== 'all') params.set('category', category); + if (sort !== 'popular') params.set('sort', sort); + if (runtimes.length) params.set('runtime', runtimes.join(',')); + if (features.length) params.set('feature', features.join(',')); + const qs = params.toString().replace(/%2C/g, ','); + window.history.replaceState(null, '', qs ? `?${qs}` : window.location.pathname); + }, [deferred, category, sort, runtimes, features]); + + const prepared = useMemo(() => games.map(prepare), [games]); + const words = searchWords(deferred); + const wordsKey = words.join(' '); + + const view = useMemo(() => { + const words = wordsKey ? wordsKey.split(' ') : []; + const runtimeSet = new Set(runtimes); + const featureSet = new Set(features); + const counts = { category: new Map(), runtime: new Map(), feature: new Map() }; + const add = (map: Map, key: string) => map.set(key, (map.get(key) ?? 0) + 1); + const cards: { p: Prepared; shown: PreparedEgg[]; rest: PreparedEgg[] }[] = []; + const order = eggOrder(sort); + let matched = 0; + + for (const p of prepared) { + const inCategory = category === 'all' || p.game.category === category; + const shown: PreparedEgg[] = []; + const rest: PreparedEgg[] = []; + for (const pe of p.eggs) { + const q = words.every((w) => pe.text.includes(w)); + const r = !runtimeSet.size || runtimeSet.has(pe.runtime); + const f = !featureSet.size || (pe.egg.features ?? []).some((x) => featureSet.has(x)); + // Each group's counts follow every choice except its own (choices within a group add up). + if (q && r && f) { + add(counts.category, p.game.category); + add(counts.category, 'all'); + } + if (inCategory && q && f) add(counts.runtime, pe.runtime); + if (inCategory && q && r) for (const x of pe.egg.features ?? []) add(counts.feature, x); + if (inCategory && q && r && f) shown.push(pe); + else rest.push(pe); + } + if (!shown.length) continue; + matched += shown.length; + cards.push({ p, shown: shown.sort(order), rest: rest.sort(order) }); + } + const cardSort = cardOrder(sort); + cards.sort((a, b) => cardSort(a.p, b.p)); + return { cards, counts, matched }; + }, [prepared, wordsKey, category, sort, runtimes, features]); + + const filtering = words.length > 0 || runtimes.length > 0 || features.length > 0; + const filterCount = runtimes.length + features.length; + const { cards, counts, matched } = view; + + function clearAll() { + setQuery(''); + setCategory('all'); + setRuntimes([]); + setFeatures([]); + } + + return ( + <> +
    + +
    + {[{ id: 'all', name: 'Everything' }, ...categories].map((c) => ( + + ))} +
    +
    + +
    + +
    + + Sort + + {SORTS.map((s) => ( + + ))} +
    +
    + +
    +
    + Runs on +
    + {RUNTIMES.map((r) => ( + + ))} +
    +
    +
    + Panel helps with +
    + {FEATURES.map((f) => ( + + ))} +
    +
    +

    + “Panel helps with” marks eggs that turn on a panel feature: it spots a known problem in the + console and offers a fix. + {filterCount > 0 && ( + <> + {' '} + + + )} +

    +
    + +

    + {plural(matched, filtering ? 'matching egg' : 'egg')} in {plural(cards.length, 'group')} + {sort === 'popular' && ( + · Popular counts installs from Pelican Hub + )} +

    + +
      + {cards.map(({ p, shown, rest }) => ( + + ))} +
    + {cards.length === 0 && ( +
    +

    + No egg matches {deferred ? <>“{deferred}” : 'these filters'}. Eggs are community-made;{' '} + ask for one or add your own. +

    + +
    + )} + + ); +} + +function GameCard({ + game, + shown, + rest, + filtering, + sort, +}: { + game: IndexGame; + shown: PreparedEgg[]; + rest: PreparedEgg[]; + filtering: boolean; + sort: SortId; +}) { + const port = USUAL_PORTS[game.slug]; + // Filtering: every match shows, and the others fold away. Otherwise: the first 8, then "N more". + const visible = filtering ? shown : shown.slice(0, 8); + const hidden = filtering ? rest : shown.slice(8); + const total = game.eggs.length; + return ( +
  • +
    + +
    +
    +

    {game.name}

    +

    + {filtering && shown.length < total ? `${shown.length} of ${total} eggs` : plural(total, 'egg')} + {port ? ` · usual port ${port}` : ''} + {game.steamAppId ? ( + <> + {' · '} + Steam + + ) : null} +

    +
      + {visible.map(({ egg }) => ( + + ))} +
    + {hidden.length > 0 && ( +
    + {filtering ? plural(hidden.length, 'other egg') : `${hidden.length} more`} +
      + {hidden.map(({ egg }) => ( + + ))} +
    +
    + )} +
    +
  • + ); +} + +const shortDate = new Intl.DateTimeFormat('en-GB', { day: 'numeric', month: 'short', year: 'numeric', timeZone: 'UTC' }); + +function EggRow({ egg, sort }: { egg: IndexEgg; sort: SortId }) { + const [copied, setCopied] = useState(false); + + async function copy() { + try { + await navigator.clipboard.writeText(egg.url); + setCopied(true); + window.setTimeout(() => setCopied(false), 1800); + } catch { + /* clipboard blocked: the links next to it still work */ + } + } + + const stats = [ + egg.imageNote && `Choice of ${egg.imageNote}`, + egg.installs && plural(egg.installs, 'install'), + sort === 'updated' && egg.updatedAt && `Updated ${shortDate.format(new Date(egg.updatedAt))}`, + ].filter(Boolean); + + return ( +
  • + + {egg.name} + +
    + {egg.hubUrl && ( + + Details + + )} + +
    + {egg.description &&

    {egg.description}

    } + {egg.image && {egg.image.replace(/^ghcr\.io\//, '')}} + {stats.length > 0 &&

    {stats.join(' · ')}

    } +
  • + ); +} diff --git a/components/home/feature-panel.tsx b/components/home/feature-panel.tsx new file mode 100644 index 00000000..ee96f2d2 --- /dev/null +++ b/components/home/feature-panel.tsx @@ -0,0 +1,234 @@ +'use client'; + +import { useState, type ReactNode } from 'react'; +import { + Activity, + Archive, + Bell, + CalendarClock, + Database, + FileText, + Folder, + Network, + Play, + Search, + Settings, + SquareTerminal, + Users, +} from 'lucide-react'; + +const TABS = [ + { id: 'console', label: 'Console', desc: 'Live logs, commands and power controls for every server.' }, + { id: 'files', label: 'Files', desc: 'Edit configs in a real code editor, or open SFTP in one click.' }, + { id: 'backups', label: 'Backups', desc: 'Keep them on the node, or send them to S3 with backup hosts.' }, + { id: 'schedules', label: 'Schedules', desc: 'Restarts, backups and announcements that run on their own.' }, +] as const; +type Tab = (typeof TABS)[number]['id']; + +const SIDEBAR = [ + { id: 'console', label: 'Console', icon: SquareTerminal }, + { id: 'files', label: 'Files', icon: Folder }, + { id: 'databases', label: 'Databases', icon: Database }, + { id: 'schedules', label: 'Schedules', icon: CalendarClock }, + { id: 'users', label: 'Users', icon: Users }, + { id: 'backups', label: 'Backups', icon: Archive }, + { id: 'network', label: 'Network', icon: Network }, + { id: 'startup', label: 'Startup', icon: Play }, + { id: 'settings', label: 'Settings', icon: Settings }, + { id: 'activity', label: 'Activity', icon: Activity }, +]; + +/** Feature tabs on the left drive a drawing of the panel on the right. */ +export function FeaturePanel() { + const [tab, setTab] = useState('console'); + + return ( +
    +
    + {TABS.map((t) => ( + + ))} +
    + +
    +
    + {/* eslint-disable-next-line @next/next/no-img-element */} + + Pelican + / Servers / Minecraft SMP + + Search ⌘K + + + S +
    +
    +
      + {SIDEBAR.map(({ id, label, icon: Icon }) => ( +
    • + {label} +
    • + ))} +
    +
    + {tab === 'console' && } + {tab === 'files' && } + {tab === 'backups' && } + {tab === 'schedules' && } +
    +
    +
    +
    + ); +} + +function Head({ title, children }: { title: string; children?: ReactNode }) { + return ( +
    +
    +

    + {title} Running +

    +

    play.example.net:25565 · Paper 1.21.4

    +
    +
    {children}
    +
    + ); +} + +function ConsoleView() { + const stats = [ + ['CPU', '23.4%', '/ 400%', 6], + ['Memory', '2.1 GiB', '/ 6 GiB', 35], + ['Disk', '4.8 GiB', '/ 20 GiB', 24], + ['Uptime', '3d 4h', '', 100], + ] as const; + return ( + <> + + Start + Restart + Stop + +
    + {stats.map(([k, v, of, pct]) => ( +
    +

    {k}

    +

    + {v} {of} +

    + +
    + ))} +
    +
    +

    [12:04:31 INFO]: Done (8.912s)! For help, type "help"

    +

    [12:06:02 INFO]: Steve joined the game

    +

    [12:06:45 INFO]: <Steve> anyone up for the nether?

    +

    [12:07:10 INFO]: Alex joined the game

    +

    [12:08:13 INFO]: <Alex> on my way, bring torches

    +

    [12:09:58 WARN]: Can't keep up! Is the server overloaded?

    +
    + + ); +} + +function FilesView() { + const rows = [ + ['plugins/', '', 'dir'], + ['world/', '', 'dir'], + ['logs/', '', 'dir'], + ['server.properties', '1.4 KB', 'file'], + ['paper.jar', '48.2 MB', 'file'], + ['bukkit.yml', '3.1 KB', 'file'], + ['eula.txt', '0.2 KB', 'file'], + ]; + return ( + <> + + Open SFTP + New file + +

    /home/container

    +
      + {rows.map(([name, size, kind]) => ( +
    • + {kind === 'dir' ? : } + {name} + {size} +
    • + ))} +
    + + ); +} + +function BackupsView() { + const rows = [ + ['Nightly', '2 Nov, 03:00', '1.8 GB', 'S3 backup host'], + ['Before 1.21.4 update', '30 Oct, 19:12', '1.7 GB', 'This node'], + ['Nightly', '1 Nov, 03:00', '1.8 GB', 'S3 backup host'], + ['Nightly', '31 Oct, 03:00', '1.7 GB', 'S3 backup host'], + ]; + return ( + <> + + Create backup + +

    4 of 10 backups used

    +
      + {rows.map(([name, when, size, where], i) => ( +
    • + + + {name} + {when} + + {size} + {where} +
    • + ))} +
    + + ); +} + +function SchedulesView() { + const rows = [ + ['Nightly backup', 'Every day at 03:00', 'in 5h 50m'], + ['Warn players', 'Every day at 03:55', 'in 6h 45m'], + ['Restart', 'Every day at 04:00', 'in 6h 50m'], + ['Clear old logs', 'Sundays at 05:00', 'in 4 days'], + ]; + return ( + <> + + New schedule + +

    Times in the server's time zone

    +
      + {rows.map(([name, cron, next]) => ( +
    • + + + {name} + {cron} + + Next run {next} + Active +
    • + ))} +
    + + ); +} diff --git a/components/home/game-art.tsx b/components/home/game-art.tsx new file mode 100644 index 00000000..974c7735 --- /dev/null +++ b/components/home/game-art.tsx @@ -0,0 +1,61 @@ +import type { EggGame } from '@/lib/eggs'; + +const MARK_COLORS = ['#22C55E', '#EA580C', '#38BDF8', '#F59E0B', '#A855F7', '#E11D48', '#3B82F6']; + +const initial = (name: string) => name.replace(/^the /i, '')[0]; + +/** + * A game's wide picture for the /eggs cards: its Steam store artwork, an + * original drawing or the icon built into its own egg, or (when there is + * none) its first letter on a colour block. + */ +export function GameArt({ game }: { game: Pick }) { + if (game.art) { + const isIcon = !/^https?:/.test(game.art); + return ( + // eslint-disable-next-line @next/next/no-img-element + + ); + } + const color = MARK_COLORS[game.name.length % MARK_COLORS.length]; + return ( + + {initial(game.name)} + + ); +} + +/** + * A game's square icon (the publisher's Steam icon, an original drawing, or + * the icon in its own egg). Without one it gets a letter block, never a + * borrowed picture. + */ +export function GameIcon({ name, icon, size }: { name: string; icon: string | null; size: number }) { + if (icon) { + return ( + // eslint-disable-next-line @next/next/no-img-element + + ); + } + return ( + + {initial(name)} + + ); +} diff --git a/components/home/hero-console.tsx b/components/home/hero-console.tsx new file mode 100644 index 00000000..69061b55 --- /dev/null +++ b/components/home/hero-console.tsx @@ -0,0 +1,233 @@ +'use client'; + +import { useEffect, useId, useRef, useState, type FormEvent } from 'react'; + +type Level = 'INFO' | 'WARN'; +type Tone = 'plain' | 'join' | 'chat' | 'done' | 'warn' | 'echo' | 'system'; +interface Line { + id: number; + time: string; + level: Level; + text: string; + tone: Tone; +} +type Status = 'running' | 'stopping' | 'offline' | 'starting'; + +const MAX_PLAYERS = 20; + +// What a Paper server prints while starting; used for the first render and for Start/Restart. +const BOOT: [Level, string, Tone][] = [ + ['INFO', 'Starting minecraft server version 1.21.4', 'plain'], + ['INFO', 'Loading properties', 'plain'], + ['INFO', 'Preparing level "world"', 'plain'], + ['INFO', 'Preparing spawn area: 100%', 'plain'], + ['INFO', 'Done (8.912s)! For help, type "help"', 'done'], +]; + +const pad = (n: number) => String(n).padStart(2, '0'); +const clock = (d: Date) => `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`; + +let nextId = 0; +const line = (time: string, level: Level, text: string, tone: Tone = 'plain'): Line => ({ + id: nextId++, + time, + level, + text, + tone, +}); + +// Fixed times for the server render, so it matches the first client render exactly. +const FIRST: Line[] = [ + ...BOOT.map(([level, text, tone], i) => line(`12:04:${pad(22 + i * 2)}`, level, text, tone)), + line('12:06:02', 'INFO', 'Steve joined the game', 'join'), + line('12:06:45', 'INFO', ' anyone up for the nether?', 'chat'), + line('12:07:10', 'INFO', 'Alex joined the game', 'join'), +]; + +export function HeroConsole() { + const id = useId(); + const [status, setStatus] = useState('running'); + const [lines, setLines] = useState(FIRST); + const [players, setPlayers] = useState(['Steve', 'Alex']); + const [cpu, setCpu] = useState(23.4); + const [memory, setMemory] = useState(2.1); + const [zone, setZone] = useState(); + const [command, setCommand] = useState(''); + const logRef = useRef(null); + const timers = useRef([]); + + const push = (...next: Line[]) => setLines((current) => [...current, ...next].slice(-40)); + const now = () => clock(new Date()); + const later = (ms: number, fn: () => void) => timers.current.push(window.setTimeout(fn, ms)); + + // Once in the browser: read the visitor's own clock and let them join. + useEffect(() => { + setZone(Intl.DateTimeFormat().resolvedOptions().timeZone); + later(900, () => { + setPlayers((p) => [...p, 'you']); + push(line(now(), 'INFO', 'you joined the game', 'join')); + }); + const pending = timers.current; + return () => pending.forEach((t) => window.clearTimeout(t)); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + // Live-looking resource use while the server runs. + useEffect(() => { + if (status !== 'running') { + setCpu(0); + return; + } + const tick = window.setInterval(() => { + setCpu((v) => Math.min(96, Math.max(8, v + (Math.random() - 0.5) * 9))); + setMemory((v) => Math.min(5.6, Math.max(1.8, v + (Math.random() - 0.48) * 0.08))); + }, 1600); + return () => window.clearInterval(tick); + }, [status]); + + // Keep the newest line in view. + useEffect(() => { + const el = logRef.current; + if (el) el.scrollTop = el.scrollHeight; + }, [lines]); + + function stop(then?: () => void) { + if (status !== 'running') return; + setStatus('stopping'); + push(line(now(), 'INFO', 'Stopping the server', 'system'), line(now(), 'INFO', 'Saving players', 'plain')); + later(700, () => { + push(line(now(), 'INFO', 'Saving worlds', 'plain'), line(now(), 'INFO', 'Server stopped.', 'system')); + setPlayers([]); + setStatus('offline'); + setMemory(0); + then?.(); + }); + } + + function start() { + setStatus('starting'); + BOOT.forEach(([level, text, tone], i) => later(250 + i * 380, () => push(line(now(), level, text, tone)))); + later(250 + BOOT.length * 380, () => { + setStatus('running'); + setMemory(1.9); + setCpu(31); + }); + } + + function run(event: FormEvent) { + event.preventDefault(); + const input = command.trim(); + if (!input || status !== 'running') return; + setCommand(''); + const [name, ...rest] = input.replace(/^\//, '').split(/\s+/); + const arg = rest.join(' '); + const echo = line(now(), 'INFO', `> ${input}`, 'echo'); + + switch (name.toLowerCase()) { + case 'help': + push(echo, line(now(), 'INFO', 'Try: list, say , time, stop, help', 'system')); + break; + case 'list': + push( + echo, + line(now(), 'INFO', `There are ${players.length} of a max of ${MAX_PLAYERS} players online: ${players.join(', ')}`), + ); + break; + case 'say': + push(echo, line(now(), 'INFO', `[Server] ${arg || '…'}`, 'chat')); + break; + case 'time': + push(echo, line(now(), 'INFO', `It is ${now().slice(0, 5)} where you are${zone ? ` (${zone})` : ''}.`, 'system')); + break; + case 'stop': + push(echo); + stop(); + break; + default: + push(echo, line(now(), 'WARN', `Unknown command "${name}". Type "help" for help.`, 'warn')); + } + } + + const running = status === 'running'; + const statusLabel = { running: 'Running', stopping: 'Stopping', offline: 'Offline', starting: 'Starting' }[status]; + + return ( +
    +
    +
    +

    survival-smp

    +

    play.example.net:25565 · Paper 1.21.4

    +
    +

    + {statusLabel} +

    +
    + +
    + + + +
    + +
    +
    +
    CPU
    +
    + {cpu.toFixed(1)}% / 400% +
    + +
    +
    +
    Memory
    +
    + {memory.toFixed(1)} GiB / 6 GiB +
    + +
    +
    +
    Players
    +
    + {players.length} / {MAX_PLAYERS} +
    + +
    +
    + +
    + {lines.map((l) => ( +

    + [{l.time} + {l.level} + ]: + {l.text} +

    + ))} +
    + +
    + + › + setCommand(e.target.value)} + placeholder={running ? 'Type a command, like help or list' : 'The server is offline. Press Start.'} + disabled={!running} + autoComplete="off" + spellCheck={false} + /> + +
    +
    + ); +} diff --git a/components/home/mobile-menu.tsx b/components/home/mobile-menu.tsx new file mode 100644 index 00000000..6b0a949e --- /dev/null +++ b/components/home/mobile-menu.tsx @@ -0,0 +1,21 @@ +import Link from 'next/link'; +import { links } from '@/lib/links'; + +/** Phone navigation without JavaScript: a
    that opens a sheet. */ +export function MobileMenu() { + return ( +
    + Menu + +
    + ); +} diff --git a/components/home/plugin-stage.tsx b/components/home/plugin-stage.tsx new file mode 100644 index 00000000..9b93e397 --- /dev/null +++ b/components/home/plugin-stage.tsx @@ -0,0 +1,135 @@ +'use client'; + +import { useEffect, useRef, useState } from 'react'; +import { Maximize2, X } from 'lucide-react'; +import { hubPlugins, type HubPlugin } from '@/lib/home-data'; + +const fmt = new Intl.NumberFormat('en'); +const hubUrl = (slug: string) => `https://hub.pelican.dev/plugins/${slug}`; + +/** + * Three plugin cards. Each thumbnail is a screenshot from the plugin's page on the + * Pelican Hub; the card links to that page and the corner button opens the + * full-size screenshot in a native (Esc or the close button closes it). + */ +export function PluginStage() { + const dialogRef = useRef(null); + const triggerRef = useRef(null); + const [open, setOpen] = useState(null); + + useEffect(() => { + const dialog = dialogRef.current; + if (open && dialog && !dialog.open) dialog.showModal(); + }, [open]); + + function show(plugin: HubPlugin, trigger: HTMLButtonElement) { + triggerRef.current = trigger; + setOpen(plugin); + } + + function onClose() { + setOpen(null); + triggerRef.current?.focus(); + } + + return ( + <> +
      + {hubPlugins.map((plugin) => ( + + ))} +
    + e.target === e.currentTarget && e.currentTarget.close()} + > + {open && ( +
    +
    +

    + {open.name} +

    + +
    + {/* eslint-disable-next-line @next/next/no-img-element */} + {open.shot.alt} +
    + Screenshot by {open.author}, from the plugin's page on the Pelican Hub.{' '} + Open {open.name} on the Hub +
    +
    + )} +
    + + ); +} + +function PluginCard({ + plugin, + onZoom, +}: { + plugin: HubPlugin; + onZoom: (plugin: HubPlugin, trigger: HTMLButtonElement) => void; +}) { + return ( +
  • +
    +
    + + + + Screenshot +
    +
    + {/* eslint-disable-next-line @next/next/no-img-element */} + {plugin.shot.alt} +
    + + {plugin.official ? 'Official' : 'Community'} + + +
    +
    +

    + {plugin.name} +

    +

    {plugin.desc}

    +

    + by {plugin.author} · {fmt.format(plugin.downloads)} downloads +

    +
    +
  • + ); +} diff --git a/components/home/release-log.tsx b/components/home/release-log.tsx new file mode 100644 index 00000000..8dcf451d --- /dev/null +++ b/components/home/release-log.tsx @@ -0,0 +1,67 @@ +'use client'; + +import { useState } from 'react'; +import { releases } from '@/lib/home-data'; + +const repo = 'https://github.com/pelican/panel'; +const HEADLINES: Record = { + 'v1.0.0-rc.2': 'Crash-safe plugins, power webhooks', + 'v1.0.0-rc.1': 'Webhook plugins, S3 multipart, PHP 8.4', + 'v1.0.0-beta38': 'Auto-generated API docs', + 'v1.0.0-beta37': 'SFTP button in the file list', + 'v1.0.0-beta36': 'Passkeys and backup hosts', +}; + +/** The white release-log card: one row per release; open one to see what changed. */ +export function ReleaseLog() { + const [open, setOpen] = useState(releases[0].tag); + const most = Math.max(...releases.map((r) => r.total)); + + return ( +
    +
    +

    Release log

    + changes +
    +
      + {releases.map((r) => { + const isOpen = open === r.tag; + return ( +
    • + + {isOpen && ( + + )} +
    • + ); + })} +
    +
    + ); +} diff --git a/components/home/sections.tsx b/components/home/sections.tsx new file mode 100644 index 00000000..60a3ba24 --- /dev/null +++ b/components/home/sections.tsx @@ -0,0 +1,577 @@ +import Link from 'next/link'; +import type { CSSProperties } from 'react'; +import { + ArrowLeftRight, + ArrowRight, + BookOpen, + Code, + Database, + GitBranch, + Heart, + KeyRound, + Layers, + MessageCircle, + Play, + Plug, + ShieldCheck, +} from 'lucide-react'; +import { HeroConsole } from './hero-console'; +import { EggFinder, type FinderGame } from './egg-finder'; +import { FeaturePanel } from './feature-panel'; +import { PluginStage } from './plugin-stage'; +import { ReleaseLog } from './release-log'; +import { DomainCta } from './domain-cta'; +import { DiscordIcon, GitHubIcon } from '@/components/icons'; +import { links } from '@/lib/links'; +import { builtSinceFork, project, recentContributors } from '@/lib/home-data'; +import { eggCount, eggIndex, eggSourceUrl, FEATURED, gameBySlug, gameCount, USUAL_PORTS } from '@/lib/eggs'; + +const fmt = new Intl.NumberFormat('en'); +const repo = 'https://github.com/pelican/panel'; +const ICONS = { layers: Layers, plug: Plug, key: KeyRound, database: Database, code: Code, shield: ShieldCheck }; +// Eggs to show first for a game, when its alphabetical first three aren't the popular ones. +const FIRST_EGGS: Record = { minecraft: ['Paper', 'Vanilla Minecraft', 'Fabric'] }; + +/* ---- Hero ------------------------------------------------------------------- */ +export function HeroSection() { + return ( +
    +
    +
    +

    + Free Open source under AGPLv3 +

    +

    + {['Your servers.', 'Your community.', 'Your control.'].map((line, i) => ( + + {line} + + ))} +

    +

    + Pelican is a free, self-hosted panel for running game servers. Each server lives in its own Docker + container, and you can extend the panel with plugins. +

    +
    + + Install Pelican + + + Try the live demo + +
    +

    + Coming from Pterodactyl? Read the migration guide +

    +
    + +
    +
    +
    + + + + + + your-panel.example / server / console +
    + +
    +

    + This console works: press Stop, or type help. See the real panel in the demo +

    +
    +
    +
    + ); +} + +/* ---- Games strip (navy) --------------------------------------------------------- */ +export function GamesSection() { + // Only the featured games (their first three eggs and the fields the strip + // shows) and the list of names go to the browser; the full catalogue lives on /eggs. + const games: FinderGame[] = FEATURED.flatMap((slug) => { + const game = gameBySlug(slug); + if (!game) return []; + const first = FIRST_EGGS[slug] ?? []; + const eggs = [...game.eggs] + .sort((a, b) => { + const ia = first.indexOf(a.name); + const ib = first.indexOf(b.name); + return (ia < 0 ? 99 : ia) - (ib < 0 ? 99 : ib); + }) + .slice(0, 3); + return [ + { + slug, + name: game.name, + icon: game.icon, + total: game.eggs.length, + port: USUAL_PORTS[slug], + eggs: eggs.map((e) => ({ + name: e.name, + description: e.description, + url: e.url, + sourceUrl: eggSourceUrl(e.url), + image: e.image, + })), + }, + ]; + }); + const names = eggIndex.games.filter((g) => g.category === 'games' || g.category === 'minecraft').map((g) => g.name); + + return ( +
    + +
    + ); +} + +/* ---- Section index ----------------------------------------------------------------- */ +const JUMPS = [ + ['why', 'Why Pelican'], + ['features', 'Features'], + ['plugins', 'Plugins'], + ['activity', 'Activity'], + ['install', 'Install'], +]; + +export function JumpNav() { + return ( + + ); +} + +/* ---- 01 Why Pelican ------------------------------------------------------------------ */ +export function WhySection() { + return ( +
    +
    +
    +

    01 · Why Pelican

    +

    + Not a reskin. +

    +

    + Pelican started as a fork of Pterodactyl, and we respect where it came from. Here's what we've + built since. Each line links to the code. +

    +

    + Full comparison + Why we forked +

    +
    +
      + {builtSinceFork.map((item, i) => { + const Icon = ICONS[item.icon as keyof typeof ICONS]; + return ( +
    1. + + 0{i + 1} + + {item.title} + + {item.ref} · {item.prs.map((p) => `#${p}`).join(' ')} + + +
    2. + ); + })} +
    +
    +
    + ); +} + +/* ---- 02 Features -------------------------------------------------------------------- */ +export function FeaturesSection() { + return ( +
    +
    +

    02 · Features

    +

    + Everything you need to run the next server. +

    + +
      + {['Subusers', 'REST API', 'Webhooks', 'Passkeys', 'Databases', 'Activity log'].map((f) => ( +
    • {f}
    • + ))} +
    + +
    +

    One box or a whole fleet.

    +
    +
    + {/* eslint-disable-next-line @next/next/no-img-element */} + + + Panel Web UI + API + +
    + +
    + + Wings On every node + +
    + +
    + + {Array.from({ length: 6 }, (_, i) => ( + + ))} + + + Game servers One Docker container each + +
    +
    +

    + Wings runs on any Linux machine with Docker, amd64 or arm64: a Raspberry Pi, an old PC, a rack of servers. +

    +
    +
    +
    + ); +} + +/* ---- 03 Plugins ------------------------------------------------------------------------ */ +export function PluginsSection() { + return ( +
    +
    +

    03 · Plugins

    +
    +
    +

    + Bolt on what you need. +

    +

    + Plugins add features without editing panel core. Some are made by the team, most by the community. +

    +
    + +
    + +

    + Three of the most-downloaded plugins on the Hub. Screenshots by each plugin's author, from its Hub + page; download counts from the Hub, {project.asOf}. Licences vary by plugin; check each listing. +

    +
    +
    + ); +} + +/* ---- 04 Activity (sky) --------------------------------------------------------------------- */ +export function ActivitySection() { + const stats = [ + [String(project.releasesInYear), 'releases in 12 months'], + [fmt.format(project.contributors), 'people have contributed'], + [String(project.plugins), 'plugins on the Hub'], + [`${(project.stars / 1000).toFixed(1)}k`, 'GitHub stars'], + ]; + return ( +
    +
    +

    04 · Activity

    +
    +

    + Shipped in public, every month. +

    + + All releases + +
    +
    + {stats.map(([n, label]) => ( +
    +
    {n}
    +
    {label}
    +
    + ))} +
    +
    + +
    +
    +

    Shipped by these people

    + All contributors +
    + +

    Everyone with code in beta36 to rc.2. Plus everyone who reports bugs, translates and reviews.

    +
    +
    +
    +
    + ); +} + +/* ---- 05 Install ------------------------------------------------------------------------------ */ +const STEPS = [ + { + title: 'Check requirements', + body: 'A Linux server with a web server, PHP 8.4 or newer and a database. The guide lists exact versions.', + href: '/docs/panel/getting-started/', + link: 'Requirements', + }, + { + title: 'Install the Panel', + body: 'The web interface and API that you and your players use.', + href: links.install, + link: 'Panel guide', + }, + { + title: 'Add Wings to a node', + body: 'The daemon that runs game servers in Docker on each machine.', + href: links.wings, + link: 'Wings guide', + }, + { + title: 'Create your first server', + body: 'Pick an egg for your game and launch it from the panel.', + href: links.eggs, + link: 'Browse eggs', + }, +]; + +export function InstallSection() { + return ( +
    +
    +

    05 · Install

    +
    +

    + Up and running in four steps. +

    + + Read the install guide + +
    +
      + {STEPS.map((s, i) => ( +
    1. + {i + 1} +

      {s.title}

      +

      {s.body}

      + {s.link} → +
    2. + ))} +
    + +

    + + + Coming from Pterodactyl? There's a database migration path. Take backups and check + version requirements first. + + Migration guide → +

    +
    +
    + ); +} + +/* ---- Community (navy) --------------------------------------------------------------------------- */ +export function CommunitySection() { + const cards = [ + { icon: BookOpen, title: 'Documentation', body: 'Install guides, FAQ, comparison', href: '/docs/' }, + { icon: Plug, title: 'Pelican Hub', body: 'Plugins, themes and eggs', href: links.hub }, + { icon: MessageCircle, title: 'Discord', body: 'Get help, help others', href: links.discord }, + { icon: GitBranch, title: 'GitHub', body: 'Code, issues, translations', href: links.github }, + ]; + return ( +
    +
    +
    +
    + +

    + You never have to pay to run Pelican. Sponsors fund the people in the release log, plus bug bounties and + moderation. +

    +
    + + Sponsor Pelican + + + How support helps + +
    +
    +
    +

    Published funding plan

    +
    + + 75% Contributors + + + 15% Bounties + + + 10% Mods + +
    +

    + The project's published plan, not audited spending. Source +

    + +
    +
    + +
    +
    + ); +} + +/* ---- Final call (sky) -------------------------------------------------------------------------- */ +export function FinalSection() { + return ( +
    +
    + {/* eslint-disable-next-line @next/next/no-img-element */} + +

    + Run your servers. Help shape what's next. +

    +
    + + Install Pelican + + + Join the Discord + +
    +
    +
    + ); +} + +/* ---- Footer -------------------------------------------------------------------------------------- */ +export function SiteFooterNav() { + const cols = [ + { + title: 'Product', + items: [ + ['Documentation', '/docs/'], + ['Install guide', links.install], + ['Live demo', links.demo], + ['Plugin Hub', links.hub], + ], + }, + { + title: 'Community', + items: [ + ['Discord', links.discord], + ['GitHub', links.github], + ['Contributors', '/docs/contributors/'], + ['Translate', '/docs/guides/translating/'], + ], + }, + { + title: 'Project', + items: [ + ['FAQ', '/faq/'], + ['Sponsor', '/support/'], + ['Versioning', '/docs/versioning/'], + ['Comparison', '/docs/comparison/'], + ], + }, + ]; + return ( +
    +
    +
    +
    + + {/* eslint-disable-next-line @next/next/no-img-element */} + + Pelican + +

    A free, open-source game server panel, built by its community.

    +

    + + + + + + +

    +
    + {cols.map((col) => ( + + ))} +
    +

    + © 2024–{new Date().getFullYear()} Pelican · {project.license} · Latest release{' '} + {project.version}, {project.released} +

    +
    +
    + ); +} diff --git a/components/home/site-header.tsx b/components/home/site-header.tsx new file mode 100644 index 00000000..4b0fef44 --- /dev/null +++ b/components/home/site-header.tsx @@ -0,0 +1,46 @@ +import Link from 'next/link'; +import { Star } from 'lucide-react'; +import { links } from '@/lib/links'; +import { project } from '@/lib/home-data'; +import { MobileMenu } from './mobile-menu'; + +/** Announcement bar plus the sky-blue nav from the V12 "B v3" board. */ +export function SiteHeader() { + return ( + <> + + Skip to content + +
    + {project.version.replace('1.0.0-', '')} + A crashing plugin can no longer take the panel down, and more. + + Read the release → + +
    +
    + + {/* eslint-disable-next-line @next/next/no-img-element */} + + Pelican + + + +
    + + ); +} diff --git a/components/icons.tsx b/components/icons.tsx new file mode 100644 index 00000000..64ca1eb9 --- /dev/null +++ b/components/icons.tsx @@ -0,0 +1,19 @@ +import type { SVGProps } from 'react'; + +// Brand marks, which lucide does not ship. + +export function DiscordIcon(props: SVGProps) { + return ( + + ); +} + +export function GitHubIcon(props: SVGProps) { + return ( + + ); +} diff --git a/components/mdx/admonition.tsx b/components/mdx/admonition.tsx new file mode 100644 index 00000000..01cf794d --- /dev/null +++ b/components/mdx/admonition.tsx @@ -0,0 +1,33 @@ +import { Callout, type CalloutType } from 'fumadocs-ui/components/callout'; +import type { ReactNode } from 'react'; + +// Docusaurus admonition types, mapped to Fumadocs callout colours. +// Kept in step with the `:::` typeMap in source.config.ts. +const TYPES: Record = { + note: 'info', + info: 'info', + tip: 'success', + success: 'success', + idea: 'idea', + caution: 'warning', + warning: 'warning', + warn: 'warning', + danger: 'error', + error: 'error', +}; + +export function Admonition({ + type = 'note', + title, + children, +}: { + type?: string; + title?: ReactNode; + children?: ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/components/mdx/link.tsx b/components/mdx/link.tsx new file mode 100644 index 00000000..60dee89a --- /dev/null +++ b/components/mdx/link.tsx @@ -0,0 +1,7 @@ +import NextLink from 'next/link'; +import type { ComponentProps } from 'react'; + +/** Docusaurus-style , kept so existing pages work unchanged. */ +export function Link({ to, href, ...props }: ComponentProps<'a'> & { to?: string }) { + return ; +} diff --git a/components/mdx/mermaid.tsx b/components/mdx/mermaid.tsx new file mode 100644 index 00000000..ff41e34c --- /dev/null +++ b/components/mdx/mermaid.tsx @@ -0,0 +1,38 @@ +'use client'; + +import { useEffect, useId, useState } from 'react'; + +/** ```mermaid code blocks, drawn in the browser and redrawn on theme change. */ +export function Mermaid({ chart }: { chart: string }) { + const id = useId().replace(/[^a-zA-Z0-9]/g, ''); + const [svg, setSvg] = useState(); + + useEffect(() => { + let cancelled = false; + + async function render() { + const { default: mermaid } = await import('mermaid'); + const dark = document.documentElement.classList.contains('dark'); + mermaid.initialize({ + startOnLoad: false, + securityLevel: 'strict', + theme: dark ? 'dark' : 'default', + }); + const result = await mermaid.render(`mermaid-${id}-${dark ? 'd' : 'l'}`, chart); + if (!cancelled) setSvg(result.svg); + } + + void render(); + const observer = new MutationObserver(() => void render()); + observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] }); + + return () => { + cancelled = true; + observer.disconnect(); + }; + }, [chart, id]); + + if (!svg) return
    {chart}
    ; + // Mermaid output for our own content, rendered with securityLevel 'strict'. + return
    ; +} diff --git a/components/mdx/tabs.tsx b/components/mdx/tabs.tsx new file mode 100644 index 00000000..b900740b --- /dev/null +++ b/components/mdx/tabs.tsx @@ -0,0 +1,79 @@ +'use client'; + +import { Children, isValidElement, useState, type ReactElement, type ReactNode } from 'react'; +import { Tabs as TabsRoot } from 'fumadocs-ui/components/ui/tabs'; +import { TabsContent, TabsList, TabsTrigger } from 'fumadocs-ui/components/tabs'; +import { setStoredValue, useStoredValue } from '@/components/setup/store'; + +interface TabItemProps { + value: string; + label?: ReactNode; + default?: boolean; + children?: ReactNode; +} + +/** One tab. Only meaningful inside , which reads its props. */ +export function TabItem({ children }: TabItemProps) { + return <>{children}; +} + +/** + * Docusaurus-style tabs: + * + * + * … + * + * + * Tabs with the same groupId switch together, across pages, and remember the + * choice in the browser. The writes to the same groups, so + * picking "Caddy" there opens every Caddy tab. + */ +export function Tabs({ + groupId, + defaultValue, + children, +}: { + groupId?: string; + defaultValue?: string; + /** Accepted for Docusaurus compatibility; not used. */ + queryString?: boolean | string; + children?: ReactNode; +}) { + const items = Children.toArray(children).filter( + (child): child is ReactElement => + isValidElement(child) && typeof child.props.value === 'string', + ); + const values = items.map((item) => item.props.value); + const fallback = defaultValue ?? items.find((item) => item.props.default)?.props.value ?? values[0]; + + const [local, setLocal] = useState(fallback); + const shared = useStoredValue(groupId ? `tabs:${groupId}` : null); + // A group value this set of tabs doesn't have (e.g. "Rocky Linux NGINX") is ignored. + const active = shared && values.includes(shared) ? shared : local; + + return ( + { + setLocal(value); + if (groupId) setStoredValue(`tabs:${groupId}`, value); + }} + className="my-4 flex flex-col overflow-hidden rounded-xl border bg-fd-secondary" + > + + {items.map((item) => ( + + {item.props.label ?? item.props.value} + + ))} + + {items.map((item) => ( + // Every tab is in the HTML (hidden with CSS), so links into a closed tab + // and the page's static HTML both still have its content. + + {item.props.children} + + ))} + + ); +} diff --git a/components/setup/fields.ts b/components/setup/fields.ts new file mode 100644 index 00000000..f37e07f3 --- /dev/null +++ b/components/setup/fields.ts @@ -0,0 +1,21 @@ +/** The parts of an install the docs can fill in for the reader. */ +export const SETUP_FIELDS = ['domain', 'webserver', 'ssl', 'php', 'path'] as const; +export type SetupField = (typeof SETUP_FIELDS)[number]; + +/** Fields that replace text inside code blocks (see lib/shiki-setup.ts). */ +export const TEXT_FIELDS = ['domain', 'php', 'path'] as const; +export type TextField = (typeof TEXT_FIELDS)[number]; + +export function isTextField(value: unknown): value is TextField { + return TEXT_FIELDS.includes(value as TextField); +} + +export const PHP_VERSIONS = ['8.5', '8.4'] as const; +export const DEFAULT_PHP = '8.5'; +export const DEFAULT_PATH = '/var/www/pelican'; + +export const WEBSERVERS = [ + { value: 'nginx', label: 'NGINX' }, + { value: 'apache', label: 'Apache' }, + { value: 'caddy', label: 'Caddy' }, +] as const; diff --git a/components/setup/setup-panel.tsx b/components/setup/setup-panel.tsx new file mode 100644 index 00000000..4c8908f5 --- /dev/null +++ b/components/setup/setup-panel.tsx @@ -0,0 +1,194 @@ +'use client'; + +import { useId, type ReactNode } from 'react'; +import { RotateCcw, SlidersHorizontal } from 'lucide-react'; +import { setStoredValue, useStoredValue } from './store'; +import { DEFAULT_PATH, DEFAULT_PHP, PHP_VERSIONS, WEBSERVERS, type SetupField } from './fields'; + +/** + * "Your setup" box. The reader fills it in once; code blocks marked `setup` + * show their values, and tabs for the web server and HTTPS switch to match. + * + * + */ +export function SetupPanel({ fields = ['domain', 'webserver', 'ssl', 'php', 'path'] }: { fields?: SetupField[] }) { + const id = useId(); + const domain = useStoredValue('setup:domain') ?? ''; + const php = useStoredValue('setup:php') ?? DEFAULT_PHP; + const path = useStoredValue('setup:path') ?? ''; + const webserver = useStoredValue('tabs:webserver') ?? 'nginx'; + const ssl = useStoredValue('tabs:ssl') ?? 'https'; + + const show = (field: SetupField) => fields.includes(field); + + function reset() { + for (const key of ['setup:domain', 'setup:php', 'setup:path', 'tabs:webserver', 'tabs:ssl']) { + setStoredValue(key, null); + } + } + + return ( +
    +
    +
    +

    + + Your setup +

    +

    + Fill this in and the commands and config files on this page use your values. It's + saved in this browser only. +

    +
    + +
    + +
    + {show('domain') && ( + + setStoredValue('setup:domain', event.target.value.trim())} + className={inputClass} + /> + + )} + + {show('path') && ( + + setStoredValue('setup:path', event.target.value.trim().replace(/\/+$/, ''))} + className={inputClass} + /> + + )} + + {show('webserver') && ( + + setStoredValue('tabs:webserver', value)} + /> + + )} + + {show('ssl') && ( + + setStoredValue('tabs:ssl', value)} + /> + + )} + + {show('php') && ( + + ({ value: version, label: `PHP ${version}` }))} + onChange={(value) => setStoredValue('setup:php', value === DEFAULT_PHP ? null : value)} + /> + + )} +
    +
    + ); +} + +const inputClass = + 'w-full rounded-md border bg-fd-background px-3 py-2 font-mono text-sm text-fd-foreground placeholder:text-fd-muted-foreground/70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring'; + +function Field({ + label, + htmlFor, + hint, + children, +}: { + label: string; + htmlFor?: string; + hint?: string; + children: ReactNode; +}) { + const Label = htmlFor ? 'label' : 'span'; + return ( +
    + + {children} + {hint &&

    {hint}

    } +
    + ); +} + +function Segmented({ + name, + value, + options, + onChange, +}: { + name: string; + value: string; + options: readonly { value: string; label: string }[]; + onChange: (value: string) => void; +}) { + return ( +
    + {options.map((option) => { + const checked = option.value === value; + return ( + + ); + })} +
    + ); +} diff --git a/components/setup/setup-span.tsx b/components/setup/setup-span.tsx new file mode 100644 index 00000000..fce0bd6b --- /dev/null +++ b/components/setup/setup-span.tsx @@ -0,0 +1,14 @@ +import type { ComponentProps } from 'react'; +import { isTextField } from './fields'; +import { SetupValue } from './setup-value'; + +/** + * Replaces in MDX. Code-block spans tagged by lib/shiki-setup.ts become + * a client ; every other span stays a plain server-rendered span, + * so ordinary code blocks ship no extra JavaScript. + */ +export function SetupAwareSpan(props: ComponentProps<'span'> & { 'data-setup'?: string }) { + const field = props['data-setup']; + if (isTextField(field)) return {props.children}; + return ; +} diff --git a/components/setup/setup-value.tsx b/components/setup/setup-value.tsx new file mode 100644 index 00000000..edbebced --- /dev/null +++ b/components/setup/setup-value.tsx @@ -0,0 +1,20 @@ +'use client'; + +import type { ReactNode } from 'react'; +import { useStoredValue } from './store'; +import type { TextField } from './fields'; + +/** + * A spot in a code block that shows the reader's own value once they've set + * it, and the original text (e.g. ``) until then. + */ +export function SetupValue({ field, children }: { field: TextField; children: ReactNode }) { + const value = useStoredValue(`setup:${field}`); + + if (!value) return {children}; + return ( + + {value} + + ); +} diff --git a/components/setup/store.ts b/components/setup/store.ts new file mode 100644 index 00000000..628bed4f --- /dev/null +++ b/components/setup/store.ts @@ -0,0 +1,56 @@ +'use client'; + +import { useSyncExternalStore } from 'react'; + +/** + * Small values the reader picks (setup fields, tab groups), kept in + * localStorage under `pelican-docs:` so they carry across pages and + * visits. Nothing leaves the browser. + * + * pelican-docs:setup:domain -> "panel.example.com" + * pelican-docs:setup:php -> "8.4" + * pelican-docs:setup:path -> "/var/www/pelican" + * pelican-docs:tabs:webserver -> "caddy" + */ +const PREFIX = 'pelican-docs:'; +const listeners = new Set<() => void>(); + +function subscribe(listener: () => void) { + listeners.add(listener); + const onStorage = (event: StorageEvent) => { + if (event.key === null || event.key.startsWith(PREFIX)) listener(); + }; + window.addEventListener('storage', onStorage); + return () => { + listeners.delete(listener); + window.removeEventListener('storage', onStorage); + }; +} + +function read(key: string): string | null { + try { + return localStorage.getItem(PREFIX + key); + } catch { + // Storage can be blocked (private mode, strict cookie settings). + return null; + } +} + +export function setStoredValue(key: string, value: string | null) { + try { + if (value === null || value === '') localStorage.removeItem(PREFIX + key); + else localStorage.setItem(PREFIX + key, value); + } catch { + // Still update this page even if the value can't be saved. + } + for (const listener of listeners) listener(); +} + +/** The stored value, or null. Always null while server-rendering. */ +export function useStoredValue(key: string | null): string | null { + return useSyncExternalStore( + subscribe, + () => (key ? read(key) : null), + () => null, + ); +} diff --git a/docs/comparison.mdx b/content/docs/comparison.mdx similarity index 98% rename from docs/comparison.mdx rename to content/docs/comparison.mdx index f68b9123..f95d8e07 100644 --- a/docs/comparison.mdx +++ b/content/docs/comparison.mdx @@ -1,13 +1,7 @@ --- -id: comparison +title: "Comparison" --- -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Comparison - Pelican is a free, open-source game server control panel built on modern Laravel and Filament. It started as a fork of Pterodactyl and has since grown well beyond it. diff --git a/docs/team.mdx b/content/docs/contributors.mdx similarity index 97% rename from docs/team.mdx rename to content/docs/contributors.mdx index d3ea17f0..4ef42e90 100644 --- a/docs/team.mdx +++ b/content/docs/contributors.mdx @@ -1,9 +1,7 @@ --- -id: contributors +title: "Contributors" --- -# Contributors - ### Core Team | Name | Discord | Role | diff --git a/docs/eggs/creating-a-custom-egg.mdx b/content/docs/eggs/creating-a-custom-egg.mdx similarity index 99% rename from docs/eggs/creating-a-custom-egg.mdx rename to content/docs/eggs/creating-a-custom-egg.mdx index e647e08c..42febf75 100644 --- a/docs/eggs/creating-a-custom-egg.mdx +++ b/content/docs/eggs/creating-a-custom-egg.mdx @@ -1,4 +1,6 @@ -# Creating a Custom Egg +--- +title: "Creating a Custom Egg" +--- ## Create New Egg diff --git a/docs/eggs/creating-a-custom-yolk.mdx b/content/docs/eggs/creating-a-custom-yolk.mdx similarity index 99% rename from docs/eggs/creating-a-custom-yolk.mdx rename to content/docs/eggs/creating-a-custom-yolk.mdx index c18648d4..2ce91431 100644 --- a/docs/eggs/creating-a-custom-yolk.mdx +++ b/content/docs/eggs/creating-a-custom-yolk.mdx @@ -1,5 +1,6 @@ - -# Creating a Custom Yolk +--- +title: "Creating a Custom Yolk" +--- :::warning This tutorial uses examples from our [`ghcr.io/pelican-eggs/yolks:java_8`](https://github.com/pelican-eggs/yolks) docker image, which can be found on GitHub. This tutorial also assumes some knowledge of [Docker](https://docker.io/), we suggest reading up if this all looks foreign to you. diff --git a/content/docs/eggs/meta.json b/content/docs/eggs/meta.json new file mode 100644 index 00000000..9baf6504 --- /dev/null +++ b/content/docs/eggs/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Eggs", + "pages": ["creating-a-custom-egg", "creating-a-custom-yolk"] +} diff --git a/docs/guides/change-panel-domain.mdx b/content/docs/guides/change-panel-domain.mdx similarity index 93% rename from docs/guides/change-panel-domain.mdx rename to content/docs/guides/change-panel-domain.mdx index c9c3b353..c52f9164 100644 --- a/docs/guides/change-panel-domain.mdx +++ b/content/docs/guides/change-panel-domain.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Change Panel Domain +--- +title: "Change Panel Domain" +--- ## Webserver & Panel diff --git a/docs/guides/database-hosts.mdx b/content/docs/guides/database-hosts.mdx similarity index 97% rename from docs/guides/database-hosts.mdx rename to content/docs/guides/database-hosts.mdx index 2aa6a459..cd5c99c8 100644 --- a/docs/guides/database-hosts.mdx +++ b/content/docs/guides/database-hosts.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Database Hosts +--- +title: "Database Hosts" +--- Database hosts allow to create per-server databases on the given host. diff --git a/docs/guides/disk-quotas/about.mdx b/content/docs/guides/disk-quotas/about.mdx similarity index 89% rename from docs/guides/disk-quotas/about.mdx rename to content/docs/guides/disk-quotas/about.mdx index 0ac5a804..e2edc6d1 100644 --- a/docs/guides/disk-quotas/about.mdx +++ b/content/docs/guides/disk-quotas/about.mdx @@ -1,7 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Link from '@docusaurus/Link'; - -# About Quotas +--- +title: "About Quotas" +--- As called out in the Wings install docs, it is always recommended to keep the server files on a separate partition. diff --git a/docs/guides/disk-quotas/ext4-xfs.mdx b/content/docs/guides/disk-quotas/ext4-xfs.mdx similarity index 98% rename from docs/guides/disk-quotas/ext4-xfs.mdx rename to content/docs/guides/disk-quotas/ext4-xfs.mdx index 2683784b..b8a39de9 100644 --- a/docs/guides/disk-quotas/ext4-xfs.mdx +++ b/content/docs/guides/disk-quotas/ext4-xfs.mdx @@ -1,9 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import Link from '@docusaurus/Link'; - -# EXT4 and XFS +--- +title: "EXT4 and XFS" +--- This page covers disk quota management for EXT4/XFS. diff --git a/content/docs/guides/disk-quotas/meta.json b/content/docs/guides/disk-quotas/meta.json new file mode 100644 index 00000000..b2579fc9 --- /dev/null +++ b/content/docs/guides/disk-quotas/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Disk Quotas", + "pages": ["about", "ext4-xfs"] +} diff --git a/docs/guides/docker.mdx b/content/docs/guides/docker.mdx similarity index 96% rename from docs/guides/docker.mdx rename to content/docs/guides/docker.mdx index 5e707565..ce02b789 100644 --- a/docs/guides/docker.mdx +++ b/content/docs/guides/docker.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Installing Docker +--- +title: "Installing Docker" +--- For a quick install of Docker CE, you can use the command below: diff --git a/content/docs/guides/meta.json b/content/docs/guides/meta.json new file mode 100644 index 00000000..87454bf1 --- /dev/null +++ b/content/docs/guides/meta.json @@ -0,0 +1,16 @@ +{ + "title": "Guides", + "pages": [ + "docker", + "mounts", + "ssl", + "php-upgrade", + "database-hosts", + "change-panel-domain", + "uninstalling", + "migrating-from-pterodactyl", + "translating", + "troubleshooting", + "disk-quotas" + ] +} diff --git a/docs/guides/migrating-from-pterodactyl.mdx b/content/docs/guides/migrating-from-pterodactyl.mdx similarity index 97% rename from docs/guides/migrating-from-pterodactyl.mdx rename to content/docs/guides/migrating-from-pterodactyl.mdx index 37d48591..d60198ce 100644 --- a/docs/guides/migrating-from-pterodactyl.mdx +++ b/content/docs/guides/migrating-from-pterodactyl.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Migrating from Pterodactyl +--- +title: "Migrating from Pterodactyl" +--- Pelican upgrades your Pterodactyl database in place: users, servers, nodes, eggs, databases, backups, schedules, subusers and API keys all carry over. Your game servers keep running and keep their files. diff --git a/docs/guides/mounts.mdx b/content/docs/guides/mounts.mdx similarity index 97% rename from docs/guides/mounts.mdx rename to content/docs/guides/mounts.mdx index 965a9d95..2f59dae7 100644 --- a/docs/guides/mounts.mdx +++ b/content/docs/guides/mounts.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Using Mounts +--- +title: "Using Mounts" +--- Mounts is a feature that allows administrators to mount other directories from the host file-system into a Server's container. diff --git a/docs/guides/php-upgrade.mdx b/content/docs/guides/php-upgrade.mdx similarity index 95% rename from docs/guides/php-upgrade.mdx rename to content/docs/guides/php-upgrade.mdx index a828f6a2..63a735c7 100644 --- a/docs/guides/php-upgrade.mdx +++ b/content/docs/guides/php-upgrade.mdx @@ -1,12 +1,7 @@ --- -id: php-upgrade +title: "Upgrading PHP" --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Upgrading PHP - This documentation includes instructions for upgrading your system to the latest version of PHP. Please reference the table below to check what PHP version you need for your version of Pelican. diff --git a/docs/guides/ssl.mdx b/content/docs/guides/ssl.mdx similarity index 98% rename from docs/guides/ssl.mdx rename to content/docs/guides/ssl.mdx index d52e2bec..29448330 100644 --- a/docs/guides/ssl.mdx +++ b/content/docs/guides/ssl.mdx @@ -1,9 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - -# Creating SSL Certificates +--- +title: "Creating SSL Certificates" +--- These tutorials briefly cover creating a new SSL certificates for your panel and/or wings. diff --git a/docs/guides/translating.mdx b/content/docs/guides/translating.mdx similarity index 98% rename from docs/guides/translating.mdx rename to content/docs/guides/translating.mdx index fbe44341..282d3636 100644 --- a/docs/guides/translating.mdx +++ b/content/docs/guides/translating.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Translating Pelican +--- +title: "Translating Pelican" +--- The Panel is translated by the community on [Crowdin](https://crowdin.com/project/pelican-dev). Anyone can help, no coding needed. There is no minimum a language has to reach: whatever is translated ships, and missing strings fall back to English. diff --git a/docs/guides/troubleshooting.mdx b/content/docs/guides/troubleshooting.mdx similarity index 98% rename from docs/guides/troubleshooting.mdx rename to content/docs/guides/troubleshooting.mdx index 440109e9..08b7a4c3 100644 --- a/docs/guides/troubleshooting.mdx +++ b/content/docs/guides/troubleshooting.mdx @@ -1,13 +1,7 @@ --- -id: troubleshooting +title: "Troubleshooting" --- -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Troubleshooting - ## Panel errors If you see a `500 | SERVER ERROR` or `An unexpected error was encountered while processing this request` you have to check your panel logs by running the following command. diff --git a/docs/guides/uninstalling.mdx b/content/docs/guides/uninstalling.mdx similarity index 93% rename from docs/guides/uninstalling.mdx rename to content/docs/guides/uninstalling.mdx index 1148e914..38b28598 100644 --- a/docs/guides/uninstalling.mdx +++ b/content/docs/guides/uninstalling.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Uninstalling +--- +title: "Uninstalling" +--- This guide will show you how to uninstall the Pelican Panel and Wings. Note that the uninstallation of dependency services is not covered here. diff --git a/docs/index.mdx b/content/docs/index.mdx similarity index 96% rename from docs/index.mdx rename to content/docs/index.mdx index 4c24d7bc..e82f485a 100644 --- a/docs/index.mdx +++ b/content/docs/index.mdx @@ -1,11 +1,7 @@ --- -id: welcome +title: "Welcome to Pelican!" --- -import Admonition from '@theme/Admonition'; - -# Welcome to Pelican! - ### What is [Pelican](https://github.com/pelican/panel)? **Pelican** is a free, open-source server management panel for hosting game servers, software and applications in isolated Docker containers. diff --git a/content/docs/meta.json b/content/docs/meta.json new file mode 100644 index 00000000..fd95ca08 --- /dev/null +++ b/content/docs/meta.json @@ -0,0 +1,14 @@ +{ + "title": "Documentation", + "pages": [ + "index", + "panel", + "wings", + "eggs", + "guides", + "---Project---", + "versioning", + "comparison", + "contributors" + ] +} diff --git a/docs/panel/advanced/api-docs.mdx b/content/docs/panel/advanced/api-docs.mdx similarity index 84% rename from docs/panel/advanced/api-docs.mdx rename to content/docs/panel/advanced/api-docs.mdx index b3d340db..cbddf9fe 100644 --- a/docs/panel/advanced/api-docs.mdx +++ b/content/docs/panel/advanced/api-docs.mdx @@ -1,8 +1,7 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +--- +title: "API docs" +--- -# API docs The docs for the Pelican API can be found by going to `/docs/api` on your panel. diff --git a/docs/panel/advanced/artisan.mdx b/content/docs/panel/advanced/artisan.mdx similarity index 97% rename from docs/panel/advanced/artisan.mdx rename to content/docs/panel/advanced/artisan.mdx index befe6d51..4827db4a 100644 --- a/docs/panel/advanced/artisan.mdx +++ b/content/docs/panel/advanced/artisan.mdx @@ -1,4 +1,7 @@ -# Artisan Commands +--- +title: "Artisan Commands" +--- + This is very much a WIP! Many Many commands, Layout might change. Updated: 01/11/2026 diff --git a/docs/panel/advanced/cloudflare-tunnel.mdx b/content/docs/panel/advanced/cloudflare-tunnel.mdx similarity index 97% rename from docs/panel/advanced/cloudflare-tunnel.mdx rename to content/docs/panel/advanced/cloudflare-tunnel.mdx index 55b800c3..5b767456 100644 --- a/docs/panel/advanced/cloudflare-tunnel.mdx +++ b/content/docs/panel/advanced/cloudflare-tunnel.mdx @@ -1,10 +1,8 @@ --- -title: Cloudflare Tunnel -description: Run the Docker panel behind a Cloudflare Tunnel without opening any ports on the host. +title: "Cloudflare Tunnel" +description: "Run the Docker panel behind a Cloudflare Tunnel without opening any ports on the host." --- -# Cloudflare Tunnel - A [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) lets you serve the panel over HTTPS without opening any inbound ports on your host. A small `cloudflared` container makes an outbound connection to Cloudflare, and Cloudflare forwards requests for your hostname down that connection to the panel. This guide builds on the [Docker](/docs/panel/advanced/docker) installation. Read that page first, as the steps for backing up your encryption key, installing, and stopping the panel are the same. diff --git a/docs/panel/advanced/docker.mdx b/content/docs/panel/advanced/docker.mdx similarity index 99% rename from docs/panel/advanced/docker.mdx rename to content/docs/panel/advanced/docker.mdx index 0d8077f9..fd7e4151 100644 --- a/docs/panel/advanced/docker.mdx +++ b/content/docs/panel/advanced/docker.mdx @@ -1,4 +1,6 @@ -# Docker +--- +title: "Docker" +--- Pelican provides pre-built Docker images via GitHub Packages. `ghcr.io/pelican/panel:latest` is the current latest release, and `ghcr.io/pelican/panel:main` is built automatically from the current `main` branch. Deploying the panel in Docker is still a work in progress. While the plan is to make Docker the preferred installation method, we currently recommend the [standard deployment instructions](/docs/panel/getting-started) diff --git a/content/docs/panel/advanced/meta.json b/content/docs/panel/advanced/meta.json new file mode 100644 index 00000000..9861af2f --- /dev/null +++ b/content/docs/panel/advanced/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Advanced", + "pages": ["redis", "mysql", "artisan", "docker", "podman", "cloudflare-tunnel", "api-docs", "plugins"] +} diff --git a/docs/panel/advanced/mysql.mdx b/content/docs/panel/advanced/mysql.mdx similarity index 95% rename from docs/panel/advanced/mysql.mdx rename to content/docs/panel/advanced/mysql.mdx index b08f7b8e..0f43c9e5 100644 --- a/docs/panel/advanced/mysql.mdx +++ b/content/docs/panel/advanced/mysql.mdx @@ -1,5 +1,7 @@ -# MySQL - +--- +title: "MySQL" +--- + ## Install MariaDB MariaDB is a MySQL fork and the preferred MySQL software. Run the following commands to quickly install it. diff --git a/docs/panel/advanced/plugins.mdx b/content/docs/panel/advanced/plugins.mdx similarity index 99% rename from docs/panel/advanced/plugins.mdx rename to content/docs/panel/advanced/plugins.mdx index 80bef696..4b2ab4fe 100644 --- a/docs/panel/advanced/plugins.mdx +++ b/content/docs/panel/advanced/plugins.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Plugins +--- +title: "Plugins" +--- Plugins allow you to add new functionality to the panel without modifying any panel core files. diff --git a/docs/panel/advanced/podman.mdx b/content/docs/panel/advanced/podman.mdx similarity index 97% rename from docs/panel/advanced/podman.mdx rename to content/docs/panel/advanced/podman.mdx index 83ec6f2a..d2512459 100644 --- a/docs/panel/advanced/podman.mdx +++ b/content/docs/panel/advanced/podman.mdx @@ -1,11 +1,8 @@ --- -title: Podman Deployment -description: Deploy Pelican Panel using rootless Podman and Quadlets. -sidebar_label: Podman (Rootless) +title: "Deploying with Podman" +description: "Deploy Pelican Panel using rootless Podman and Quadlets." --- -# Deploying with Podman - This guide runs the panel's [Docker image](./docker) with **rootless Podman** on Fedora, RHEL, or Alma/Rocky Linux, using a **Quadlet** so systemd manages the container. Like the Docker guide, it uses SQLite and serves the panel over plain HTTP on port 80. ## Prerequisites diff --git a/docs/panel/advanced/redis.mdx b/content/docs/panel/advanced/redis.mdx similarity index 97% rename from docs/panel/advanced/redis.mdx rename to content/docs/panel/advanced/redis.mdx index f794a717..829843cf 100644 --- a/docs/panel/advanced/redis.mdx +++ b/content/docs/panel/advanced/redis.mdx @@ -1,4 +1,6 @@ -# Redis +--- +title: "Redis" +--- ## Install Redis diff --git a/docs/panel/getting-started.mdx b/content/docs/panel/getting-started.mdx similarity index 97% rename from docs/panel/getting-started.mdx rename to content/docs/panel/getting-started.mdx index 7860d644..afdacea6 100644 --- a/docs/panel/getting-started.mdx +++ b/content/docs/panel/getting-started.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Getting Started +--- +title: "Getting Started" +--- Pelican Panel is designed to run on your webserver. @@ -69,7 +67,7 @@ Finally, for some commands during the installation you need `curl`, `tar` and `u The first step in this process is to create the folder where the panel will live and then move ourselves into that newly created folder. -```sh +```sh setup sudo mkdir -p /var/www/pelican cd /var/www/pelican ``` diff --git a/content/docs/panel/meta.json b/content/docs/panel/meta.json new file mode 100644 index 00000000..dee77b62 --- /dev/null +++ b/content/docs/panel/meta.json @@ -0,0 +1,12 @@ +{ + "title": "Panel", + "defaultOpen": true, + "pages": [ + "getting-started", + "webserver-config", + "panel-setup", + "optional-config", + "update", + "advanced" + ] +} diff --git a/docs/panel/optional-config.mdx b/content/docs/panel/optional-config.mdx similarity index 99% rename from docs/panel/optional-config.mdx rename to content/docs/panel/optional-config.mdx index f2350153..45c691df 100644 --- a/docs/panel/optional-config.mdx +++ b/content/docs/panel/optional-config.mdx @@ -1,4 +1,6 @@ -# Optional Configuration +--- +title: "Optional Configuration" +--- ## Backups diff --git a/docs/panel/panel-setup.mdx b/content/docs/panel/panel-setup.mdx similarity index 91% rename from docs/panel/panel-setup.mdx rename to content/docs/panel/panel-setup.mdx index f780d22c..4b710747 100644 --- a/docs/panel/panel-setup.mdx +++ b/content/docs/panel/panel-setup.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Panel Setup +--- +title: "Panel Setup" +--- The core environment is easily configured using a single CLI command & the web installer built into the app. These steps will cover setting up things such as sessions, caching, database credentials, and email sending. @@ -29,17 +27,17 @@ sudo chmod -R 755 storage/* bootstrap/cache/ - ```sh + ```sh setup sudo chown -R www-data:www-data /var/www/pelican ``` - ```sh + ```sh setup sudo chown -R nginx:nginx /var/www/pelican ``` - ```sh + ```sh setup sudo chown -R apache:apache /var/www/pelican ``` diff --git a/docs/panel/update.mdx b/content/docs/panel/update.mdx similarity index 97% rename from docs/panel/update.mdx rename to content/docs/panel/update.mdx index 4408386b..d52ebfd4 100644 --- a/docs/panel/update.mdx +++ b/content/docs/panel/update.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Updating the Panel +--- +title: "Updating the Panel" +--- This documentation covers the process for updating the panel portion of Pelican. diff --git a/docs/panel/webserver-config.mdx b/content/docs/panel/webserver-config.mdx similarity index 85% rename from docs/panel/webserver-config.mdx rename to content/docs/panel/webserver-config.mdx index 00955e8a..2864362e 100644 --- a/docs/panel/webserver-config.mdx +++ b/content/docs/panel/webserver-config.mdx @@ -1,34 +1,36 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +--- +title: "Webserver Configuration" +description: "Set up NGINX, Apache or Caddy to serve the Pelican Panel." +--- -# Webserver Configuration +Fill in your setup below. The config files on this page update to match, so you can copy them as they are. +Underlined values come from your setup. + + When using the SSL (https) configuration you MUST create SSL certificates, otherwise your webserver will fail to start. See the [Creating SSL Certificates](/docs/guides/ssl) documentation page to learn how to create these certificates before continuing. - - - - If you're **not** using php8.5, you will need to edit the config file to point to the proper php fpm socket. - - The line is highlighted below. + + + + Pick your PHP version in **Your setup** above and the PHP-FPM socket line (highlighted below) uses it. First, remove the default NGINX configuration. ```sh sudo rm /etc/nginx/sites-enabled/default ``` - Now, you should paste the contents of the file below, replacing `` with your domain or IP being used in a file called + Now, you should paste the contents of the file below, with your domain filled in from **Your setup** (or replace `` yourself), into a file called `pelican.conf` and place the file in `/etc/nginx/sites-available/`. - - + + **Note:** IPs cannot be used with SSL. - ```nginx {5,11,25-26,47} title="/etc/nginx/sites-available/pelican.conf" + ```nginx setup {5,11,25-26,47} title="/etc/nginx/sites-available/pelican.conf" server_tokens off; server { @@ -97,8 +99,8 @@ import TabItem from '@theme/TabItem'; } ``` - - ```nginx {3,28} title="/etc/nginx/sites-available/pelican.conf" + + ```nginx setup {3,28} title="/etc/nginx/sites-available/pelican.conf" server { listen 80; server_name ; @@ -169,16 +171,16 @@ import TabItem from '@theme/TabItem'; a2dissite 000-default default-ssl 000-default-le-ssl ``` - Now, you should paste the contents of the file below, replacing `` with your domain name being used in a file called + Now, you should paste the contents of the file below, with your domain filled in from **Your setup** (or replace `` yourself), into a file called `pelican.conf` and place the file in `/etc/apache2/sites-available/`. Note: When using Apache, make sure you have the `libapache2-mod-php` package installed or else PHP will not display on your webserver. - - + + **Note:** IPs cannot be used with SSL. - ```apacheconf {2,10,24-25} title="/etc/apache2/sites-available/pelican.conf" + ```apacheconf setup {2,10,24-25} title="/etc/apache2/sites-available/pelican.conf" ServerName @@ -207,8 +209,8 @@ import TabItem from '@theme/TabItem'; ``` - - ```apacheconf {2} title="/etc/apache2/sites-available/pelican.conf" + + ```apacheconf setup {2} title="/etc/apache2/sites-available/pelican.conf" ServerName DocumentRoot "/var/www/pelican/public" @@ -230,13 +232,11 @@ import TabItem from '@theme/TabItem'; Once you've created the file above, simply run the commands below. - - If you're **not** using php8.5, you will need to edit the command to point to enable the correct mod. - - The line is highlighted below. + + Pick your PHP version in **Your setup** above and the highlighted `a2enmod` line uses it. - ```sh {3} + ```sh setup {3} sudo a2ensite pelican.conf sudo a2enmod rewrite sudo a2enmod php8.5 @@ -250,10 +250,8 @@ import TabItem from '@theme/TabItem'; - - If you're **not** using php8.5, you will need to edit the config file to point to the proper php fpm socket. - - The line is highlighted below. + + Pick your PHP version in **Your setup** above and the PHP-FPM socket line (highlighted below) uses it. First, remove the default Caddy configuration. @@ -263,12 +261,12 @@ import TabItem from '@theme/TabItem'; The config file path is `/etc/caddy/`. - - + + **Note:** IPs cannot be used with SSL. - ```caddy {9,14} title="/etc/caddy/Caddyfile" + ```caddy setup {9,14} title="/etc/caddy/Caddyfile" { servers :443 { timeouts { @@ -320,8 +318,8 @@ import TabItem from '@theme/TabItem'; } ``` - - ```caddy {9,14} title="/etc/caddy/Caddyfile" + + ```caddy setup {9,14} title="/etc/caddy/Caddyfile" { servers :80 { timeouts { diff --git a/docs/versioning.mdx b/content/docs/versioning.mdx similarity index 98% rename from docs/versioning.mdx rename to content/docs/versioning.mdx index 4d538709..bb405588 100644 --- a/docs/versioning.mdx +++ b/content/docs/versioning.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Versioning & Releases +--- +title: "Versioning & Releases" +--- Pelican follows [semantic versioning](https://semver.org/) (`MAJOR.MINOR.PATCH`). diff --git a/docs/wings/install.mdx b/content/docs/wings/install.mdx similarity index 98% rename from docs/wings/install.mdx rename to content/docs/wings/install.mdx index ce8953e3..7dfe0ae1 100644 --- a/docs/wings/install.mdx +++ b/content/docs/wings/install.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Installing Wings +--- +title: "Installing Wings" +--- This software will not work on Windows operating systems. diff --git a/content/docs/wings/meta.json b/content/docs/wings/meta.json new file mode 100644 index 00000000..68c1ca7a --- /dev/null +++ b/content/docs/wings/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Wings", + "pages": ["install", "optional-config", "update"] +} diff --git a/docs/wings/optional-config.mdx b/content/docs/wings/optional-config.mdx similarity index 99% rename from docs/wings/optional-config.mdx rename to content/docs/wings/optional-config.mdx index 3bdaf65e..7743357a 100644 --- a/docs/wings/optional-config.mdx +++ b/content/docs/wings/optional-config.mdx @@ -1,6 +1,6 @@ -import Admonition from '@theme/Admonition'; - -# Additional Configuration +--- +title: "Additional Configuration" +--- These are advanced configurations for Wings. You risk breaking Wings and making containers unusable if diff --git a/docs/wings/update.mdx b/content/docs/wings/update.mdx similarity index 88% rename from docs/wings/update.mdx rename to content/docs/wings/update.mdx index 9dc418d3..6a111996 100644 --- a/docs/wings/update.mdx +++ b/content/docs/wings/update.mdx @@ -1,8 +1,6 @@ -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Updating Wings +--- +title: "Updating Wings" +--- Updating Wings is a painless process and should take less than a minute to complete. diff --git a/src/pages/faq.mdx b/content/pages/faq.mdx similarity index 97% rename from src/pages/faq.mdx rename to content/pages/faq.mdx index 031b52dd..707672d9 100644 --- a/src/pages/faq.mdx +++ b/content/pages/faq.mdx @@ -1,16 +1,13 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import Admonition from '@theme/Admonition'; - - -# Frequently Asked Questions +--- +title: "Frequently Asked Questions" +--- Here are some of the most asked questions and our answers. -**Last Updated: 2026-09-29** +**Last Updated: 2026-11-02** - Yes, Pelican 1.0 is out! + Almost: Pelican 1.0 is at its second release candidate (1.0.0-rc.2, released 22 October 2026). **Head over to the [Install docs](/docs/panel/getting-started) and try out Pelican yourself.** diff --git a/data/eggs.json b/data/eggs.json new file mode 100644 index 00000000..bf76c84c --- /dev/null +++ b/data/eggs.json @@ -0,0 +1,9923 @@ +{ + "generatedAt": "2026-11-02T21:36:45.707Z", + "source": "https://raw.githubusercontent.com/pelican-eggs/pelican-eggs.github.io/main/content/pelican.json", + "hubFetchedAt": "2026-11-02T21:36:43.294Z", + "categories": [ + { + "id": "games", + "name": "Games", + "count": 206 + }, + { + "id": "minecraft", + "name": "Minecraft", + "count": 55 + }, + { + "id": "bots", + "name": "Chat bots", + "count": 19 + }, + { + "id": "voice", + "name": "Voice", + "count": 6 + }, + { + "id": "databases", + "name": "Databases", + "count": 12 + }, + { + "id": "software", + "name": "Software", + "count": 18 + }, + { + "id": "storage", + "name": "Storage", + "count": 2 + }, + { + "id": "monitoring", + "name": "Monitoring", + "count": 2 + }, + { + "id": "generic", + "name": "Generic", + "count": 12 + } + ], + "games": [ + { + "slug": "minecraft", + "name": "Minecraft", + "category": "minecraft", + "eggs": [ + { + "name": "Always Auth", + "description": "A simple proxy that sits between your server and Mojang's auth services that ensures even when they're offline, you stay online!", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/alwaysauth/egg-always-auth.json", + "image": "ghcr.io/pelican-eggs/yolks:java_21", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "JARFILE", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/always-auth", + "installs": 1, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "Attack of the B-Team", + "description": "This modpack was designed with one thing in mind, crazy mad science! With the help of the B-Team we hand picked the wackiest mods we could find and shoved them all in a modpack for you guys. The result is Attack of the B", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/attack-of-the-b-team", + "installs": 0, + "updatedAt": "2026-10-07T00:02:36+00:00" + }, + { + "name": "Blightfall", + "description": "Blightfall is a combination modpack and adventure map about surviving on an alien planet. It uses magic mods and tech mods to create a novel gameplay experience. Can you survive on a world completely covered by Thaumcraf", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/blightfall/egg-blightfall.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/blightfall", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Bungeecord", + "description": "For a long time, Minecraft server owners have had a dream that encompasses a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream. Whether you are a small se", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/bungeecord/egg-bungeecord.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "BUNGEE_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/bungeecord", + "installs": 3, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "Cuberite", + "description": "A lightweight, fast and extensible game server for Minecraft", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/cuberite/egg-cuberite.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERV_DESC", + "ADMIN_PASS", + "WEB_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/cuberite", + "installs": 0, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "CurseForge Generic", + "description": "A generic egg for a CurseForge modpack.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/curseforge/egg-curse-forge-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "API_KEY", + "VERSION_ID", + "PROJECT_ID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/curseforge-generic", + "installs": 16, + "updatedAt": "2026-10-06T00:02:07+00:00" + }, + { + "name": "Fabric", + "description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/fabric/egg-fabric.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "LOADER_VERSION", + "FABRIC_VERSION", + "MC_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/fabric", + "installs": 18, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "Feather", + "description": "An experimental Minecraft server implementation written in Rust.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/feather/egg-feather.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GEN_WORLD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/feather", + "installs": 2, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "Feed the Beast", + "description": "Egg to handle all official FTB Modpacks", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/ftb/outdated/egg-feed-the-beast.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_URL", + "MODPACK_VERSION", + "LEVEL_SEED", + "MAX_PLAYERS", + "LEVEL_NAME", + "MOTD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/feed-the-beast", + "installs": 1, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "Folia", + "description": "Fork of Paper which adds regionised multithreading to the dedicated server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/folia/egg-folia.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 17–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "DL_PATH", + "MINECRAFT_VERSION", + "PROJECT", + "SERVER_JARFILE", + "USER_AGENT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/folia", + "installs": 1, + "updatedAt": "2026-11-02T03:50:03+00:00" + }, + { + "name": "Folia", + "description": "Fork of Paper which adds regionised multithreading to the dedicated server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/folia/egg-folia.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 17–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "DL_PATH", + "MINECRAFT_VERSION", + "PROJECT", + "SERVER_JARFILE", + "USER_AGENT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/folia", + "installs": 1, + "updatedAt": "2026-11-02T03:50:03+00:00" + }, + { + "name": "Forge Minecraft", + "description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/forge/egg-forge-minecraft.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_TYPE", + "FORGE_VERSION", + "MC_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/forge-minecraft", + "installs": 14, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "FTB Revelation", + "description": "Revelation is a general all-purpose pack that is designed for solo play as well as small and medium population servers. This pack contains a mix of magic, tech and exploration mods, and is the largest pack ever built and", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/ftb/outdated/egg-f-t-b-revelation.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ftb-revelation", + "installs": 0, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "FTB Server", + "description": "This egg was developed to easily set up a server from FTB.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/ftb/egg-f-t-b-server.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "FTB_VERSION_STRING", + "FTB_MODPACK_VERSION_ID", + "FTB_SEARCH_TERM", + "FTB_MODPACK_ID" + ], + "hubUrl": null, + "installs": null, + "updatedAt": null + }, + { + "name": "FTB-modpacks.ch Server", + "description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/ftb/outdated/egg-f-t-b-modpacks-ch-server.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "FTB_SEARCH_TERM", + "FTB_MODPACK_ID", + "FTB_VERSION_STRING", + "FTB_MODPACK_VERSION_ID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ftb-server", + "installs": 5, + "updatedAt": "2026-11-02T03:50:04+00:00" + }, + { + "name": "Glowstone", + "description": "Glowstone is an open-source server implementation for Minecraft: Java Edition 1.12.2 and up.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/glowstone/egg-glowstone.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [], + "vars": [ + "GITHUB_OAUTH_TOKEN", + "GITHUB_PACKAGE", + "GITHUB_USER", + "VERSION", + "MATCH", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/glowstone", + "installs": 1, + "updatedAt": "2026-10-07T00:02:35+00:00" + }, + { + "name": "Hexxit", + "description": "Gear up and set forth on a campaign worthy of legend, for Hexxit has been unearthed! Dark dungeons, towering spires, weathered ruins and musty tomes lay before you. Lay claim to riches or create your own artifacts, tame ", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/hexxit/egg-hexxit.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/hexxit", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Ketting", + "description": "Magma successor for 1.20- with plugins and mods.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/ketting/egg-ketting.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 17–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JAR_FILE", + "GAME_VERSION", + "TAG_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ketting", + "installs": 0, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "Krypton", + "description": "A fast, lightweight Minecraft server written in Kotlin", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/krypton/egg-krypton.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JAR", + "KRYPTON_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/krypton", + "installs": 0, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "Limbo", + "description": "Standalone server program Limbo.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/limbo/egg-limbo.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/limbo", + "installs": 2, + "updatedAt": "2026-09-08T04:14:51+00:00" + }, + { + "name": "Magma", + "description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. Using: https://github.com/magmamaintained", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/magma/egg-magma.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "MC_VERSION", + "TAG_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/magma", + "installs": 0, + "updatedAt": "2026-10-07T00:02:35+00:00" + }, + { + "name": "Modrinth Generic", + "description": "A generic egg for a Modrinth modpack.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/modrinth/egg-modrinth-generic.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "PROJECT_ID", + "VERSION_ID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/modrinth-generic", + "installs": 4, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "MohistMC", + "description": "Spigot fork with performance optimizations.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/mohist/egg-mohist-m-c.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "DL_PATH", + "MC_VERSION", + "PROJECT", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mohistmc", + "installs": 2, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "NanoLimbo", + "description": "This is lightweight minecraft limbo server, written on Java with Netty. The main goal of the project is maximum simplicity with a minimum number of sent and processed packets. This limbo is empty, there are no ability to", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/nanolimbo/egg-nano-limbo.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "DOWNLOAD_URL", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nanolimbo", + "installs": 1, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "NeoForge", + "description": "NeoForge Server. NeoForge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other. NeoForge is a fork of Minecraft Forge.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/neoforge/egg-neo-forge.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": "/img/eggs/minecraft-neoforge.png", + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MC_VERSION", + "NEOFORGE_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/neoforge", + "installs": 8, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "Paper", + "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/paper/egg-paper.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "DL_PATH", + "MINECRAFT_VERSION", + "PROJECT", + "SERVER_JARFILE", + "USER_AGENT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/paper", + "installs": 30, + "updatedAt": "2026-10-05T00:02:10+00:00" + }, + { + "name": "Purpur", + "description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/purpur/egg-purpur.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "MINECRAFT_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/purpur", + "installs": 15, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "Purpur-Geyser-Floodgate", + "description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/crossplay/purpur-geysermc-floodgate/egg-purpur--geyser--floodgate.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MINECRAFT_VERSION", + "SERVER_JARFILE", + "BUILD_NUMBER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/purpur-geyser-floodgate", + "installs": 1, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "Quilt", + "description": "The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with ", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/quilt/egg-quilt.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": null, + "features": [], + "vars": [ + "MC_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/quilt", + "installs": 1, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "Spigot", + "description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of ", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/spigot/egg-spigot.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "DL_PATH", + "SERVER_JARFILE", + "DL_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/spigot", + "installs": 3, + "updatedAt": "2026-10-07T00:02:35+00:00" + }, + { + "name": "Sponge", + "description": "A community-driven open source Minecraft: Java Edition modding platform.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/spongevanilla/egg-sponge.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "FORGE_VERSION", + "MINECRAFT_VERSION", + "SERVER_JARFILE", + "SPONGE_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sponge", + "installs": 3, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "SpongeForge", + "description": "A community-driven open source Minecraft: Java Edition modding platform.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/spongeforge/egg-sponge-forge.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "SF_VERSION", + "FORGE_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/spongeforge", + "installs": 0, + "updatedAt": "2026-09-08T04:14:52+00:00" + }, + { + "name": "Tekkit", + "description": "Tekkit is set to reignite the same sort of wonder and awe that we all received from booting up Minecraft for the first time. With the skies open, the moon ready to be colonized (by force if need be) and dimensional myste", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/Tekkit/egg-tekkit.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tekkit", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Tekkit 2", + "description": "Those of you who are nostalgic for the early days of Tekkit (now known as Tekkit Classic), will love what awaits you in Tekkit 2! With a collection of nostalgic mods and plenty of new improvements, Tekkit 2 is sure to ca", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/Tekkit-2/egg-tekkit2.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–11", + "icon": null, + "features": [ + "eula", + "java_version" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tekkit-2", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Tekkit Classic", + "description": "Created by the Technic team, Tekkit Classic is a modpack for the record breaking sandbox construction game Minecraft. It brings together some of the best mods from the Minecraft community for automating, industrializing ", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/tekkit-classic/egg-tekkit-classic.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tekkit-classic", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Tekkit Legends", + "description": "The ancient power of Tekkits past return in this legendary pack! Wield the philosopher's stone, ride the rails, breed the bees, and much, much more! This pack will remind you of what you've always loved about Tekkit, whi", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/tekkit-legends/egg-tekkit-legends.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tekkit-legends", + "installs": 0, + "updatedAt": "2026-09-08T04:14:53+00:00" + }, + { + "name": "Tekkit SMP", + "description": "Tekkit SMP contains the full range of mods from Tekkit 2, plus the extra mods that were originally dropped in the transition from Technic SSP (to Technic SMP) to Tekkit, in favour of multiplayer and Bukkit support: mainl", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/tekkit-smp/egg-tekkit-smp.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–11", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION", + "BUILD_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tekkit-smp", + "installs": 0, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "The 1.12.2 Pack", + "description": "The 1.12.2 Pack", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/the-1-12-2-pack/egg-the1-12-2-pack.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-1122-pack", + "installs": 0, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "The 1.7.10 Pack", + "description": "The 1.7.10 Pack", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MODPACK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-1710-pack", + "installs": 0, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "Travertine", + "description": "Travertine is a fork of Waterfall with 1.7 protocol support. Waterfall is a fork of the well-known BungeeCord server teleportation suite.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/travertine/egg-travertine.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "MINECRAFT_VERSION", + "SERVER_JARFILE", + "DL_LINK", + "BUILD_NUMBER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/travertine", + "installs": 0, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "Vanilla Minecraft", + "description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited res", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/vanilla/egg-vanilla-minecraft.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_25", + "imageNote": "Java 8–25", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "VANILLA_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vanilla-minecraft", + "installs": 14, + "updatedAt": "2026-09-08T04:14:54+00:00" + }, + { + "name": "VanillaCord", + "description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited res", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/java/vanillacord/egg-vanilla-cord.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–18", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "VANILLA_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vanillacord", + "installs": 0, + "updatedAt": "2026-10-07T00:02:36+00:00" + }, + { + "name": "Velocity", + "description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/velocity/egg-velocity.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–25", + "icon": "/img/eggs/minecraft-velocity.png", + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "BUILD_NUMBER", + "DL_PATH", + "PROJECT", + "SERVER_JARFILE", + "USER_AGENT", + "VELOCITY_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/velocity", + "installs": 5, + "updatedAt": "2026-10-05T00:02:11+00:00" + }, + { + "name": "VIAaaS", + "description": "VIAaaS - ViaVersion as a Service - Standalone ViaVersion proxy", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/viaaas/egg-v-i-aaa-s.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "WEBSERVER_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/viaaas", + "installs": 0, + "updatedAt": "2026-09-08T04:14:55+00:00" + }, + { + "name": "ViaProxy", + "description": "ViaProxy is a standalone proxy which allows players to join EVERY Minecraft server version (Classic, Alpha, Beta, Release, Bedrock)", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/viaproxy/egg-via-proxy.json", + "image": "ghcr.io/pelican-eggs/yolks:java_21", + "imageNote": "Java 21–22", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "SERVER_JARFILE", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/viaproxy", + "installs": 1, + "updatedAt": "2026-09-08T04:14:55+00:00" + }, + { + "name": "Waterdog", + "description": "Waterdog is fork of the well-known Waterfall, which is a fork of the well-known BungeeCord, server teleportation suite.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/cross_platform/waterdog/egg-waterdog.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "WATERDOG_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/waterdog", + "installs": 0, + "updatedAt": "2026-10-07T00:02:36+00:00" + }, + { + "name": "Waterfall", + "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/waterfall/egg-waterfall.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "DL_LINK", + "MINECRAFT_VERSION", + "SERVER_JARFILE", + "BUILD_NUMBER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/waterfall", + "installs": 1, + "updatedAt": "2026-09-08T04:14:55+00:00" + } + ], + "steamAppId": null, + "icon": "/img/games/minecraft.svg", + "art": "/img/games/minecraft.svg" + }, + { + "slug": "minecraft-bedrock", + "name": "Minecraft: Bedrock Edition", + "category": "minecraft", + "eggs": [ + { + "name": "GoMint", + "description": "A performant and stable Minecraft server software for the Bedrock Edition that comes with a modern API and support for Java 11 LTS.", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/gomint/egg-go-mint.json", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/gomint", + "installs": 0, + "updatedAt": "2026-09-08T04:14:49+00:00" + }, + { + "name": "Liteloader Bedrock Dedicated Server", + "description": "LiteLoaderBDS - Epoch-making & Cross-language Bedrock Dedicated Servers Plugin Loader LiteLoaderBDS is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/LiteLoader-bedrock/egg-liteloader-bedrock-dedicated-server.json", + "image": "ghcr.io/pelican-eggs/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BDS_VERSION", + "LL_VERSION", + "WINEDEBUG", + "SERVERNAME", + "GAMEMODE", + "DIFFICULTY", + "MAXPLAYERS", + "WORLDNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/liteloader-bedrock-dedicated-server", + "installs": 0, + "updatedAt": "2026-09-08T04:14:49+00:00" + }, + { + "name": "Nukkit", + "description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition https://cloudburstmc.org", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/nukkit/egg-nukkit.json", + "image": "ghcr.io/pelican-eggs/yolks:java_11", + "imageNote": "Java 8–17", + "icon": null, + "features": [], + "vars": [ + "SERVER_JARFILE", + "DL_PATH", + "NUKKIT_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nukkit", + "installs": 0, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "PocketmineMP", + "description": "Pocketmine Egg by onekintaro from swisscrafting.ch with the nice help from #eggs Channel on Pelican Discord :)", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/pocketmine_mp/egg-pocketmine-m-p.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/pocketminemp", + "installs": 0, + "updatedAt": "2026-09-08T04:14:50+00:00" + }, + { + "name": "PowerNukkitX", + "description": "PowerNukkitX support for Pelican", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/PowerNukkitX/egg-power-nukkit-x.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "AUTOREBOOT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/powernukkitx", + "installs": 1, + "updatedAt": "2026-09-08T04:14:49+00:00" + }, + { + "name": "Vanilla Bedrock", + "description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, an", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/bedrock/egg-vanilla-bedrock.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [ + "pid_limit" + ], + "vars": [ + "BEDROCK_VERSION", + "LD_LIBRARY_PATH", + "SERVERNAME", + "GAMEMODE", + "DIFFICULTY", + "CHEATS", + "WORLDNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vanilla-bedrock", + "installs": 2, + "updatedAt": "2026-09-08T04:14:49+00:00" + }, + { + "name": "Vanilla Bedrock ARM64", + "description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, an", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/bedrock/egg-vanilla-bedrock-a-r-m64.json", + "image": "ghcr.io/pelican-eggs/yolks:box64", + "imageNote": null, + "icon": null, + "features": [ + "pid_limit" + ], + "vars": [ + "BEDROCK_VERSION", + "LD_LIBRARY_PATH", + "SERVERNAME", + "GAMEMODE", + "DIFFICULTY", + "CHEATS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vanilla-bedrock-arm64", + "installs": 0, + "updatedAt": "2026-09-08T04:14:49+00:00" + }, + { + "name": "Waterdog PE", + "description": "Brand new proxy server for Minecraft: Bedrock Edition", + "url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/bedrock/waterdog_pe/egg-waterdog-p-e.json", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": "Java 8–17", + "icon": null, + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "vars": [ + "WATERDOG_VERSION", + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/waterdog-pe", + "installs": 0, + "updatedAt": "2026-10-07T00:02:36+00:00" + } + ], + "steamAppId": null, + "icon": "/img/games/minecraft.svg", + "art": "/img/games/minecraft.svg" + }, + { + "slug": "factorio", + "name": "Factorio", + "category": "games", + "eggs": [ + { + "name": "Clusterio", + "description": "Clusterio is a clustered Factorio server manager that provides the tooling for implementing cross server interactions in Factorio. It was previously best known for implementing cross server transfer and cloud storage of ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/factorio/clusterio/egg-clusterio.json", + "image": "ghcr.io/parkervcp/yolks:nodejs_21", + "imageNote": "Node.js 18–21", + "icon": null, + "features": [], + "vars": [ + "SERVER_MODE", + "LOG_LEVEL", + "ADMIN_STRING", + "HOST_NAME", + "CONTROLLER_URL", + "CONTROLLER_TOKEN", + "PLUGINS", + "CLUSTER_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/clusterio", + "installs": 1, + "updatedAt": "2026-09-08T04:15:11+00:00" + }, + { + "name": "Factorio", + "description": "The vanilla Factorio server. https://www.factorio.com/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/factorio/factorio/egg-factorio.yaml", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/factorio-factorio.jpeg", + "features": [], + "vars": [ + "AFK_KICK", + "FACTORIO_VERSION", + "MAX_SLOTS", + "RCON_ENABLED", + "RCON_PASSWORD", + "RCON_PORT", + "SAVE_INTERVAL", + "SAVE_NAME", + "SAVE_SLOTS", + "SERVER_DESC", + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_TOKEN", + "SERVER_USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/factorio", + "installs": 2, + "updatedAt": "2026-09-08T04:15:12+00:00" + }, + { + "name": "Factorio ARM64", + "description": "The vanilla Factorio server. https://www.factorio.com/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/factorio/factorio/egg-factorio-a-r-m64.json", + "image": "ghcr.io/parkervcp/yolks:box64", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FACTORIO_VERSION", + "MAX_SLOTS", + "SAVE_NAME", + "SERVER_TOKEN", + "SERVER_NAME", + "SERVER_DESC", + "SERVER_USERNAME", + "SAVE_INTERVAL", + "SAVE_SLOTS", + "AFK_KICK", + "SERVER_PASSWORD", + "BOX64_DYNAREC_SAFEFLAGS", + "BOX64_DYNAREC_BIGBLOCK", + "BOX64_DYNAREC_FORWARD", + "BOX64_DYNAREC_CALLRET", + "BOX64_DYNAREC_FASTROUND", + "BOX64_DYNAREC_ALIGNED_ATOMICS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/factorio-arm64", + "installs": 1, + "updatedAt": "2026-09-08T04:15:12+00:00" + }, + { + "name": "Factorio-ModUpdate", + "description": "The vanilla Factorio server. With automatic Mod Updates after ReInstall. https://www.factorio.com/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/factorio/factorio-modupdate/egg-factorio--mod-update.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FACTORIO_VERSION", + "MAX_SLOTS", + "SAVE_NAME", + "SERVER_TOKEN", + "SERVER_NAME", + "SERVER_DESC", + "SERVER_USERNAME", + "SAVE_INTERVAL", + "SAVE_SLOTS", + "AFK_KICK" + ], + "hubUrl": "https://hub.pelican.dev/eggs/factorio-modupdate", + "installs": 1, + "updatedAt": "2026-09-08T04:15:12+00:00" + } + ], + "steamAppId": 427520, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/427520/ab9a2df0a77caebde20dc45adc021de8cdcf7cc5/header.jpg?t=1792752343", + "icon": "/img/games/factorio.webp" + }, + { + "slug": "grand-theft-auto-v", + "name": "Grand Theft Auto V", + "category": "games", + "eggs": [ + { + "name": "alt:V", + "description": "alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/altv/egg-alt--v.json", + "image": "ghcr.io/parkervcp/games:altv", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "LD_LIBRARY_PATH", + "BUILD", + "PASSWORD", + "SERVER_DESC" + ], + "hubUrl": "https://hub.pelican.dev/eggs/altv", + "installs": 1, + "updatedAt": "2026-10-14T00:02:21+00:00" + }, + { + "name": "FiveM", + "description": "A new FiveM / RedM egg for the latest builds due to recent changes in FiveM", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/fivem/egg-five-m.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FIVEM_LICENSE", + "MAX_PLAYERS", + "SERVER_HOSTNAME", + "FIVEM_VERSION", + "DOWNLOAD_URL", + "STEAM_WEBAPIKEY", + "TXHOST_TXA_PORT", + "TXADMIN_ENABLE", + "TXHOST_GAME_NAME", + "GAME_TYPE", + "TXHOST_DATA_PATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/fivem", + "installs": 7, + "updatedAt": "2026-09-08T04:15:12+00:00" + }, + { + "name": "Rage.MP", + "description": "https://rage.mp/ Modified to work with the latest version of RAGE:MP Will automatically install linux bridge. **This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for th", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/ragemp/egg-rage--m-p.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "MAX_PLAYERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ragemp", + "installs": 0, + "updatedAt": "2026-09-08T04:15:13+00:00" + }, + { + "name": "RageCOOP", + "description": "Drive around the interstate with your buddy, enjoy GTAs environment, make own missions and events or just chill in Grove Street! 🌐", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/ragecoop/egg-rage-c-o-o-p.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ragecoop", + "installs": 0, + "updatedAt": "2026-09-08T04:15:13+00:00" + } + ], + "steamAppId": 3240220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/3240220/header.jpg?t=1781187782", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/3240220/8355a7bbdb704f727bfba80ec56bc7228991338e.jpg" + }, + { + "slug": "terraria", + "name": "Terraria", + "category": "games", + "eggs": [ + { + "name": "Terraria Vanilla", + "description": "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/terraria/vanilla/egg-terraria-vanilla.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "TERRARIA_VERSION", + "WORLD_NAME", + "MAX_PLAYERS", + "WORLD_SIZE", + "WORLD_DIFFICULTY", + "SERVER_MOTD", + "WORLD_SEED", + "PASSWORD", + "NPCSTREAM" + ], + "hubUrl": "https://hub.pelican.dev/eggs/terraria-vanilla", + "installs": 1, + "updatedAt": "2026-09-08T04:15:16+00:00" + }, + { + "name": "tModloader", + "description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mo", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/terraria/tmodloader/egg-t-modloader.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_8", + "imageNote": ".NET 6–8", + "icon": null, + "features": [], + "vars": [ + "WORLD_NAME", + "MAX_PLAYERS", + "WORLD_SIZE", + "VERSION", + "GITHUB_USER", + "GITHUB_OAUTH_TOKEN", + "DIFFICULTY", + "SERVER_PASSWORD", + "MOTD", + "LANGUAGE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tmodloader", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + }, + { + "name": "tshock", + "description": "The t-shock modded terraria server. https://tshock.co/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/terraria/tshock/egg-tshock.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_6", + "imageNote": ".NET 6–9", + "icon": null, + "features": [], + "vars": [ + "MAX_PLAYERS", + "TSHOCK_VERSION", + "WORLD_NAME", + "WORLD_SIZE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tshock", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + }, + { + "name": "tshock legacy", + "description": "The t-shock modded terraria server. https://tshock.co/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/terraria/tshock/egg-tshock-legacy.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MAX_PLAYERS", + "WORLD_SIZE", + "WORLD_NAME", + "TSHOCK_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tshock-legacy", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 105600, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/105600/header.jpg?t=1792530636", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/105600/858961e95fbf869f136e1770d586e0caefd4cfac.jpg" + }, + { + "slug": "among-us", + "name": "Among Us", + "category": "games", + "eggs": [ + { + "name": "Among Us - Impostor Server", + "description": "Impostor is one of the first Among Us private servers, written in C#. There are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/among_us/impostor_server/egg-among-us--impostor-server.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_8", + "imageNote": ".NET 6–8", + "icon": null, + "features": [], + "vars": [ + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/among-us-impostor-server", + "installs": 2, + "updatedAt": "2026-09-08T04:15:10+00:00" + }, + { + "name": "BetterCrewlink Server", + "description": "An egg designed to allow support for Proximity Chat in Among Us using BetterCrewLink Server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/among_us/bettercrewlink_server/egg-better-crewlink-server.json", + "image": "ghcr.io/parkervcp/yolks:nodejs_16", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BRANCH", + "HOSTNAME", + "NAME", + "HTTPS", + "SSLPATH", + "PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/bettercrewlink-server", + "installs": 0, + "updatedAt": "2026-09-08T04:15:10+00:00" + }, + { + "name": "Crewlink server", + "description": "An egg designed to allow support for Proximity Chat in Among Us using CrewLink Server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/among_us/crewlink_server/egg-crewlink-server.json", + "image": "ghcr.io/parkervcp/yolks:nodejs_16", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BRANCH", + "ADDRESS", + "NAME", + "HTTPS", + "SSLPATH", + "PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/crewlink-server", + "installs": 0, + "updatedAt": "2026-09-08T04:15:10+00:00" + } + ], + "steamAppId": 945360, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/945360/d611f3f87743b5121532023b1d3ee2dd0e96e772/header.jpg?t=1792187809", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/945360/b82c3f46da8f3c918e1c9e0d18bd6fa8fcef6801.jpg" + }, + { + "slug": "grand-theft-auto-san-andreas", + "name": "Grand Theft Auto: San Andreas", + "category": "games", + "eggs": [ + { + "name": "Multi Theft Auto", + "description": "What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/mtasa/egg-multi-theft-auto.json", + "image": "ghcr.io/parkervcp/games:mta", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "LD_PRELOAD", + "SERVER_WEBPORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/multi-theft-auto", + "installs": 1, + "updatedAt": "2026-09-08T04:15:13+00:00" + }, + { + "name": "OpenMP", + "description": "A multiplayer mod for Grand Theft Auto: San Andreas that is fully backwards compatible with San Andreas Multiplayer.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/openmp/egg-open-m-p.json", + "image": "ghcr.io/parkervcp/games:samp", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "RCON_PASSWORD", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openmp", + "installs": 0, + "updatedAt": "2026-09-08T04:15:13+00:00" + }, + { + "name": "SA-MP", + "description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/samp/egg-s-a--m-p.json", + "image": "ghcr.io/parkervcp/games:samp", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "Version", + "RCON_PASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sa-mp", + "installs": 1, + "updatedAt": "2026-09-08T04:15:13+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "openra", + "name": "OpenRA", + "category": "games", + "eggs": [ + { + "name": "OpenRA", + "description": "OpenRA is a project that recreates and modernizes the classic Command & Conquer real time strategy games. We have developed a flexible open source game engine (the OpenRA engine) that provides a common platform for rebui", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openra/openra_red_alert/egg-open-r-a.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "PUBLIC", + "SINGLEPLAYER", + "AUTH", + "PASSWORD", + "GEOIP", + "ANONYMOUS", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openra", + "installs": 0, + "updatedAt": "2026-09-08T04:15:14+00:00" + }, + { + "name": "OpenRA - Dune2000", + "description": "OpenRA is a project that recreates and modernizes the classic Command & Conquer real time strategy games. We have developed a flexible open source game engine (the OpenRA engine) that provides a common platform for rebui", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openra/openra_dune2000/egg-open-r-a--dune2000.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "PUBLIC", + "SINGLEPLAYER", + "AUTH", + "PASSWORD", + "GEOIP", + "ANONYMOUS", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openra-dune2000", + "installs": 0, + "updatedAt": "2026-09-08T04:15:14+00:00" + }, + { + "name": "OpenRA - Tiberian Dawn", + "description": "OpenRA is a project that recreates and modernizes the classic Command & Conquer real time strategy games. We have developed a flexible open source game engine (the OpenRA engine) that provides a common platform for rebui", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openra/openra_tiberian_dawn/egg-open-r-a--tiberian-dawn.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "PUBLIC", + "SINGLEPLAYER", + "AUTH", + "PASSWORD", + "GEOIP", + "ANONYMOUS", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openra-tiberian-dawn", + "installs": 0, + "updatedAt": "2026-09-08T04:15:14+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "rust", + "name": "Rust", + "category": "games", + "eggs": [ + { + "name": "Rust", + "description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/rust/vanilla/egg-rust.yaml", + "image": "ghcr.io/pelican-eggs/games:rust", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADDITIONAL_ARGS", + "SRCDS_APPID", + "APP_PORT", + "MAP_URL", + "DESCRIPTION", + "LEVEL", + "MAX_PLAYERS", + "FRAMEWORK", + "QUERY_PORT", + "RCON_PASS", + "RCON_PORT", + "SAVEINTERVAL", + "SERVER_IMG", + "SERVER_LOGO", + "SERVER_HOSTNAME", + "SERVER_URL", + "WORLD_SEED", + "WORLD_SIZE", + "SERVER_TAGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rust", + "installs": 3, + "updatedAt": "2026-09-08T04:15:05+00:00" + }, + { + "name": "Rust Autowipe", + "description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/rust/rust_autowipe/egg-rust-autowipe.yaml", + "image": "ghcr.io/pterodactyl/games:rust", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "MAX_PLAYERS", + "LEVEL", + "DESCRIPTION", + "SERVER_URL", + "WORLD_SIZE", + "WORLD_SEED", + "SERVER_IMG", + "RCON_PORT", + "RCON_PASS", + "SAVEINTERVAL", + "ADDITIONAL_ARGS", + "REGEN_SERVER", + "REMOVE_FILES", + "QUERY_PORT", + "APP_PORT", + "MAP_URL", + "FRAMEWORK", + "HOSTNAME", + "SERVER_TAGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rust-autowipe", + "installs": 1, + "updatedAt": "2026-10-14T00:02:18+00:00" + }, + { + "name": "Rust Staging", + "description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/rust/rust_staging/egg-rust-staging.yaml", + "image": "ghcr.io/pterodactyl/games:rust", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "LEVEL", + "DESCRIPTION", + "SERVER_URL", + "WORLD_SIZE", + "WORLD_SEED", + "MAX_PLAYERS", + "SERVER_IMG", + "RCON_PORT", + "RCON_PASS", + "SAVEINTERVAL", + "SRCDS_BETAID", + "APP_PORT", + "SERVER_LOGO", + "SRCDS_APPID", + "HOSTNAME", + "SERVER_TAGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rust-staging", + "installs": 0, + "updatedAt": "2026-10-14T00:02:18+00:00" + } + ], + "steamAppId": 252490, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/252490/header.jpg?t=1781536981", + "icon": "/img/games/rust.webp" + }, + { + "slug": "valheim", + "name": "Valheim", + "category": "games", + "eggs": [ + { + "name": "Valheim", + "description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/valheim/valheim_vanilla/egg-valheim.json", + "image": "ghcr.io/parkervcp/games:valheim", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "BACKUP_COUNT", + "BACKUP_INTERVAL", + "BACKUP_LONGTIME", + "BACKUP_SHORTTIME", + "CONSOLE_FILTER", + "ENABLE_CROSSPLAY", + "LD_LIBRARY_PATH", + "PASSWORD", + "PUBLIC_SERVER", + "SERVER_NAME", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "WORLD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/valheim", + "installs": 5, + "updatedAt": "2026-09-08T04:15:09+00:00" + }, + { + "name": "Valheim BepINex", + "description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture incl the Plugin Framework BepInEx", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/valheim/valheim_bepinex/egg-valheim-bep-i-nex.yaml", + "image": "ghcr.io/parkervcp/games:valheim", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "BACKUP_COUNT", + "BACKUP_INTERVAL", + "BACKUP_LONGTIME", + "BACKUP_SHORTTIME", + "BEPINEX_URL", + "CONSOLE_FILTER", + "ENABLE_CROSSPLAY", + "LD_LIBRARY_PATH", + "PASSWORD", + "PUBLIC_SERVER", + "SERVER_NAME", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "V_MODPACK", + "WORLD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/valheim-bepinex", + "installs": 3, + "updatedAt": "2026-09-08T04:15:08+00:00" + }, + { + "name": "Valheim Plus Mod", + "description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/valheim/valheim_plus/egg-valheim-plus-mod.json", + "image": "ghcr.io/parkervcp/games:valheim", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "BACKUP_COUNT", + "BACKUP_INTERVAL", + "BACKUP_LONGTIME", + "BACKUP_SHORTTIME", + "CONSOLE_FILTER", + "ENABLE_CROSSPLAY", + "FILTER", + "GITHUB_PACKAGE", + "LD_LIBRARY_PATH", + "MATCH", + "PASSWORD", + "PUBLIC_SERVER", + "SERVER_NAME", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "VERSION", + "WORLD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/valheim-plus-mod", + "installs": 5, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 892970, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/892970/1888731b59362fca6c026cdbafa3dfffd45c3146/header_alt_assets_6.jpg?t=1791544831", + "icon": "/img/games/valheim.webp" + }, + { + "slug": "assetto-corsa", + "name": "Assetto Corsa", + "category": "games", + "eggs": [ + { + "name": "Assetto Corsa", + "description": "Assetto Corsa (Italian for \"Race Setup\") is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for exten", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/assetto_corsa/egg-assetto-corsa.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "HOSTNAME", + "PASSWORD", + "ADMIN_PASSWORD", + "HTTP_PORT", + "SRCDS_APPID", + "AUTO_UPDATE", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/assetto-corsa", + "installs": 1, + "updatedAt": "2026-10-14T00:02:14+00:00" + }, + { + "name": "Assetto Corsa (Freeroam + AI)", + "description": "Custom Assetto Corsa server with focus on freeroam", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/assetto_corsa/egg-assetto-corsa--freeroam--a-i.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_8", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "SERVER_PASSWORD", + "HTTP_PORT", + "ADMIN_PASSWORD", + "MAX_CLIENTS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/assetto-corsa-freeroam-ai", + "installs": 0, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 244210, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/244210/header.jpg?t=1793288663", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/244210/c35922c480816b55f18b2843c6d838ccbc8ff825.jpg" + }, + { + "slug": "beamng-drive", + "name": "BeamNG.drive", + "category": "games", + "eggs": [ + { + "name": "BeamMP Servers", + "description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/beamng/beammp/egg-beam-m-p-servers.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "NAME", + "DESCRIPTION", + "VERSION", + "AUTHKEY", + "MAX_PLAYERS", + "PRIVATE", + "MAX_CARS", + "MAP", + "LOGCHAT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/beammp-servers", + "installs": 2, + "updatedAt": "2026-09-08T04:15:10+00:00" + }, + { + "name": "KissMP Server", + "description": "Server for the KISS Multiplayer BeamNG.drive mod", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/beamng/kissmp/egg-kiss-m-p-server.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/kissmp-server", + "installs": 0, + "updatedAt": "2026-09-08T04:15:10+00:00" + } + ], + "steamAppId": 284160, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/284160/17f8af1312bc48e6cd90e5fb639d4981682af260/header.jpg?t=1792417797", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/284160/34f8997c32b2f463caf2014aab4a95109a896ecc.jpg" + }, + { + "slug": "conan-exiles", + "name": "Conan Exiles", + "category": "games", + "eggs": [ + { + "name": "Conan Exiles", + "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/conan_exiles/egg-conan-exiles-legacy.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "QUERY_PORT", + "RCON_PORT", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRV_NAME", + "SRV_PW", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/conan-exiles", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + }, + { + "name": "Conan Exiles Enhanced", + "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/conan_exiles/egg-conan-exiles-enhanced.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "QUERY_PORT", + "RCON_PORT", + "SRCDS_APPID", + "SRV_NAME", + "SRV_PW" + ], + "hubUrl": "https://hub.pelican.dev/eggs/conan-exiles-enhanced", + "installs": 1, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "custom-goldsrc-engine-game-hlds", + "name": "Custom GoldSrc engine game (HLDS)", + "category": "games", + "eggs": [ + { + "name": "Custom HLDS Engine Game", + "description": "This option allows modifying the startup arguments and other details to run a custom HLDS based game on the panel.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/hlds_server/vanilla/egg-custom-h-l-d-s-engine-game.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "HLDS_GAME", + "SRCDS_MAP", + "VAC_PORT", + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "SRCDS_BETAID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/custom-hlds-engine-game", + "installs": 1, + "updatedAt": "2026-09-08T04:15:00+00:00" + }, + { + "name": "Custom ReHLDS Engine Game", + "description": "This option allows modifying the startup arguments and other details to run a custom HLDS based game on the panel, substituting the official Valve engine binaries with the ReHLDS binaries.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/hlds_server/rehlds/egg-custom-re-h-l-d-s-engine-game.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "HLDS_GAME", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_MAP", + "STEAM_AUTH", + "STEAM_PASS", + "STEAM_USER", + "VAC_PORT", + "VALIDATE", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/custom-rehlds-engine-game", + "installs": 1, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "ddnet", + "name": "DDNet", + "category": "games", + "eggs": [ + { + "name": "DDNet", + "description": "Want to play the hardest cooperative 2D platformer ever? Want to finish no map ever? Want to be in pain for hours and cry, getting nothing in return? Come play DDNet with a large community of other sufferers!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/ddnet/egg-d-d-net.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "STEAM_USER", + "STEAM_PASS", + "SERVER_NAME", + "SERVER_PASS", + "SERVER_MAP", + "PUBLIC_SERVER", + "MAX_PLAYERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ddnet", + "installs": 0, + "updatedAt": "2026-10-14T00:02:15+00:00" + }, + { + "name": "DDRaceNetwork", + "description": "DDraceNetwork (DDNet) is an actively maintained version of DDRace, a Teeworlds modification with a unique cooperative gameplay.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/ddracenetwork/egg-d-d-race-network.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_MAP", + "SERVER_REGISTER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ddracenetwork", + "installs": 0, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": 412220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/412220/header.jpg?t=1757418450", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/412220/fd98ee937665b65eeb4309d04709abad88c7dfa6.jpg" + }, + { + "slug": "escape-from-tarkov-spt", + "name": "Escape from Tarkov (SPT)", + "category": "games", + "eggs": [ + { + "name": "Single Player Tarkov", + "description": "Single Player Tarkov (SPT) transforms your Escape From Tarkov (EFT) client into a fully offline experience. No more server downtime, cheaters, or forced PvP. Enjoy realistic raids, quest progression, and steady character", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/eft/spt/egg-single-player-tarkov.json", + "image": "ghcr.io/parkervcp/yolks:ubuntu", + "imageNote": "2 images", + "icon": null, + "features": [], + "vars": [ + "SPT_VERSION", + "SPT_NAME", + "GITHUB_USER", + "GITHUB_OAUTH_TOKEN", + "IS_WINE", + "FIKA" + ], + "hubUrl": "https://hub.pelican.dev/eggs/single-player-tarkov", + "installs": 1, + "updatedAt": "2026-10-05T00:02:13+00:00" + }, + { + "name": "Stay In Tarkov", + "description": "The Stay in Tarkov project was born due to Battlestate Games' (BSG) reluctance to create the pure PvE version of Escape from Tarkov. The project's aim is simple, create a Cooperation PvE experience that retains progressi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/eft/sit/egg-stay-in-tarkov.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SIT_VERSION", + "SIT_PACKAGE", + "SIT_NAME", + "GITHUB_USER", + "GITHUB_OAUTH_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/stay-in-tarkov", + "installs": 1, + "updatedAt": "2026-10-05T00:02:13+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "mordhau", + "name": "Mordhau", + "category": "games", + "eggs": [ + { + "name": "Mordhau", + "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/mordhau/egg-mordhau.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "MAX_PLAYERS", + "QUERY_PORT", + "ADMIN_PASSWORD", + "SERVER_NAME", + "GAME_PASSWORD", + "DEFAULT_MAP", + "BEACON_PORT", + "SRCDS_APPID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mordhau", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + }, + { + "name": "Mordhau Wine", + "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/mordhau/egg-mordhau-wine.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "QUERY_PORT", + "BEACON_PORT", + "WINDOWS_INSTALL", + "ADMIN_PASSWORD", + "SERVER_NAME", + "GAME_PASSWORD", + "DEFAULT_MAP", + "MAX_PLAYERS", + "AUTO_UPDATE", + "EXTRA_FLAGS", + "WINETRICKS_RUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mordhau-wine", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + } + ], + "steamAppId": 629760, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/629760/header.jpg?t=1777933284", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/629760/f04be0f078a1e41dd4df0149255617be299e0831.jpg" + }, + { + "slug": "palworld", + "name": "Palworld", + "category": "games", + "eggs": [ + { + "name": "Palworld", + "description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/palworld/egg-palworld.yaml", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "MAX_PLAYERS", + "ADMIN_PASSWORD", + "PUBLIC_IP", + "SERVER_NAME", + "SERVER_PASSWORD", + "RCON_PORT", + "RCON_ENABLE", + "SERVER_DESCRIPTION", + "CROSSPLAY_PLATFORMS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/palworld", + "installs": 9, + "updatedAt": "2026-10-14T00:02:17+00:00" + }, + { + "name": "Palworld Proton", + "description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/palworld/egg-palworld-proton.yaml", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "MAX_PLAYERS", + "SERVER_NAME", + "SERVER_PASSWORD", + "ADMIN_PASSWORD", + "PUBLIC_IP", + "RCON_PORT", + "RCON_ENABLE", + "SERVER_DESCRIPTION", + "WINDOWS_INSTALL", + "CROSSPLAY_PLATFORMS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/palworld-proton", + "installs": 2, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 1623730, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1623730/6912f19c43a95ff5fe514eedd35e68bf12335459/header.jpg?t=1790336367", + "icon": "/img/games/palworld.webp" + }, + { + "slug": "rimworld", + "name": "Rimworld", + "category": "games", + "eggs": [ + { + "name": "Rimworld Together", + "description": "A community driven multiplayer mod, for Rimworld.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/rimworld/together/egg-rimworld-together.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_7", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "MAX_PLAYERS", + "VERBOSE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rimworld-together", + "installs": 2, + "updatedAt": "2026-09-08T04:15:15+00:00" + }, + { + "name": "Rimworld: Open World", + "description": "The Open World mod allows you to create and join servers to play with people all around the world, it introduces plenty of new features including trading, gifting, bartering, PvP and so much more! https://github.com/D12-", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/rimworld/open_world/egg-rimworld--open-world.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_3.1", + "imageNote": ".NET 3.1–6", + "icon": null, + "features": [], + "vars": [ + "VERSION", + "MAX_PLAYERS", + "ENFORCE_MODS", + "USE_MOD_BLACKLIST", + "USE_CUSTOM_DIFF", + "WHITELIST", + "CUSTOM_SCEN", + "PLAYER_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rimworld-open-world", + "installs": 2, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 294100, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/294100/76e0613b8197327299d5dbabb0a7fd7828a689a2/header.jpg?t=1782756789", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/294100/addbe3b704b267060b4d5d7649cfb292de61bd70.jpg" + }, + { + "slug": "rising-world", + "name": "Rising World", + "category": "games", + "eggs": [ + { + "name": "Rising World Java Legacy", + "description": "Rising World is a voxel based open-world sandbox game, featuring a procedurally generated world, playable in single and multi-player.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/rising_world/legacy/egg-rising-world-java-legacy.json", + "image": "ghcr.io/parkervcp/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "MAX_PLAYERS", + "RCON_PORT", + "RCON_PASSWORD", + "LD_LIBRARY_PATH", + "SERVER_PASSWORD", + "SRCDS_APPID", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rising-world-java-legacy", + "installs": 0, + "updatedAt": "2026-09-08T04:15:04+00:00" + }, + { + "name": "Rising World Unity", + "description": "Rising World is a voxel based open-world sandbox game, featuring a procedurally generated world, playable in single and multi-player.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/rising_world/unity/egg-rising-world-unity.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_BETAID", + "LD_LIBRARY_PATH", + "SRV_NAME", + "SRV_PW", + "GAME_MODE", + "WORLD_NAME", + "RCON", + "RCON_PASS", + "RCON_PORT", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rising-world-unity", + "installs": 0, + "updatedAt": "2026-10-14T00:02:18+00:00" + } + ], + "steamAppId": 324080, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/324080/header.jpg?t=1788810096", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/324080/4c998b921ffe428790bcdecb7f451e8e89d8b1c9.jpg" + }, + { + "slug": "scp-secret-laboratory", + "name": "SCP: Secret Laboratory", + "category": "games", + "eggs": [ + { + "name": "SCP:SL", + "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/scpsl/dedicated/egg-s-c-p--s-l.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "DOTNET_BUNDLE_EXTRACT_BASE_DIR", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/scpsl", + "installs": 0, + "updatedAt": "2026-09-08T04:15:05+00:00" + }, + { + "name": "SCP:SL - Exiled", + "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server with Exiled Plugin Framework", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/scpsl/exiled/egg-s-c-p-s-l--exiled.yaml", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "DOTNET_BUNDLE_EXTRACT_BASE_DIR", + "VERSION", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/scpsl-exiled", + "installs": 0, + "updatedAt": "2026-09-08T04:15:05+00:00" + } + ], + "steamAppId": 700330, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/700330/57931a3aa75ae823086fd945d891d6a5c98d6172/header.jpg?t=1792263389", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/700330/c61fb24a5e0d348a922ec6b5ea1095c9bcf7ecd0.jpg" + }, + { + "slug": "space-engineers", + "name": "Space Engineers", + "category": "games", + "eggs": [ + { + "name": "Space Engineers", + "description": "Space Engineers is a voxel-based sandbox game set in space and on planets.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/space_engineers/default/egg-space-engineers.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SERVER_NAME", + "WORLD_NAME", + "SERVER_DESC", + "SERVER_MODE", + "MAX_PLAYERS", + "SAVE_ENABLED", + "SAVE_INTERVAL", + "STEAM_PORT", + "REMOTEAPI_ENABLE", + "REMOTEAPI_PORT", + "AUTO_UPDATE", + "EXPERIMENTAL_ENABLED", + "INGAMESCRIPTS_ENABLED", + "WINEDEBUG", + "WINDOWS_INSTALL", + "WINETRICKS_RUN", + "WINEARCH", + "WINEPATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/space-engineers", + "installs": 1, + "updatedAt": "2026-10-14T00:02:18+00:00" + }, + { + "name": "Space Engineers - Torch Server", + "description": "Torch is the successor to SE Server Extender and gives server admins the tools they need to keep their Space Engineers servers running smoothly. It features a user interface with live management tools and a plugin system", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/space_engineers/torch/egg-space-engineers--torch-server.yaml", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SAVE_INTERVAL", + "AUTO_UPDATE", + "REMOTEAPI_ENABLE", + "SAVE_ENABLED", + "SERVER_MODE", + "MAX_PLAYERS", + "REMOTEAPI_PORT", + "SERVER_DESC", + "SERVER_NAME", + "STEAM_PORT", + "WINDOWS_INSTALL", + "WINEDEBUG", + "WINEPREFIX", + "WINETRICKS_RUN", + "WORLD_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/space-engineers-torch-server", + "installs": 1, + "updatedAt": "2026-10-14T00:02:19+00:00" + } + ], + "steamAppId": 244850, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/244850/3658a69c81af5f4014b0ffa88941285e74825b86/header.jpg?t=1785173739", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/244850/f9856a90000d88e9a89441a7381fe9877e91eaca.jpg" + }, + { + "slug": "squad", + "name": "Squad", + "category": "games", + "eggs": [ + { + "name": "Squad", + "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base bui", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/squad/egg-squad.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "LD_LIBRARY_PATH", + "SRCDS_APPID", + "servername", + "maxplayers", + "allowteamchange", + "advertise", + "reservedslots", + "ptciu", + "teambal", + "recorddemos", + "BEACON_PORT", + "WORKSHOP_ITEMS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/squad", + "installs": 0, + "updatedAt": "2026-09-08T04:15:06+00:00" + }, + { + "name": "Squad Wine", + "description": "Squad is a realism-based military tactical first-person shooter video game developed and published by Canadian indie developer Offworld Industries exclusively through the Steam distribution platform. It is a spiritual su", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/squad/egg-squad-wine.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "WORKSHOP_ITEMS", + "BEACON_PORT", + "MAXPLAYERS", + "SERVERNAME", + "ALLOWTEAMCHANGE", + "TKAUTOKICKENABLED", + "FIXEDMAXTICKRATE", + "QUERY_PORT", + "ADVERTISE", + "RESERVEDSLOTS", + "PTCIU", + "TEAMBAL", + "RECORDDEMOS", + "WINDOWS_INSTALL", + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "INSTALL_FLAGS" + ], + "hubUrl": null, + "installs": null, + "updatedAt": null + } + ], + "steamAppId": 393380, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/393380/0b19b50aabea356bd8f534fbe7d6db9bd227810a/header.jpg?t=1792423549", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/393380/eb66a8cb52165274c84cae6526205065d13119d5.jpg" + }, + { + "slug": "stationeers", + "name": "Stationeers", + "category": "games", + "eggs": [ + { + "name": "Stationeers", + "description": "Stationeers Server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/stationeers/stationeers_vanilla/egg-stationeers.json", + "image": "ghcr.io/parkervcp/steamcmd:ubuntu", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_PAUSE", + "AUTO_UPDATE", + "AUTOSAVE", + "SRCDS_BETAID", + "DIFFICULTY", + "WORLD_ID", + "MAX_PLAYERS", + "SAVE_INTERVAL", + "SERVER_AUTH_SECRET", + "SERVER_PASSWD", + "START_CONDITION", + "START_LOCATION", + "STATION_NAME", + "SRCDS_APPID", + "UPNP", + "UPDATE_PORT", + "USE_STEAM_P2_P" + ], + "hubUrl": "https://hub.pelican.dev/eggs/stationeers", + "installs": 0, + "updatedAt": "2026-10-14T00:02:19+00:00" + }, + { + "name": "Stationeers (BepInEx)", + "description": "Stationeers Server with very basic BepInEx support", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/stationeers/stationeers_bepinex/egg-stationeers--bep-in-ex.json", + "image": "ghcr.io/parkervcp/steamcmd:ubuntu", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "WORLD_NAME", + "MAX_PLAYERS", + "SERVER_PASSWD", + "SAVE_NAME", + "AUTOSAVE", + "SAVE_INTERVAL", + "UPNP", + "SRCDS_APPID", + "AUTO_UPDATE", + "UPDATE_PORT", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/stationeers-bepinex", + "installs": 0, + "updatedAt": "2026-10-14T00:02:19+00:00" + } + ], + "steamAppId": 544550, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/544550/header.jpg?t=1787270003", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/544550/2111b7ad54c3d3ed9b4b1afed7d99336270c13e3.jpg" + }, + { + "slug": "v-rising", + "name": "V Rising", + "category": "games", + "eggs": [ + { + "name": "V Rising", + "description": "Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online an", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/v_rising/v_rising_vanilla/egg-v-rising.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": "2 images", + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "VR_QUERY_PORT", + "VR_HIDEIPADDRESS", + "AUTO_UPDATE", + "VR_PRESET", + "VR_DIFFICULTY_PRESET", + "VR_NAME", + "VR_DESCRIPTION", + "VR_MAX_USERS", + "VR_MAX_ADMINS", + "VR_PASSWORD", + "VR_SECURE", + "VR_SAVE_NAME", + "VR_SAVE_COUNT", + "VR_SAVE_INTERVAL", + "VR_FPS", + "VR_LOWER_FPS_WHEN_EMPTY", + "VR_LOWER_FPS_WHEN_EMPTY_VALUE", + "VR_LIST_ON_EOS", + "VR_LIST_ON_STEAM", + "VR_RCON_ENABLED", + "VR_RCON_PASSWORD", + "VR_RCON_PORT", + "VALIDATE", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "WINEDEBUG", + "WINEARCH", + "WINEPATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/v-rising", + "installs": 1, + "updatedAt": "2026-09-08T04:15:08+00:00" + }, + { + "name": "V Rising BepInEx", + "description": "Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online an", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/v_rising/v_rising_bepinex/egg-v-rising-bep-in-ex.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "AUTO_UPDATE", + "GAME_SETTINGS_PRESET", + "SERVER_NAME", + "DESCRIPTION", + "MAX_PLAYERS", + "MAX_ADMINS", + "SERVER_PASSWORD", + "SAVE_NAME", + "SAVE_COUNT", + "SAVE_INTERVAL", + "SERVER_LIST", + "VALIDATE", + "FPS", + "RCON", + "RCON_PASS", + "RCON_PORT", + "SERVER_SECURE", + "ADMIN_ONLY_DEBUG_EVENTS", + "DEBUG_EVENTS", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "WINEDEBUG", + "WINEPATH", + "XVFB", + "WINETRICKS_RUN", + "WINEARCH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/v-rising-bepinex", + "installs": 1, + "updatedAt": "2026-10-14T00:02:20+00:00" + } + ], + "steamAppId": 1604030, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1604030/be49834ab147ad22ba17005fb847c93917d18b97/header.jpg?t=1793181016", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1604030/d18204000a839feb84393b3d860c17cd4a4b269c.jpg" + }, + { + "slug": "5e-tools", + "name": "5e Tools", + "category": "software", + "eggs": [ + { + "name": "5e Tools", + "description": "A suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/5e-tools/egg-5e-tools.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "IMAGE_REPOSITORY", + "SRC_REPOSITORY" + ], + "hubUrl": "https://hub.pelican.dev/eggs/5e-tools", + "installs": 0, + "updatedAt": "2026-10-07T00:02:41+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "7-days-to-die", + "name": "7 Days to Die", + "category": "games", + "eggs": [ + { + "name": "7 Days To Die", + "description": "7 days to die server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/7_days_to_die/egg-7-days-to-die.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "MAX_PLAYERS", + "GAME_DIFFICULTY", + "SRCDS_APPID", + "AUTO_UPDATE", + "LD_LIBRARY_PATH", + "SRCDS_BETAID", + "PASSWORD", + "TELNET_PORT", + "SERVER_DISABLED_NETWORK_PROTOCOLS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/7-days-to-die", + "installs": 3, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 251570, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/251570/header.jpg?t=1793138252", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/251570/f6515dd177b2992aebcb563151fbe836a600f364.jpg" + }, + { + "slug": "abiotic-factor", + "name": "Abiotic Factor", + "category": "games", + "eggs": [ + { + "name": "Abiotic Factor", + "description": "Abiotic Factor is a survival crafting experience for 1-6 players set in the depths of an underground research facility. Caught between paranormal containment failure, a military crusade, and chaos from a dozen realms, th", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/abiotic_factor/egg-abiotic-factor.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "NUM_PLAYERS", + "QUERY_PORT", + "SANDBOX_INI_PATH", + "SERVER_NAME", + "SERVER_PASSWORD", + "AUTO_UPDATE", + "SRCDS_APPID", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/abiotic-factor", + "installs": 1, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 427410, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/427410/0bccdb269cdbb25c701cd00c3179cc29647e1fb8/header_alt_assets_7.jpg?t=1793034207", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/427410/789cca4e4e51a6649f5728d870d3a602e3c453fe.jpg" + }, + { + "slug": "american-truck-simulator", + "name": "American Truck Simulator", + "category": "games", + "eggs": [ + { + "name": "American Truck Simulator Dedicated Server", + "description": "This will set up SteamCMD and all the required files for the newly released American Truck Simulator Dedicated server. Simply placed the exported server config from your ATS instance to the .local/share/American Truck Si", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/truck-simulator/american-truck-simulator/egg-american-truck-simulator-dedicated-server.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "QUERY_PORT", + "STEAM_TOKEN", + "LOBBY_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/american-truck-simulator-dedicated-server", + "installs": 1, + "updatedAt": "2026-09-08T04:15:08+00:00" + } + ], + "steamAppId": 270880, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/270880/a80e5a18363259677ca96c2a39503ea595d2a45f/header.jpg?t=1792055632", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/270880/2aec8af4b4b23cb6054d9aea06194621cdd66945.jpg" + }, + { + "slug": "aoede", + "name": "Aoede", + "category": "bots", + "eggs": [ + { + "name": "Aoede", + "description": "Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/aoede/egg-aoede.yaml", + "image": "ghcr.io/parkervcp/yolks:ubuntu", + "imageNote": null, + "icon": "/img/eggs/aoede-aoede.png", + "features": [], + "vars": [ + "SPOTIFY_BOT_AUTOPLAY", + "DISCORD_USER_ID", + "SPOTIFY_PASSWORD", + "DISCORD_TOKEN", + "SPOTIFY_USERNAME", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/aoede", + "installs": 4, + "updatedAt": "2026-10-05T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/aoede-aoede.png", + "art": "/img/eggs/aoede-aoede.png" + }, + { + "slug": "archean", + "name": "Archean", + "category": "games", + "eggs": [ + { + "name": "Archean", + "description": "Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode.Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks.Create unique conf", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/archean/egg-archean.json", + "image": "ghcr.io/pelican-eggs/yolks:ubuntu", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "GAME_MODE", + "ONLINE_MODE", + "MAX_PLAYERS", + "PASSWORD", + "SPAWN_PLANET", + "AUTOSAVE_INTERVAL", + "UPDATES_PER_SECOND", + "PHYSICS_UPDATES_PER_UPDATE", + "ADMINS", + "WORLD_NAME", + "GIT_ADDRESS", + "BRANCH", + "SCREEN_COMPRESSION_LEVEL", + "LOOP_THREAD_AFFINITY", + "BLACKLIST" + ], + "hubUrl": "https://hub.pelican.dev/eggs/archean", + "installs": 0, + "updatedAt": "2026-10-05T00:02:13+00:00" + } + ], + "steamAppId": 2941660, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2941660/header.jpg?t=1793038298", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2941660/3c5769f46f19d43cca32217b55833876dcf128da.jpg" + }, + { + "slug": "archisteamfarm", + "name": "ArchiSteamFarm", + "category": "software", + "eggs": [ + { + "name": "ArchiSteamFarm", + "description": "ArchiSteamFarm (ASF) is a C# application that allows you to farm Steam cards using multiple Steam accounts simultaneously. It features a web-based IPC interface for remote management. https://github.com/JustArchiNET/Arch", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/archsteamfarm/egg-archi-steam-farm.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "ASF_VERSION", + "IPC_PASSWORD", + "ASF_URL", + "ASF_ARGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/archisteamfarm", + "installs": 0, + "updatedAt": "2026-10-10T00:02:12+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "ark-survival-ascended", + "name": "ARK: Survival Ascended", + "category": "games", + "eggs": [ + { + "name": "ARK: Survival Ascended", + "description": "ARK is reimagined from the ground-up into the next-generation of video game technology with Unreal Engine 5! Form a tribe, tame & breed hundreds of unique dinosaurs and primeval creatures, explore, craft, build, and figh", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/ark_survival_ascended/egg-a-r-k--survival-ascended.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ARGS_FLAGS", + "ARGS_PARAMS", + "SRCDS_APPID", + "AUTO_UPDATE", + "BATTLE_EYE", + "MOD_IDS", + "MAX_PLAYERS", + "RCON_PORT", + "ARK_ADMIN_PASSWORD", + "SERVER_MAP", + "SESSION_NAME", + "SERVER_PASSWORD", + "SERVER_PVE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ark-survival-ascended", + "installs": 4, + "updatedAt": "2026-10-14T00:02:13+00:00" + } + ], + "steamAppId": 2399830, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2399830/d934813ca531af0fce69fe36bc972f1c90d1aa19/header.jpg?t=1793226168", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2399830/655cc2012105979c2b8e4821d568351c86b22be7.jpg" + }, + { + "slug": "ark-survival-evolved", + "name": "ARK: Survival Evolved", + "category": "games", + "eggs": [ + { + "name": "Ark: Survival Evolved", + "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other pri", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/ark_survival_evolved/egg-ark--survival-evolved.json", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": "/img/eggs/ark-survival-evolved-ark-survival-evolved.jpeg", + "features": [ + "steam_disk_space" + ], + "vars": [ + "ARK_PASSWORD", + "ARK_ADMIN_PASSWORD", + "SERVER_MAP", + "SESSION_NAME", + "RCON_PORT", + "QUERY_PORT", + "AUTO_UPDATE", + "BATTLE_EYE", + "SRCDS_APPID", + "ARGS", + "MOD_ID", + "MAX_PLAYERS", + "SRCDS_BETAID", + "SRCDS_BETAPASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ark-survival-evolved", + "installs": 2, + "updatedAt": "2026-10-14T00:02:14+00:00" + } + ], + "steamAppId": 346110, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/346110/header.jpg?t=1793226330", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/346110/fef1799533131c10f538d2dd697bbbd89e663265.jpg" + }, + { + "slug": "arma-3", + "name": "Arma 3", + "category": "games", + "eggs": [ + { + "name": "Arma 3", + "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/arma/arma3/egg-arma3.json", + "image": "ghcr.io/parkervcp/games:arma3", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "STEAMCMD_ATTEMPTS", + "RCON_PORT", + "UPDATE_SERVER", + "STEAMCMD_BETAID", + "SERVER_BINARY", + "MAX_PLAYERS", + "SERVER_PASSWORD", + "MOD_FILE", + "MODIFICATIONS", + "PARAM_NOLOGS", + "PARAM_LOADMISSIONTOMEMORY", + "PARAM_AUTOINIT", + "RCON_PASSWORD", + "SERVERMODS", + "OPTIONALMODS", + "PARAM_FILEPATCHING", + "PARAM_LIMITFPS", + "HC_NUM", + "HC_HIDE", + "MODS_LOWERCASE", + "VALIDATE_SERVER", + "STEAMCMD_APPID", + "BASIC_CFG_URL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/arma-3", + "installs": 2, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 107410, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/107410/header.jpg?t=1786458620", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/107410/3212af52faf994c558bd622cb0f360c1ef295a6b.jpg" + }, + { + "slug": "arma-reforger", + "name": "Arma Reforger", + "category": "games", + "eggs": [ + { + "name": "Arma Reforger", + "description": "Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km² mid-Atlantic island — or take on the role of Game Master and create your very own scenarios for others to enjoy.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/arma/arma_reforger/egg-arma-reforger.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASS", + "AUTO_UPDATE", + "DISABLE_THIRD", + "BATTLEYE", + "MAX_PLAYERS", + "SCENARIO_ID", + "SERVER_NAME", + "SERVER_PASS", + "VISIBLE", + "SRCDS_APPID", + "LOG_INTERVAL", + "MAX_FPS", + "VALIDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/arma-reforger", + "installs": 0, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 1874880, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1874880/header.jpg?t=1789052055", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1874880/0de311f3ef216db08badc6a9ef7c5fd8712ac334.jpg" + }, + { + "slug": "assaultcube", + "name": "AssaultCube", + "category": "games", + "eggs": [ + { + "name": "AssaultCube", + "description": "AssaultCube is a FREE, multiplayer, first-person shooter game, based on the CUBE engine. Taking place in realistic environments, with fast, arcade gameplay, it's addictive and fun!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/cubeengine/assaultcube/egg-assault-cube.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "ASSAULT_SERVER_KEY", + "ASSAULT_SERVER_DESCRIPTION", + "ASSAULT_SERVER_MOTD", + "ASSAULT_SERVER_MAXPLAYERS", + "ASSAULT_SERVER_ADMINPASSWORD", + "ASSAULT_SERVER_PLAYERPASSWORD", + "ASSAULT_SERVER_MASTERSERVER", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/assaultcube", + "installs": 0, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "astro-colony", + "name": "Astro Colony", + "category": "games", + "eggs": [ + { + "name": "Astro Colony", + "description": "Explore endless Universe and create the most efficient constellation of colonies. Build conveyor systems to automate production. Take care of Astronauts and their needs! Establish new colonies as part of intergalactic si", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/astro_colony/egg-astro-colony.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_MAXPLAYERS", + "SERVER_MAPSEED", + "SERVER_MAPNAME", + "SERVER_AUTOSAVEINTERVAL", + "SERVER_AUTOSAVESCOUNT", + "SERVER_ADMINS", + "SERVER_LOADLATESTSAVEGAME", + "SERVER_SHAREDTECHNOLOGIES", + "SERVER_OXYGENCONSUMPTION", + "SERVER_FREECONSTRUCTION", + "AUTO_UPDATE", + "SERVER_QUERY_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/astro-colony", + "installs": 0, + "updatedAt": "2026-09-08T04:14:56+00:00" + } + ], + "steamAppId": 1614550, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1614550/a903c2d1d88e1ece56790228f5151a44586305a0/header.jpg?t=1791879094", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1614550/2bafb996ad4ef42197a4aa4a86995202c885629d.jpg" + }, + { + "slug": "astroneer", + "name": "Astroneer", + "category": "games", + "eggs": [ + { + "name": "Astroneer Dedicated Server", + "description": "A game of aerospace industry and interplanetary exploration.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/astroneer/egg-astroneer-dedicated-server.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PUBLIC_IP", + "OWNER_NAME", + "OWNER_GUID", + "SERVER_PWD", + "AUTO_UPDATE", + "WINDOWS_INSTALL", + "SRCDS_APPID", + "PROTON_LOG", + "SERVER_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/astroneer-dedicated-server", + "installs": 0, + "updatedAt": "2026-10-14T00:02:14+00:00" + } + ], + "steamAppId": 361420, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/361420/1c44099d86c824a6fd1098a4215097878d68664e/header.jpg?t=1770767049", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/361420/18ef632a152a69a8fb4f62c074cd50aa15d3bf33.jpg" + }, + { + "slug": "atlbot", + "name": "ATLBot", + "category": "bots", + "eggs": [ + { + "name": "ATLBot", + "description": "ATLbot in Pelican https://github.com/ATLauncher/discord-bot/", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/atlbot/egg-a-t-l-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:node_16", + "imageNote": null, + "icon": "/img/eggs/atlbot-atlbot.png", + "features": [], + "vars": [ + "NODE_ENV", + "CLIENT_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/atlbot", + "installs": 1, + "updatedAt": "2026-10-14T00:02:23+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/atlbot-atlbot.png", + "art": "/img/eggs/atlbot-atlbot.png" + }, + { + "slug": "avorion", + "name": "Avorion", + "category": "games", + "eggs": [ + { + "name": "Avorion", + "description": "A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy f", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/avorion/egg-avorion.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "GALAXY_NAME", + "SERVER_NAME", + "ADMIN_ID", + "MAX_PLAYERS", + "DIFFICULTY", + "COLLISION_DMG", + "SAVE_INTERVAL", + "SAME_START_SECTOR", + "GAME_THREADS", + "SERVER_LISTED", + "SRCDS_APPID", + "LD_LIBRARY_PATH", + "STEAM_MASTER_PORT", + "STEAM_QUERY_PORT", + "QUERY_PORT", + "AUTO_UPDATE", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/avorion", + "installs": 0, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 445220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/445220/header.jpg?t=1762761602", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/445220/680eadbf8eef917be5023310fb364c947af4e203.jpg" + }, + { + "slug": "banana-shooter", + "name": "Banana Shooter", + "category": "games", + "eggs": [ + { + "name": "Banana Shooter", + "description": "Dave is the banana man who is keep shooting enemies and get their banana, and use some cool mechanic such as dash, double jump, grapple hook and rocket jump. If you are finding fast paced shooter game, this is what you n", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/banana_shooter/egg-banana-shooter.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "MAX_PLAYERS", + "SRCDS_APPID", + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/banana-shooter", + "installs": 0, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 1949740, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1949740/header.jpg?t=1790089761", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1949740/3cb7f556be4f82352943d5d031d507c5ea647cd1.jpg" + }, + { + "slug": "barotrauma", + "name": "Barotrauma", + "category": "games", + "eggs": [ + { + "name": "Barotrauma", + "description": "Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It’s a Sci-Fi game that combines ragdoll physics and alien sea m", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/barotrauma/egg-barotrauma.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/barotrauma", + "installs": 1, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 602960, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/602960/header.jpg?t=1791473680", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/602960/a0adb0f29ce819c6dffa32446624fb7648defc5a.jpg" + }, + { + "slug": "bastion", + "name": "Bastion", + "category": "bots", + "eggs": [ + { + "name": "Bastion", + "description": "Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/bastion/egg-bastion.yaml", + "image": "ghcr.io/parkervcp/yolks:bot_bastion", + "imageNote": null, + "icon": "/img/eggs/bastion-bastion.png", + "features": [], + "vars": [ + "BASTION_API_AUTH", + "BASTION_API_PORT", + "BOT_ID", + "BOT_TOKEN", + "MONGO_URI", + "BASTION_MUSIC_ACTIVITY", + "BASTION_RELAY_DMS", + "UNSAFE_MODE", + "STARTUP_CMD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/bastion", + "installs": 3, + "updatedAt": "2026-10-05T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/bastion-bastion.png", + "art": "/img/eggs/bastion-bastion.png" + }, + { + "slug": "battalion-legacy", + "name": "Battalion Legacy", + "category": "games", + "eggs": [ + { + "name": "BATTALION: Legacy", + "description": "BATTALION: Legacy recaptures the core of classic shooters in the final iteration of Battalion 1944. Return to the simple days of playing first person shooters with your friends. Grab your bolt action rifle in 'rifles onl", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/battalion_legacy/egg-b-a-t-t-a-l-i-o-n--legacy.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "QUERY_PORT", + "SERVER_NAME", + "ADMIN_PW" + ], + "hubUrl": "https://hub.pelican.dev/eggs/battalion-legacy", + "installs": 0, + "updatedAt": "2026-10-14T00:02:14+00:00" + } + ], + "steamAppId": 489940, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/489940/header.jpg?t=1660846889", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/489940/56876299e611314a6e0857e3996ba1c204b24249.jpg" + }, + { + "slug": "battlefield-3-venice-unleashed", + "name": "Battlefield 3 (Venice Unleashed)", + "category": "games", + "eggs": [ + { + "name": "Venice Unleashed", + "description": "Venice Unleashed (VU) is a community-oriented Battlefield 3 custom server & modding platform that gives you back control of your gaming experience. This Egg requires a valid VU `server.key` file, and requires Battlefield", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/venice_unleashed/egg-venice-unleashed.yaml", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": "2 images", + "icon": null, + "features": [], + "vars": [ + "AUTO_UPDATE", + "EA_TOKEN", + "MAX_PLAYERS", + "SERVER_FREQUENCY", + "SERVER_NAME", + "SERVER_PASSWORD", + "UNLISTED", + "DISABLE_TERRAIN_INTERP", + "HIGH_RES_TERRAIN", + "SKIP_CHECKSUM", + "HARMONY_PORT", + "JOIN_HOST", + "RCON_PASSWORD", + "RCON_PORT", + "LIC_PATH", + "DOWNLOAD_URL", + "WINEARCH", + "WINEDEBUG", + "WINETRICKS_RUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/venice-unleashed", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "big-brother-bot", + "name": "Big Brother Bot", + "category": "bots", + "eggs": [ + { + "name": "Big Brother Bot", + "description": "Big Brother Bot B3 is a complete and total server administration package for online games. B3 is designed primarily to keep your server free from the derelicts of online gaming, but offers more, much more. https://github", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/other/bigbrotherbot/egg-big-brother-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:python_2.7", + "imageNote": null, + "icon": "/img/eggs/big-brother-bot-big-brother-bot.png", + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/big-brother-bot", + "installs": 0, + "updatedAt": "2026-10-05T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/big-brother-bot-big-brother-bot.png", + "art": "/img/eggs/big-brother-bot-big-brother-bot.png" + }, + { + "slug": "black-mesa", + "name": "Black Mesa", + "category": "games", + "eggs": [ + { + "name": "Black Mesa", + "description": "Black Mesa is a 2020 first-person shooter game. It is a third-party remake of Half-Life (1998) made in the Source game engine.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/black_mesa/egg-black-mesa.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "SRCDS_CPORT", + "SRCDS_STV", + "MAX_PLAYERS", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/black-mesa", + "installs": 0, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 362890, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/362890/674b9a0e7b31996efd5032dc15e695dbf457d71d/header.jpg?t=1790377127", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/362890/51182b6a74035eb913b353d5d60e596c3804daf6.jpg" + }, + { + "slug": "brickadia", + "name": "Brickadia", + "category": "games", + "eggs": [ + { + "name": "Brickadia", + "description": "Brickadia is a new multiplayer brick building sandbox game that gives you all the tools to create and play, your way. Build and invent with your friends, drive a car through space, create your own interactive experiences", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/brickadia/egg-brickadia.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BRICKADIA_TOKEN", + "SRCDS_APPID", + "STEAM_AUTH", + "AUTO_UPDATE", + "STEAM_PASS", + "STEAM_USER", + "WORLD_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/brickadia", + "installs": 0, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 2199420, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2199420/bb976a40be865e723b8ef8adab11f059b3f96d55/header.jpg?t=1788302404", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2199420/1d5aa50c21916b1017f5ebe74fbad6f42346a25e.jpg" + }, + { + "slug": "bun", + "name": "Bun", + "category": "generic", + "eggs": [ + { + "name": "Bun", + "description": "Bun is an incredibly fast JavaScript runtime, transpiler bundler, and npm package manager all-in-one.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/bun/egg-bun.yaml", + "image": "ghcr.io/pelican-eggs/yolks:bun_latest", + "imageNote": "2 images", + "icon": "/img/eggs/bun-bun.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BRANCH", + "BUN_PACKAGES", + "GIT_ADDRESS", + "MAIN_FILE", + "RMBUN_PACKAGES", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/bun", + "installs": 0, + "updatedAt": "2026-10-06T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/bun-bun.png", + "art": "/img/eggs/bun-bun.png" + }, + { + "slug": "citadel-forged-with-fire", + "name": "Citadel: Forged with Fire", + "category": "games", + "eggs": [ + { + "name": "Citadel: Forged with Fire", + "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/citadel/egg-citadel--forged-with-fire.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "QPORT", + "ADMIN_PASSWD", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/citadel-forged-with-fire", + "installs": 0, + "updatedAt": "2026-09-08T04:14:57+00:00" + } + ], + "steamAppId": 487120, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/487120/header.jpg?t=1666998453", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/487120/01dcc0bff27681d6aee25d687f0c1d652ed1dc5c.jpg" + }, + { + "slug": "classicube", + "name": "ClassiCube", + "category": "games", + "eggs": [ + { + "name": "ClassiCube(MGC)", + "description": "Debian based MCGalaxy Egg.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/classicube/mcgalaxy/egg-classi-cube--m-g-c.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "HOSTNAME", + "MOTD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/classicubemgc", + "installs": 0, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "clone-hero", + "name": "Clone Hero", + "category": "games", + "eggs": [ + { + "name": "Clone Hero", + "description": "Clone Hero is a classic instrument based rhythm game for Windows, Mac, Linux, and Android. It's playable with any 5 or 6 fret guitar controller, any midi drum kit, any game controller and even your keyboard! Jam out with", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/clone_hero/egg-clone-hero.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_DISPLAY_NAME", + "SERVER_PASSWORD", + "LOG_LEVEL", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/clone-hero", + "installs": 0, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "code-server", + "name": "Code-Server", + "category": "software", + "eggs": [ + { + "name": "Code-Server", + "description": "Run VS Code on any machine anywhere and access it in the browser.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/code-server/egg-code-server.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_11", + "imageNote": "18 images", + "icon": null, + "features": [], + "vars": [ + "PASSWORD", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/code-server", + "installs": 7, + "updatedAt": "2026-10-06T00:02:13+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "colony-survival", + "name": "Colony Survival", + "category": "games", + "eggs": [ + { + "name": "Colony Survival", + "description": "Colony Survival is a unique first-person strategy game developed by a two-man team. Build your own colony in a voxel world. Command guards, farmers, miners and other colonists. Defend your colony against the horde of mon", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/colony_survival/egg-colony-survival.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "WORLD_NAME", + "SERVER_NAME", + "MAX_PLAYERS", + "SERVER_STEAMPORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/colony-survival", + "installs": 0, + "updatedAt": "2026-10-14T00:02:14+00:00" + } + ], + "steamAppId": 366090, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/366090/header.jpg?t=1787307261", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/366090/75256b05781040535bfb389e85b1d7cbadd0a58f.jpg" + }, + { + "slug": "core-keeper", + "name": "Core Keeper", + "category": "games", + "eggs": [ + { + "name": "Core Keeper", + "description": "Core Keeper is a survival sandbox game for single or multiplayers. --- Drawn towards a mysterious relic, you are an explorer who awakens in an ancient cavern of creatures, resources and trinkets. Trapped deep underground", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/core_keeper/egg-core-keeper.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "WORLD_INDEX", + "WORLD_NAME", + "WORLD_SEED", + "GAME_ID", + "MAX_PLAYERS", + "WORLD_MODE", + "SRCDS_APPID", + "AUTO_UPDATE", + "DISPLAY_WIDTH", + "DISPLAY_HEIGHT", + "DISPLAY_DEPTH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/core-keeper", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 1621690, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1621690/header.jpg?t=1791454740", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1621690/53517a1b2eb22e22ac4a1f71c814209f1b84c063.jpg" + }, + { + "slug": "corpbot", + "name": "CorpBot", + "category": "bots", + "eggs": [ + { + "name": "CorpBot", + "description": "A very clumsy python bot for discord https://github.com/corpnewt/CorpBot.py", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/corpbot/egg-corp-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:python_3.8", + "imageNote": null, + "icon": "/img/eggs/corpbot-corpbot.png", + "features": [], + "vars": [ + "PREFIX", + "TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/corpbot", + "installs": 0, + "updatedAt": "2026-10-05T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/corpbot-corpbot.png", + "art": "/img/eggs/corpbot-corpbot.png" + }, + { + "slug": "counter-strike-2", + "name": "Counter-Strike 2", + "category": "games", + "eggs": [ + { + "name": "Counter-Strike 2", + "description": "For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strik", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/counter_strike/counter_strike_2/egg-counter--strike2.yaml", + "image": "ghcr.io/parkervcp/steamcmd:sniper", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "RCON_ENABLED", + "VAC_ENABLED", + "GAME_MODE", + "GAME_TYPE", + "SRCDS_MAP", + "MAX_PLAYERS", + "RCON_PASSWORD", + "SERVER_NAME", + "SERVER_PASSWORD", + "SRCDS_APPID", + "TV_PORT", + "STEAM_GSLT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/counter-strike-2", + "installs": 7, + "updatedAt": "2026-10-14T00:02:15+00:00" + } + ], + "steamAppId": 730, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/730/162664aa5da85f418105350c5d67ca565f6c3713/header.jpg?t=1793054556", + "icon": "/img/games/counter-strike-2.webp" + }, + { + "slug": "counter-strike-source", + "name": "Counter-Strike: Source", + "category": "games", + "eggs": [ + { + "name": "Counter-Strike: Source", + "description": "Counter-Strike: Source blends Counter-Strike's award-winning teamplay action with the advanced technology of Source™ technology.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/counter_strike/counter_strike_source/egg-counter--strike--source.yaml", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "SRCDS_MAP", + "STEAM_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/counter-strike-source", + "installs": 3, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 240, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/240/header.jpg?t=1745368575", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/240/9052fa60c496a1c03383b27687ec50f4bf0f0e10.jpg" + }, + { + "slug": "craftopia", + "name": "Craftopia", + "category": "games", + "eggs": [ + { + "name": "Craftopia", + "description": "Craftopia is the brand new multiplayer survival action game made in Japan. We combined many features we find enjoyable, such as hunting, farming, hack-and-slash, building, automation to develop this game.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/craftopia/egg-craftopia.yaml", + "image": "ghcr.io/pelican-egggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "WORLD_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/craftopia", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 1307550, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1307550/361f627dbe3904698b178e213e2e29c0818d077e/header.jpg?t=1789461983", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1307550/51d2ce598e11bb589644d746f674f73e53a22eab.jpg" + }, + { + "slug": "cryofall", + "name": "Cryofall", + "category": "games", + "eggs": [ + { + "name": "CryoFall", + "description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore/Data/SettingsServer.xml CryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/cryofall/egg-cryo-fall.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_6", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/cryofall", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 829590, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/829590/header.jpg?t=1789476949", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/829590/c5e413445ed960ddea65b94c6639a07b9f922112.jpg" + }, + { + "slug": "cs2d", + "name": "CS2D", + "category": "games", + "eggs": [ + { + "name": "CS2D", + "description": "Plant and defuse bombs, rescue hostages or accomplish new missions like capture the flag or domination! Use a huge arsenal of weapons and equipment including crazy stuff like portal guns, lasers, RPGs, turrets and much m", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/cs2d/egg-c-s2-d.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_PLAYERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/cs2d", + "installs": 1, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": 666220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/666220/header.jpg?t=1787393976", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/666220/ef00f5299425ba5a443f1e1b33b46395d5d726f5.jpg" + }, + { + "slug": "cube-2-sauerbraten", + "name": "Cube 2: Sauerbraten", + "category": "games", + "eggs": [ + { + "name": "Cube 2: Sauerbraten", + "description": "Cube 2: Sauerbraten is a free multiplayer & singleplayer first person shooter, the successor of the Cube FPS. Much like the original Cube, the aim of this game is fun, old school deathmatch gameplay and also to allow map", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/cubeengine/cube2/egg-cube2--sauerbraten.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "CUBE_SERVERDESCRIPTION", + "CUBE_MAXPLAYERS", + "CUBE_MASTERSERVER", + "CUBE_ADMINPASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/cube-2-sauerbraten", + "installs": 0, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "cubic-odyssey", + "name": "Cubic Odyssey", + "category": "games", + "eggs": [ + { + "name": "Cubic Odyssey", + "description": "Adventure, creation, and survival await! Step into a boundless open world where every planet, every system, and every moment is yours to shape. Explore a universe rich with life, ancient mysteries, and untamed beauty. Fi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/cubic_odyssey/egg-cubic-odyssey.json", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": "2 images", + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ALLOW_RELAYING", + "ENABLE_CRASH_DUMPS", + "ENABLE_LOGGING", + "ENDING_PORT", + "GALAXY_SEED", + "GAME_MODE", + "MAX_PLAYERS", + "PRIVATE_SERVER", + "SERVER_NAME", + "SERVER_PASSWORD", + "SRCDS_APPID", + "STARTING_PORT", + "WINDOWS_INSTALL", + "WINEDEBUG" + ], + "hubUrl": "https://hub.pelican.dev/eggs/cubic-odyssey", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 3400000, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/3400000/header.jpg?t=1783408157", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/3400000/8ba5993cf98a556ed0c352c112ad1c3178c8ed28.jpg" + }, + { + "slug": "custom-source-engine", + "name": "Custom Source Engine", + "category": "games", + "eggs": [ + { + "name": "Custom Source Engine Game", + "description": "This option allows modifying the startup arguments and other details to run a custom SRCDS based game on the panel.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/custom-source-engine/egg-custom-source-engine-game.yaml", + "image": "ghcr.io/pelican-eggs/games:source", + "imageNote": null, + "icon": "/img/eggs/custom-source-engine-custom-source-engine-game.webp", + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "STEAM_AUTH", + "STEAM_PASS", + "STEAM_USER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/custom-source-engine-game", + "installs": 0, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": null, + "art": "/img/eggs/custom-source-engine-custom-source-engine-game.webp", + "icon": "/img/eggs/custom-source-engine-custom-source-engine-game.webp" + }, + { + "slug": "daggerfall-online", + "name": "Daggerfall Online", + "category": "games", + "eggs": [ + { + "name": "Daggerfall Online", + "description": "Daggerfall Online server created from the default generic Node.js egg. SSL is required for this egg to run properly.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/daggerfall_online/egg-daggerfall-online.json", + "image": "ghcr.io/pelican-eggs/yolks:nodejs_26", + "imageNote": "Node.js 22–26", + "icon": null, + "features": [], + "vars": [ + "NODE_ARGS", + "NODE_PACKAGES", + "AUTO_UPDATE", + "ACCESS_TOKEN", + "GIT_ADDRESS", + "USERNAME", + "BRANCH", + "MAIN_FILE", + "DAGGERFALL_PORT", + "UNNODE_PACKAGES", + "USER_UPLOAD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/daggerfall-online", + "installs": 0, + "updatedAt": "2026-10-05T00:02:13+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "dart-generic", + "name": "Dart generic", + "category": "generic", + "eggs": [ + { + "name": "Dart generic", + "description": "A generic dart CLI egg. This will clone a dart CLI application. it defaults to master if no branch is specified. Installs the pubspec.yaml packages on run. If you set user_upload then I assume you know what you are doing", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/dart/egg-dart-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:dart_stable", + "imageNote": "5 images", + "icon": "/img/eggs/dart-generic-dart-generic.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_RESET", + "AUTO_UPDATE", + "BRANCH", + "GIT_ADDRESS", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/dart-generic", + "installs": 0, + "updatedAt": "2026-10-06T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/dart-generic-dart-generic.png", + "art": "/img/eggs/dart-generic-dart-generic.png" + }, + { + "slug": "dayz", + "name": "Dayz", + "category": "games", + "eggs": [ + { + "name": "DayZ", + "description": "How long can you survive a post-apocalyptic world? A land overrun with an infected \"zombie\" population, where you compete with other survivors for limited resources. Will you team up with strangers and stay strong togeth", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/dayz/egg-day-z.json", + "image": "ghcr.io/parkervcp/games:dayz", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "STEAM_USER", + "STEAM_PASS", + "DISABLE_MOD_UPDATES", + "STEAMCMD_ATTEMPTS", + "SKIP_INSTALL", + "UPDATE_SERVER", + "SERVER_HOSTNAME", + "MAX_PLAYERS", + "SERVER_PASSWORD", + "ADMIN_PASSWORD", + "RCON_PORT", + "RCON_PASSWORD", + "MOD_FILE", + "MODIFICATIONS", + "VERIFY_SIGNATURES", + "ENFORCE_BUILD", + "DISABLE_VON", + "VON_QUALITY", + "DISABLE_THIRD", + "DISABLE_CROSSHAIR", + "DISABLE_PERSONAL_LIGHT", + "LIGHTING_CONFIG", + "PERSISTENT_TIME", + "TIME_MULT", + "NIGHT_MULT", + "MODS_LOWERCASE", + "VALIDATE_SERVER", + "SERVERMODS", + "STARTUP_PARAMS", + "SERVER_BINARY", + "STEAMCMD_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/dayz", + "installs": 5, + "updatedAt": "2026-09-08T04:14:58+00:00" + } + ], + "steamAppId": 221100, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/221100/header.jpg?t=1792059745", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/221100/16a985dfee9b093d76a0ffc4cf4c77ba20c2eb0d.jpg" + }, + { + "slug": "dead-matter", + "name": "Dead Matter", + "category": "games", + "eggs": [ + { + "name": "Dead Matter", + "description": "After a rampant viral outbreak causes global society to collapse, you must survive the harsh wilderness of the Canadian Rockies amidst vast hordes of Infected and rival survivors.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/dead_matter/egg-dead-matter.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "QUERY_PORT", + "SERVER_NAME", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/dead-matter", + "installs": 0, + "updatedAt": "2026-10-14T00:02:15+00:00" + } + ], + "steamAppId": 2184150, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2184150/header.jpg?t=1695840276", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2184150/65337fe5000af57b884d417fb73edad0eeb968ea.jpg" + }, + { + "slug": "deno-generic", + "name": "Deno Generic", + "category": "generic", + "eggs": [ + { + "name": "Deno Generic", + "description": "A generic egg to run deno code.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/deno/egg-deno-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/deno-generic-deno-generic.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "BRANCH", + "GIT_ADDRESS", + "JS_FILE", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/deno-generic", + "installs": 0, + "updatedAt": "2026-10-06T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/deno-generic-deno-generic.png", + "art": "/img/eggs/deno-generic-deno-generic.png" + }, + { + "slug": "dont-starve", + "name": "Dont Starve", + "category": "games", + "eggs": [ + { + "name": "Don't Starve Together", + "description": "Don’t Starve Together is an uncompromising wilderness survival game full of science and magic.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/dont_starve/egg-don-t-starve-together.json", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "MAX_PLAYERS", + "SERVER_TOKEN", + "SRCDS_APPID", + "AUTO_UPDATE", + "GAME_MODE", + "CLUSTER_NAME", + "CLUSTER_DESC", + "MASTER_WORLDGEN", + "CAVES_WORLDGEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/dont-starve-together", + "installs": 0, + "updatedAt": "2026-10-14T00:02:15+00:00" + } + ], + "steamAppId": 219740, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/219740/88641e235d75934ea9f7ed4e947edfd9da682732/header.jpg?t=1790876891", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/219740/03fe647df40dccc4d19bf42a0185cd3e6b9f2953.jpg" + }, + { + "slug": "doom-doom-ii", + "name": "Doom + Doom II", + "category": "games", + "eggs": [ + { + "name": "Zandronum", + "description": "Zandronum is a multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. This egg uses the Freedoom WAD by default.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/doom/zandronum/egg-zandronum.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MAX_PLAYERS", + "IWAD", + "PWADS", + "SKILL", + "MAP", + "DMFLAGS", + "DMFLAGS2", + "ZADMFLAGS", + "COMPATFLAGS", + "COMPATFLAGS2", + "ZACOMPATFLAGS", + "GEOIP" + ], + "hubUrl": "https://hub.pelican.dev/eggs/zandronum", + "installs": 0, + "updatedAt": "2026-09-08T04:15:11+00:00" + } + ], + "steamAppId": 2280, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2280/header.jpg?t=1790284857", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2280/3e5e70b1e0c4869dc3276b10b830f6ce9d341cf9.jpg" + }, + { + "slug": "dynamica", + "name": "Dynamica", + "category": "bots", + "eggs": [ + { + "name": "Dynamica", + "description": "An easy-to-use dynamic voice channel bot.", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/dynamica/egg-dynamica.yaml", + "image": "ghcr.io/parkervcp/yolks:nodejs_18", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DATABASE_URL", + "GUILD_ID", + "MQTT_PASS", + "MQTT_URL", + "MQTT_USER", + "SENTRY_DSN", + "TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/dynamica", + "installs": 0, + "updatedAt": "2026-10-05T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "eco", + "name": "Eco", + "category": "games", + "eggs": [ + { + "name": "Eco", + "description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any p", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/eco/egg-eco.json", + "image": "ghcr.io/parkervcp/steamcmd:dotnet", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "WEB_PORT", + "PUB_SRV", + "SRV_PW", + "SRV_NAME", + "UPNP", + "AUTO_UPDATE", + "WEBSRVURL", + "MAX_CON", + "PLAYTIME", + "DEDES", + "RCON_PORT", + "RCON_PW", + "DISCORD_SRV", + "SRV_CAT", + "LANGUAGE", + "SLG_USER", + "SLG_PW" + ], + "hubUrl": "https://hub.pelican.dev/eggs/eco", + "installs": 0, + "updatedAt": "2026-09-08T04:14:59+00:00" + } + ], + "steamAppId": 382310, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/382310/669bd5d9c8d2469a776d81011670f2889fac86b0/header.jpg?t=1780512554", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/382310/a96eb4bd8b20008867c38bbc400d79003c32d6cf.jpg" + }, + { + "slug": "elasticsearch", + "name": "Elasticsearch", + "category": "software", + "eggs": [ + { + "name": "Elasticsearch", + "description": "Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine‑tu", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/elasticsearch/egg-elasticsearch.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DISCOVERY_SEED_HOSTS", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/elasticsearch", + "installs": 0, + "updatedAt": "2026-10-06T00:02:13+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "elixir", + "name": "Elixir", + "category": "generic", + "eggs": [ + { + "name": "Elixir", + "description": "Elixir is a functional, concurrent, high-level general-purpose programming language that runs on the BEAM virtual machine, which is also used to implement the Erlang programming language.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/elixir/egg-elixir.yaml", + "image": "ghcr.io/pelican-eggs/yolks:elixir_latest", + "imageNote": "5 images", + "icon": "/img/eggs/elixir-elixir.png", + "features": [], + "vars": [ + "AUTO_UPDATE", + "GIT_ACCESS_TOKEN", + "GIT_ADDRESS", + "GIT_BRANCH", + "GIT_USERNAME", + "USER_UPLOAD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/elixir", + "installs": 0, + "updatedAt": "2026-10-06T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/elixir-elixir.png", + "art": "/img/eggs/elixir-elixir.png" + }, + { + "slug": "empyrion-galactic-survival", + "name": "Empyrion - Galactic Survival", + "category": "games", + "eggs": [ + { + "name": "Empyrion: Galactic Survival", + "description": "Empyrion: Galactic Survival dedicated server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/empyrion/egg-empyrion--galactic-survival.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRV_NAME", + "SRV_PWD", + "MAX_PLAYERS", + "TELNET_ENABLED", + "TELNET_PORT", + "SEED", + "SRV_DESC", + "VERSION", + "WINEARCH", + "WINEDEBUG", + "WINETRICKS_RUN", + "AUTO_UPDATE", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/empyrion-galactic-survival", + "installs": 0, + "updatedAt": "2026-10-14T00:02:15+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "enshrouded", + "name": "Enshrouded", + "category": "games", + "eggs": [ + { + "name": "Enshrouded", + "description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shap", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/enshrouded/egg-enshrouded.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "AUTO_UPDATE", + "SRV_NAME", + "MAX_PLAYERS", + "SAVE_NAME", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "VALIDATE", + "DIFFICULT_PRESET" + ], + "hubUrl": "https://hub.pelican.dev/eggs/enshrouded-1", + "installs": 0, + "updatedAt": "2026-11-02T00:03:29+00:00" + } + ], + "steamAppId": 1203620, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1203620/98ca939f51b39bdd41e0e9198a9ccf8421148770/header_alt_assets_2.jpg?t=1792078032", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1203620/b51ff4aa19722a1f3587b35f37f590a998f36a9a.jpg" + }, + { + "slug": "euro-truck-simulator-2", + "name": "Euro Truck Simulator 2", + "category": "games", + "eggs": [ + { + "name": "Euro Truck Simulator 2 Dedicated server", + "description": "Travel across Europe as king of the road, a trucker who delivers important cargo across impressive distances! With dozens of cities to explore, your endurance, skill and speed will all be pushed to their limits.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "QUERY_PORT", + "STEAM_TOKEN", + "LOBBY_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/euro-truck-simulator-2-dedicated-server", + "installs": 1, + "updatedAt": "2026-09-08T04:15:08+00:00" + } + ], + "steamAppId": 227300, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/227300/9a81dc3126c56637297b654f9dcac057cfd79b77/header.jpg?t=1793285269", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/227300/adc18a4fc9adc0330144b76d61cbda68bb2394a0.jpg" + }, + { + "slug": "fistful-of-frags", + "name": "Fistful of Frags", + "category": "games", + "eggs": [ + { + "name": "Fof", + "description": "Fistful of Frags", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/fof/egg-fof.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/fof", + "installs": 0, + "updatedAt": "2026-09-08T04:14:59+00:00" + } + ], + "steamAppId": 265630, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/265630/header.jpg?t=1783702238", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/265630/e70c19e10125ea3f221666327af2b90f3fcecad9.jpg" + }, + { + "slug": "folding-home", + "name": "Folding@Home", + "category": "software", + "eggs": [ + { + "name": "Folding@Home", + "description": "Folding@home is a distributed computing project aimed to help scientists develop new therapeutics for a variety of diseases by the means of simulating protein dynamics. This includes the process of protein folding and th", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/foldingathome/egg-folding-home.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FAH_ANON", + "FAH_PASSKEY", + "FAH_PASSWORD", + "FAH_POWER", + "FAH_TEAM", + "FAH_USERNAME", + "FAH_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/folding-at-home", + "installs": 0, + "updatedAt": "2026-10-06T00:02:13+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "forgejo", + "name": "Forgejo", + "category": "software", + "eggs": [ + { + "name": "Forgejo", + "description": "Forgejo is a community managed lightweight code hosting solution written in Go. It is published under the MIT license, and is a fork of Gitea.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/forgejo/egg-forgejo.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DISABLE_SSH", + "SSH_PORT", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/forgejo", + "installs": 0, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "foundry", + "name": "Foundry", + "category": "games", + "eggs": [ + { + "name": "Foundry", + "description": "Build a factory optimized to perfection or an artistic masterpiece in an infinite voxel world. Mine and harvest resources, automate your ever-growing production lines and manage complex systems while researching your way", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/foundry/egg-foundry.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "SERVER_NAME", + "WORLD_NAME", + "SRV_PW", + "PAUSE_SERVER", + "AUTOSAVE_INTERVAL", + "PUBLIC_SERVER", + "MAP_SEED", + "MAX_PLAYERS", + "SAVE_PATH", + "AUTO_UPDATE", + "WINDOWS_INSTALL", + "SRCDS_APPID", + "WINETRICKS_RUN", + "WINEDEBUG", + "XVFB" + ], + "hubUrl": "https://hub.pelican.dev/eggs/foundry", + "installs": 0, + "updatedAt": "2026-09-08T04:14:59+00:00" + } + ], + "steamAppId": 983870, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/983870/0f30201b6e555fc7728769321c577b617667c390/header.jpg?t=1777381483", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/983870/8fe2f591098d69505dab3154c7397ca2f7594bc2.jpg" + }, + { + "slug": "foundry-virtual-tabletop", + "name": "Foundry Virtual Tabletop", + "category": "games", + "eggs": [ + { + "name": "Foundry VTT", + "description": "Foundry VTT is a standalone application built for experiencing multiplayer tabletop RPGs using a feature-rich and modern self-hosted application where your players connect directly through the browser.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/foundry_vtt/egg-foundry-v-t-t.json", + "image": "ghcr.io/pelican-eggs/yolks:nodejs_24", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FOUNDRY_LANGUAGE", + "WORLD_NAME", + "TIMED_URL", + "UPDATE_CHANNEL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/foundry-vtt", + "installs": 1, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "fragbot", + "name": "fragbot", + "category": "bots", + "eggs": [ + { + "name": "fragbot", + "description": "The fragforce discord bot. located at https://github.com/fragforce/fragbot", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/fragbot/egg-fragbot.yaml", + "image": "ghcr.io/parkervcp/yolks:alpine", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DISCORD_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/fragbot", + "installs": 0, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "frozen-flame", + "name": "Frozen Flame", + "category": "games", + "eggs": [ + { + "name": "Frozen Flame", + "description": "Frozen Flame Dedicated Server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/frozen_flame/egg-frozen-flame.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "MAX_PLAYERS", + "QUERY_PORT", + "SERVER_NAME", + "SERVER_PASSWORD", + "AUTO_UPDATE", + "RCON_PORT", + "RCON_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/frozen-flame", + "installs": 0, + "updatedAt": "2026-09-08T04:14:59+00:00" + } + ], + "steamAppId": 715400, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/715400/header.jpg?t=1716898541", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/715400/601d7b4074d57b7624ff8138dc16a70d76289c93.jpg" + }, + { + "slug": "ftl-tachyon", + "name": "FTL: Tachyon", + "category": "games", + "eggs": [ + { + "name": "Tachyon", + "description": "A multiplayer version of FTL.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/ftl_tachyon/egg-tachyon.json", + "image": "ghcr.io/pterodactyl/yolks:java_11", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tachyon", + "installs": 0, + "updatedAt": "2026-09-08T04:15:12+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "game-server-watcher", + "name": "Game Server Watcher", + "category": "bots", + "eggs": [ + { + "name": "Game Server Watcher", + "description": "A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/game-server-watcher/egg-game-server-watcher.yaml", + "image": "ghcr.io/parkervcp/yolks:nodejs_20", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DATA_PATH", + "DISCORD_BOT_TOKEN", + "DBG", + "REFRESH_TIME_MINUTES", + "SECRET", + "SLACK_APP_TOKEN", + "SLACK_BOT_TOKEN", + "STEAM_WEB_API_KEY", + "TELEGRAM_BOT_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/game-server-watcher", + "installs": 2, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "garry-s-mod", + "name": "Garry's Mod", + "category": "games", + "eggs": [ + { + "name": "Garrys Mod", + "description": "Garrys Mod, is a sandbox physics game created by Garry Newman, and developed by his company, Facepunch Studios.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/gmod/egg-garrys-mod.yaml", + "image": "ghcr.io/pelican-eggs/games:source", + "imageNote": null, + "icon": "/img/eggs/garry-s-mod-garrys-mod.png", + "features": [ + "gsl_token", + "steam_disk_space" + ], + "vars": [ + "GAMEMODE", + "LUA_REFRESH", + "SRCDS_MAP", + "MAX_PLAYERS", + "SRCDS_APPID", + "STEAM_ACC", + "TICKRATE", + "WORKSHOP_ID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/garrys-mod", + "installs": 2, + "updatedAt": "2026-09-08T04:14:59+00:00" + } + ], + "steamAppId": 4000, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/4000/header.jpg?t=1776868682", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/4000/4a6f25cfa2426445d0d9d6e233408de4d371ce8b.jpg" + }, + { + "slug": "generic-c", + "name": "Generic C#", + "category": "generic", + "eggs": [ + { + "name": "Generic C#", + "description": "A generic C# (dotnet) egg that runs your C# project.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/c%23/egg-generic-c.yaml", + "image": "ghcr.io/pelican-eggs/yolks:dotnet_10", + "imageNote": ".NET 2.1–10", + "icon": null, + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BRANCH", + "GIT_ADDRESS", + "PROJECT_DIR", + "PROJECT_FILE", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": null, + "installs": null, + "updatedAt": null + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "gitea", + "name": "Gitea", + "category": "software", + "eggs": [ + { + "name": "Gitea", + "description": "Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/gitea/egg-gitea.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DISABLE_SSH", + "SSH_PORT", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/gitea", + "installs": 0, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "golang-generic", + "name": "golang generic", + "category": "generic", + "eggs": [ + { + "name": "golang generic", + "description": "A generic golang egg that compiles the application and saves an executable Meant to be customized before it is used.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/golang/egg-golang-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/golang-generic-golang-generic.png", + "features": [], + "vars": [ + "EXECUTABLE", + "GO_PACKAGE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/golang-generic", + "installs": 0, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/golang-generic-golang-generic.png", + "art": "/img/eggs/golang-generic-golang-generic.png" + }, + { + "slug": "grafana", + "name": "Grafana", + "category": "software", + "eggs": [ + { + "name": "Grafana", + "description": "The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/grafana/egg-grafana.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "grafana_plugins", + "GRAFANA_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/grafana", + "installs": 1, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "ground-branch", + "name": "Ground Branch", + "category": "games", + "eggs": [ + { + "name": "Ground Branch", + "description": "From one of the developers behind the original Rainbow Six® and Ghost Recon® games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/ground_branch/egg-ground-branch.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "AUTO_UPDATE", + "MAX_PLAYERS", + "SERVER_NAME", + "QUERY_PORT", + "VALIDATE", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "WINEARCH", + "WINEDEBUG" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ground-branch", + "installs": 0, + "updatedAt": "2026-10-14T00:02:15+00:00" + } + ], + "steamAppId": 16900, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/16900/500dee13d8a31afb0e818a8666ed1a646f6c2fb2/header.jpg?t=1790695476", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/16900/61d821abae6880b59dd17ac99901279ed1d4968b.jpg" + }, + { + "slug": "gryt-server", + "name": "Gryt Server", + "category": "voice", + "eggs": [ + { + "name": "Gryt Server", + "description": "Gryt is an open source voice, video and text chat platform. Connect with the Gryt desktop app or the hosted web client at https://app.gryt.chat. The first user to join becomes the owner; afterwards the server is invite-o", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/gryt/egg-gryt-server.yaml", + "image": "ghcr.io/pelican-eggs/yolks:nodejs_24", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GRYT_VERSION", + "SERVER_NAME", + "SERVER_DESCRIPTION", + "JWT_SECRET", + "SFU_PORT", + "SFU_PUBLIC_HOST", + "ICE_UDP_MUX_PORT", + "ICE_ADVERTISE_IP", + "MAX_PEERS", + "STUN_SERVERS", + "CORS_ORIGIN", + "GRYT_IDENTITY_TIERS", + "EXTERNAL_HOST", + "IMAGE_WORKER_ENABLED", + "DISABLE_STUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/gryt-server", + "installs": 2, + "updatedAt": "2026-10-06T00:02:12+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "gta-connected-gta-iii-vice-city-san-andreas-iv", + "name": "GTA Connected (GTA III, Vice City, San Andreas, IV)", + "category": "games", + "eggs": [ + { + "name": "Grand Theft Auto Connected", + "description": "Grand Theft Auto Connected is a custom scriptable multiplayer modification for multiple Grand Theft Auto games.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/gta/gtac/egg-grand-theft-auto-connected.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GAMETYPE", + "SERVERNAME", + "SERVERBROWSER", + "DL_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/grand-theft-auto-connected", + "installs": 0, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "haste-server", + "name": "haste-server", + "category": "software", + "eggs": [ + { + "name": "haste-server", + "description": "Haste is an open-source pastebin software written in node.js, which is easily installable in any network. It can be backed by either redis or filesystem, and has a very easy adapter interface for other stores. A publicly", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/haste-server/egg-haste-server.json", + "image": "ghcr.io/parkervcp/yolks:nodejs_18", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/haste-server", + "installs": 1, + "updatedAt": "2026-09-08T04:15:24+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "hogwarts-legacy", + "name": "Hogwarts Legacy", + "category": "games", + "eggs": [ + { + "name": "Hogwarp", + "description": "An Egg for the Hogwarts Legacy mod Hogwarp - For more info see their Nexus: https://www.nexusmods.com/hogwartslegacy/mods/1378", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/hogwarp/egg-hogwarp.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "WINETRICKS_RUN", + "API_KEY", + "SERV_NAME", + "WINEARCH", + "MAX_PLAYERS", + "SERV_ICON", + "SERV_DESC", + "DOWNLOAD_URL", + "WINEDEBUG" + ], + "hubUrl": "https://hub.pelican.dev/eggs/hogwarp", + "installs": 0, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": 990080, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/990080/be2971b1023bccb04f993887d70ef4d2060262cf/header.jpg?t=1790708992", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/990080/a9ecb94f249768d0ee5ccecbffe8d8c06d9bed59.jpg" + }, + { + "slug": "holdfast-nations-at-war", + "name": "Holdfast: Nations At War", + "category": "games", + "eggs": [ + { + "name": "Holdfast NaW", + "description": "Holdfast: Nations at War", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/holdfast/egg-holdfast-na-w.json", + "image": "bmghosting/pterodactyl-holdfast", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_CONFIG_PATH", + "SERVER_NAME", + "MOTD", + "REGION", + "ADMIN_PASS", + "SERVER_PASS", + "PLAYERS", + "SERVER_COMM_PORT", + "SERVER_QUERY_PORT", + "FPSMAX", + "SERVER_LOG_ARCHIVE_PATH", + "SRCDS_APPID", + "EXTRA_FLAGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/holdfast-naw", + "installs": 0, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": 589290, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/589290/674121abacbfcc7405a5da86c398b7923912590c/header.jpg?t=1789730298", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/589290/4a1d30894946a782014e8542884e64c25c2b062a.jpg" + }, + { + "slug": "humanitz", + "name": "Humanitz", + "category": "games", + "eggs": [ + { + "name": "HumanitZ", + "description": "HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as “humanly” possible. The past can’t be changed, but you can make ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/humanitz/egg-humanit-z.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "SRCDS_BETAID", + "QUERY_PORT", + "SERVER_NAME", + "PASSWORD", + "SAVE_NAME", + "ADMIN_PASS", + "MAX_PLAYERS", + "ONLY_ALLOWED_PLAYERS", + "SAVE_INTERVAL_SEC", + "PERMA_DEATH", + "ON_DEATH", + "PVP", + "CLEAR_INFECTION", + "EAGLE_EYE", + "AIR_DROP", + "WEAPON_BREAK", + "MULTIPLAYER_SLEEP", + "BUILDING_HEALTH", + "LOOT_RESPAWN", + "LOOT_RESPAWN_TIMER", + "PICKUP_RESPAWN_TIMER", + "LOOT_RARITY", + "AIR_DROP_INTERVAL", + "ZOMBIE_DIFF_HEALTH", + "ZOMBIE_DIFF_SPEED", + "ZOMBIE_DIFF_DAMAGE", + "HUMAN_DIFFICULTY", + "ZOMBIE_AMOUNT_MULTI", + "HUMAN_AMOUNT_MULTI", + "ZOMBIE_DOG_MULTI", + "ZOMBIE_RESPAWN_TIMER", + "HUMAN_RESPAWN_TIMER", + "ANIMAL_RESPAWN_TIMER", + "STARTING_SEASON", + "DAYS_PER_SEASON", + "DAY_DUR", + "NIGHT_DUR", + "VITAL_DRAIN", + "DOG_ENABLED", + "DOG_NUM", + "RECRUIT_DOG", + "COMPANION_HEALTH", + "COMPANION_DMG", + "NO_DEATH_FEEDBACK", + "ALLOW_DISMANTLE", + "ALLOW_HOUSE_DISMANTLE", + "TERRITORY", + "DECAY", + "PICKUP_CLEANUP", + "FAKE_BUILDING_CLEANUP" + ], + "hubUrl": "https://hub.pelican.dev/eggs/humanitz", + "installs": 0, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": 1766060, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1766060/7fdc4417caf1f03cd228514380efa7fe0b75839e/header_alt_assets_12.jpg?t=1793118098", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1766060/4e298075dd52c90556ca68efa9d319f3c6cc5d69.jpg" + }, + { + "slug": "hurtworld", + "name": "Hurtworld", + "category": "games", + "eggs": [ + { + "name": "Hurtworld", + "description": "Hurtworld is a hardcore multiplayer survival FPS with a focus on deep survival progression that doesn't become trivial once you establish some basic needs. Built for hardcore gamers, Hurtworld aims to punish.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/hurtworld/egg-hurtworld.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "QUERY_PORT", + "MAX_PLAYERS", + "HOSTNAME", + "ADMINS", + "CREATIVE_MODE", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/hurtworld", + "installs": 0, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": 393420, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/393420/header.jpg?t=1597169414", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/393420/6d5ae57f85d8d2af758afa89df4369da699900dc.jpg" + }, + { + "slug": "hytale", + "name": "Hytale", + "category": "games", + "eggs": [ + { + "name": "Hytale", + "description": "Set out on an adventure built for both creation and play. Hytale blends the freedom of a sandbox with the momentum of an RPG: explore a procedurally generated world full of dungeons, secrets, and a variety of creatures, ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/hytale/egg-hytale.yaml", + "image": "ghcr.io/pelican-eggs/games:hytale", + "imageNote": null, + "icon": "/img/eggs/hytale-hytale.png", + "features": [], + "vars": [ + "AUTO_UPDATE", + "PATCHLINE", + "SERVER_VERSION", + "HYTALE_API_AUTH", + "ENABLE_WORLD_BACKUP", + "ENABLE_SERVER_BACKUP", + "SERVER_BACKUP_RETENTION", + "BACKUP_DIR", + "BACKUP_FREQUENCY", + "BACKUP_MAX_COUNT", + "BACKUP_ARCHIVE_MAX_COUNT", + "USE_AOT_CACHE", + "USE_COMPACT_HEADERS", + "ALLOW_OP", + "ACCEPT_EARLY_PLUGINS", + "DISABLE_SENTRY", + "IGNORE_BROKEN_MODS", + "TRANSPORT", + "HYTALE_PROFILE_UUID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/hytale", + "installs": 9, + "updatedAt": "2026-09-08T04:15:13+00:00" + } + ], + "steamAppId": null, + "art": "/img/eggs/hytale-hytale.png", + "icon": "/img/eggs/hytale-hytale.png" + }, + { + "slug": "icarus", + "name": "Icarus", + "category": "games", + "eggs": [ + { + "name": "Icarus", + "description": "Icarus is a survival game that with dedicated servers as a public beta", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/icarus/egg-icarus.yaml", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "QUERY_PORT", + "SERVER_NAME", + "SRCDS_APPID", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/icarus", + "installs": 0, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": 1149460, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1149460/header.jpg?t=1784744651", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1149460/3600ab7fb8dbc0898116ea1c0365de4f6d285d5a.jpg" + }, + { + "slug": "insurgency", + "name": "Insurgency", + "category": "games", + "eggs": [ + { + "name": "Insurgency", + "description": "Take to the streets for intense close quarters combat, where a team's survival depends upon securing crucial strongholds and destroying enemy supply in this multiplayer and cooperative Source Engine based experience.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/insurgency/egg-insurgency.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "SRCDS_MAP" + ], + "hubUrl": "https://hub.pelican.dev/eggs/insurgency", + "installs": 0, + "updatedAt": "2026-09-08T04:15:00+00:00" + } + ], + "steamAppId": 222880, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/222880/header.jpg?t=1758742858", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/222880/b072fc4239951c1952f4877edde340419438b528.jpg" + }, + { + "slug": "insurgency-sandstorm", + "name": "Insurgency Sandstorm", + "category": "games", + "eggs": [ + { + "name": "Insurgency: Sandstorm", + "description": "Insurgency: Sandstorm is a team-based, tactical FPS based on lethal close quarters combat and objective-oriented multiplayer gameplay. Experience the intensity of modern combat where skill is rewarded, and teamwork wins ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/insurgency_sandstorm/egg-insurgency--sandstorm.json", + "image": "ghcr.io/parkervcp/steamcmd:ubuntu", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "HOSTNAME", + "QUERY_PORT", + "MAX_PLAYERS", + "MAP_NAME", + "SCENARIO", + "ADDSWITCHES", + "GST", + "GSLTT", + "AUTO_UPDATE" + ], + "hubUrl": null, + "installs": null, + "updatedAt": null + } + ], + "steamAppId": 581320, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/581320/header_alt_assets_3.jpg?t=1791994390", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/581320/d279a836f1d2df271dadbefda9fee7fc65c5fe87.jpg" + }, + { + "slug": "iosoccer", + "name": "Iosoccer", + "category": "games", + "eggs": [ + { + "name": "Iosoccer server", + "description": "SERVER IOSOCCER", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/iosoccer/egg-iosoccer-server.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "MAP", + "SLOTS", + "TICKRATE", + "MAX_FPS", + "RCON", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/iosoccer-server", + "installs": 0, + "updatedAt": "2026-09-08T04:15:01+00:00" + } + ], + "steamAppId": 673560, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/673560/8e7aa1b89b681e5abd17fcf41683a809097cbf83/header.jpg?t=1791367605", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/673560/7578a5e303acb83805bea3e6f5913e6a52102536.jpg" + }, + { + "slug": "java-generic", + "name": "Java generic", + "category": "generic", + "eggs": [ + { + "name": "Java generic", + "description": "Creates a container that runs java.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/java/egg-java-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_8", + "imageNote": "Java 8–21", + "icon": "/img/eggs/java-generic-java-generic.png", + "features": [], + "vars": [ + "JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/generic-java", + "installs": 2, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/java-generic-java-generic.png", + "art": "/img/eggs/java-generic-java-generic.png" + }, + { + "slug": "jmusicbot", + "name": "JMusicBot", + "category": "bots", + "eggs": [ + { + "name": "JMusicBot", + "description": "A Discord music bot that's easy to set up and run yourself!", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/jmusicbot/egg-j-music-bot.yaml", + "image": "ghcr.io/pterodactyl/yolks:java_17", + "imageNote": null, + "icon": "/img/eggs/jmusicbot-jmusicbot.png", + "features": [], + "vars": [ + "BOT_ALONE_TIME", + "BOT_ALT_PREFIX", + "BOT_GAME", + "BOT_STATUS", + "BOT_MAXTIME", + "BOT_PREFIX", + "BOT_NPIMAGES", + "BOT_SONG_STATUS", + "BOT_STAY_IN_CHANNEL", + "BOT_OWNER", + "BOT_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/jmusicbot", + "installs": 3, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/jmusicbot-jmusicbot.png", + "art": "/img/eggs/jmusicbot-jmusicbot.png" + }, + { + "slug": "jts3servermod", + "name": "JTS3ServerMod", + "category": "bots", + "eggs": [ + { + "name": "JTS3ServerMod", + "description": "Setup: - Install the latest version - Go into config/server1 and edit JTS3ServerMod_server.cfg - Save and start the server Author: https://www.stefan1200.de/forum/index.php?topic=2.0", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.yaml", + "image": "ghcr.io/pterodactyl/yolks:java_8", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/jts3servermod", + "installs": 0, + "updatedAt": "2026-10-05T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "kerbal-space-program", + "name": "Kerbal Space Program", + "category": "games", + "eggs": [ + { + "name": "KSP DMP", + "description": "Dark Multiplayer mod server for Kerbal Space Program", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/ksp/egg-k-s-p-d-m-p.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MODPACKMODE", + "WARPMODE", + "GAMEMODE", + "DIFFICULTY", + "WHITELIST", + "SERVERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ksp-dmp", + "installs": 0, + "updatedAt": "2026-09-08T04:15:13+00:00" + } + ], + "steamAppId": 220200, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/220200/header.jpg?t=1738037585", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/220200/6dc8c1377c6b0ffedaeaec59c253f8c33fb3e62b.jpg" + }, + { + "slug": "killing-floor-2", + "name": "Killing Floor 2", + "category": "games", + "eggs": [ + { + "name": "Killing Floor 2", + "description": "In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech’s f", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/killing_floor_2/egg-killing-floor2.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "SRCDS_APPID", + "EXTRA_FLAGS", + "MAP_NAME", + "QUERY_PORT", + "WEB_ADMIN", + "ADMIN_PASS", + "SERVER_NAME", + "DIFFICULTY", + "WEB_ADMIN_PORT", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/killing-floor-2", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + } + ], + "steamAppId": 232090, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/232090/header.jpg?t=1774538987", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/232090/15837cefb378766e9916548f8591b6eb490b9e52.jpg" + }, + { + "slug": "languagetool", + "name": "LanguageTool", + "category": "software", + "eggs": [ + { + "name": "LanguageTool", + "description": "This egg installs a LanguageTool server LanguageTool is an Open Source proofreading software for English, French, German, Polish, Russian, and more than 20 other languages. It finds many errors that a simple spell checke", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/languagetool/egg-language-tool.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_17", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "TRAIN_MODELS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/languagetool", + "installs": 0, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "lavalink", + "name": "Lavalink", + "category": "software", + "eggs": [ + { + "name": "Lavalink", + "description": "A standalone audio sending node based on Lavaplayer and Koe. Allows for sending audio without it ever reaching any of your shards. Description taken from https://github.com/lavalink-devs/Lavalink", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/lavalink/egg-lavalink.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_21", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GITHUB_PACKAGE", + "MATCH", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/lavalink", + "installs": 3, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "leaguesandbox", + "name": "LeagueSandbox", + "category": "games", + "eggs": [ + { + "name": "LeagueSandbox", + "description": "A simple egg to run a LeagueSandbox server", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/leaguesandbox/egg-league-sandbox.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_6", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/leaguesandbox", + "installs": 0, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "left-4-dead", + "name": "Left 4 Dead", + "category": "games", + "eggs": [ + { + "name": "Left 4 Dead", + "description": "An outbreak of a highly contagious pathogen nicknamed the \"Green Flu\" begins in Pennsylvania. Two weeks after the first infection, four immune survivors, Bill, Zoey, Louis, and Francis make their way out of the city of F", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/left4dead/egg-left4-dead.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_MAP", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/left-4-dead", + "installs": 1, + "updatedAt": "2026-09-08T04:15:01+00:00" + } + ], + "steamAppId": 500, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/500/header.jpg?t=1745368560", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/500/428df26bc35b09319e31b1ffb712487b20b3245c.jpg" + }, + { + "slug": "left-4-dead-2", + "name": "Left 4 Dead 2", + "category": "games", + "eggs": [ + { + "name": "Left 4 Dead 2", + "description": "Left 4 Dead 2 is set in the aftermath of a worldwide pandemic of a disease nicknamed the \"Green Flu\", which rapidly transforms humans into zombie-like creatures and mutated forms that demonstrate extreme aggression towar", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/left4dead_2/egg-left4-dead2.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_MAP", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/left-4-dead-2", + "installs": 2, + "updatedAt": "2026-09-08T04:15:01+00:00" + } + ], + "steamAppId": 550, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/550/header.jpg?t=1772742214", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/550/7d5a243f9500d2f8467312822f8af2a2928777ed.jpg" + }, + { + "slug": "loki", + "name": "Loki", + "category": "monitoring", + "eggs": [ + { + "name": "Loki", + "description": "Prometheus but for logs. This egg is for Loki instance only! You usually need pushing agents like Promtail to put logs in this", + "url": "https://raw.githubusercontent.com/pelican-eggs/monitoring/refs/heads/main/loki/egg-loki.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/loki-loki.png", + "features": [], + "vars": [ + "LOKI_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/loki", + "installs": 0, + "updatedAt": "2026-10-05T00:02:20+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/loki-loki.png", + "art": "/img/eggs/loki-loki.png" + }, + { + "slug": "longvinter", + "name": "Longvinter", + "category": "games", + "eggs": [ + { + "name": "Longvinter", + "description": "Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/longvinter/egg-longvinter.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "SERVER_TAG", + "MAX_PLAYERS", + "SERVER_MOTD", + "SERVER_PASSWORD", + "COMMUNITY_WEBSITE", + "ADMIN_ID", + "ENABLE_PVP", + "ENABLE_TENTDECAY", + "MAX_TENTS", + "AUTO_UPDATE", + "QUERY_PORT", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/longvinter", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + } + ], + "steamAppId": 1635450, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1635450/header.jpg?t=1740149927", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1635450/dfc64c88d8df08c4084871663c8bc0a324a4f73e.jpg" + }, + { + "slug": "los-angeles-crimes", + "name": "Los Angeles Crimes", + "category": "games", + "eggs": [ + { + "name": "LAC-Online Public Server", + "description": "To make the Los Angeles Crimes public server. Los Angeles Crimes lets you play, create, and discover a variety of immersive worlds created by a global community!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/losangelescrimes/egg-l-a-c--online-public-server.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/lac-online-public-server", + "installs": 1, + "updatedAt": "2026-09-08T04:15:14+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "luanti", + "name": "Luanti", + "category": "games", + "eggs": [ + { + "name": "Minetest", + "description": "An open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/minetest/egg-minetest.json", + "image": "ghcr.io/parkervcp/games:minetest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_ADMIN_NAME", + "SERVER_NAME", + "SERVER_DESC", + "SERVER_DOMAIN", + "SERVER_URL", + "SERVER_ANNOUNCE", + "SERVER_LIST_URL", + "SERVER_MOTD", + "SERVER_MAX_USERS", + "SERVER_PASSWORD", + "WORLD_NAME", + "DEFAULT_GAME", + "COMMUNITY_DOWNLOAD", + "COMMUNITY_GAME_NAME", + "COMMUNITY_GAME_AUTOR", + "MINETEST_SUBGAME_PATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/minetest", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "luvit-generic", + "name": "Luvit generic", + "category": "generic", + "eggs": [ + { + "name": "Luvit generic", + "description": "A generic luvit egg This will clone a git repo. It defaults to master if no branch is specified. Supports the discordia lua framework.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/lua/luvit/egg-luvit-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/luvit-generic-luvit-generic.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "BRANCH", + "GIT_ADDRESS", + "LIT_PACKAGES", + "LUA_FILE", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/luvit-generic", + "installs": 0, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/luvit-generic-luvit-generic.png", + "art": "/img/eggs/luvit-generic-luvit-generic.png" + }, + { + "slug": "mariadb-10-3", + "name": "MariaDB 10.3", + "category": "databases", + "eggs": [ + { + "name": "MariaDB 10.3", + "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/sql/mariadb/egg-maria-d-b10-3.json", + "image": "ghcr.io/parkervcp/yolks:mariadb_10.3", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/mariadb-103", + "installs": 0, + "updatedAt": "2026-10-05T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "mariadb-11-4", + "name": "MariaDB 11.4", + "category": "databases", + "eggs": [ + { + "name": "MariaDB 11.4", + "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/sql/mariadb/egg-maria-d-b114.json", + "image": "ghcr.io/parkervcp/yolks:mariadb_11.4", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/mariadb-114", + "installs": 1, + "updatedAt": "2026-10-05T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "mariadb-11-5", + "name": "MariaDB 11.5", + "category": "databases", + "eggs": [ + { + "name": "MariaDB 11.5", + "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/sql/mariadb/egg-maria-d-b115.json", + "image": "ghcr.io/parkervcp/yolks:mariadb_11.5", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/mariadb-115", + "installs": 1, + "updatedAt": "2026-10-05T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "medal-of-honor-allied-assault", + "name": "Medal of Honor: Allied Assault", + "category": "games", + "eggs": [ + { + "name": "mohaa", + "description": "Medal of Honor: Allied Assault", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/mohaa/egg-mohaa.json", + "image": "ghcr.io/parkervcp/games:mohaa", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_MAXCLIENTS", + "CONFIG_URL", + "SERVER_NAME", + "RCON_PASSWORD", + "SERVER_MAP", + "LOG_DIR", + "BASE_PATH", + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mohaa", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "meilisearch", + "name": "Meilisearch", + "category": "software", + "eggs": [ + { + "name": "Meilisearch", + "description": "A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/meilisearch/egg-meilisearch.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MEILI_CONFIG_FILE_PATH", + "MEILI_DB_PATH", + "MEILI_DUMP_DIR", + "MEILI_ENV", + "MEILI_LOG_LEVEL", + "MEILI_MASTER_KEY", + "MEILI_MAX_INDEXING_THREADS", + "NO_ANALYTICS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/meilisearch", + "installs": 0, + "updatedAt": "2026-10-06T00:02:14+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "midnight-ghost-hunt", + "name": "Midnight Ghost Hunt", + "category": "games", + "eggs": [ + { + "name": "Midnight Ghost Hunt", + "description": "The chaotic multiplayer hide-and-seek game. Possess seemingly harmless objects as Ghosts or chase them down as Hunters before the clock strikes midnight!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/midnight_ghost_hunt/egg-midnight-ghost-hunt.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "QUERY_PORT", + "GAME_NAME", + "PASSWORD", + "MAP", + "GAME_MODE", + "REGION", + "B_DIFFICULTY", + "ADDITIONAL_ARGS", + "BEACON_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/midnight-ghost-hunt", + "installs": 0, + "updatedAt": "2026-09-08T04:15:01+00:00" + } + ], + "steamAppId": 915810, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/915810/header.jpg?t=1723598682", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/915810/8a5d189d042482d800101866b8e4fb4356474713.jpg" + }, + { + "slug": "military-conflict-vietnam", + "name": "Military Conflict Vietnam", + "category": "games", + "eggs": [ + { + "name": "Military Conflict: Vietnam", + "description": "Military Conflict: Vietnam dedicated server for Pelican using the native Linux 64-bit Source server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/military_conflict_vietnam/egg-military-conflict-vietnam.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "START_MAP", + "PLAYERS", + "RCON_PASSWORD", + "SERVER_HOSTNAME", + "PASSWORD", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/military-conflict-vietnam", + "installs": 0, + "updatedAt": "2026-11-02T00:03:29+00:00" + } + ], + "steamAppId": 1012110, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1012110/9a420da37d6a659b3bfeb4d826314e740da40baa/header.jpg?t=1790947657", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1012110/e8d4b190aedd9695a532fbd10d418d62111d3788.jpg" + }, + { + "slug": "mindustry", + "name": "Mindustry", + "category": "games", + "eggs": [ + { + "name": "Mindustry", + "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of e", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/mindustry/egg-mindustry.json", + "image": "ghcr.io/parkervcp/yolks:java_11", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "SERVER_NAME", + "MAPNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mindustry", + "installs": 2, + "updatedAt": "2026-10-14T00:02:21+00:00" + } + ], + "steamAppId": 1127400, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1127400/98714db25e9ef5a6ea3d39cd0709a60aae41e8dd/header.jpg?t=1784823019", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1127400/f519c34b9f3bd1983d224d3a2b6c2a60cf962211.jpg" + }, + { + "slug": "minio-s3", + "name": "Minio S3", + "category": "storage", + "eggs": [ + { + "name": "Minio S3", + "description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maxi", + "url": "https://raw.githubusercontent.com/pelican-eggs/storage/refs/heads/main/minio/egg-minio-s3.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/minio-s3-minio-s3.png", + "features": [], + "vars": [ + "STARTUP_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/minio-s3", + "installs": 6, + "updatedAt": "2026-10-05T00:02:20+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/minio-s3-minio-s3.png", + "art": "/img/eggs/minio-s3-minio-s3.png" + }, + { + "slug": "modiverse", + "name": "Modiverse", + "category": "games", + "eggs": [ + { + "name": "Modiverse", + "description": "Modiverse provides a sandbox environment with the ability to create and play mods such as TTT, Deathrun, FortWars, RP, and more! Use the many sandbox tools to build complex worlds with props, lights, thrusters, wheels, a", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/modiverse/egg-modiverse.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "HOSTNAME", + "QUERY_PORT", + "MAX_PLAYERS", + "AUTO_UPDATE", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/modiverse", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + } + ], + "steamAppId": 1281150, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1281150/header.jpg?t=1613751296", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1281150/7bfdaacb128e3295e0c4035feba295b46357e8cf.jpg" + }, + { + "slug": "mongodb", + "name": "MongoDB", + "category": "databases", + "eggs": [ + { + "name": "MongoDB", + "description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/nosql/mongodb/egg-mongo-d-b.json", + "image": "ghcr.io/parkervcp/yolks:mongodb_4", + "imageNote": "MongoDB 4–5", + "icon": null, + "features": [], + "vars": [ + "MONGO_USER", + "MONGO_USER_PASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mongodb", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "mongodb-6", + "name": "MongoDB 6", + "category": "databases", + "eggs": [ + { + "name": "MongoDB 6", + "description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/nosql/mongodb/egg-mongo-d-b6.json", + "image": "ghcr.io/parkervcp/yolks:mongodb_6", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MONGO_USER", + "MONGO_USER_PASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mongodb-6", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "mongodb-7", + "name": "MongoDB 7", + "category": "databases", + "eggs": [ + { + "name": "MongoDB 7", + "description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/nosql/mongodb/egg-mongo-d-b7.json", + "image": "ghcr.io/parkervcp/yolks:mongodb_7", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MONGO_USER", + "MONGO_USER_PASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mongodb-7", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "mount-and-blade-ii-bannerlord", + "name": "Mount & Blade II: Bannerlord", + "category": "games", + "eggs": [ + { + "name": "Mount & Blade II: Bannerlord", + "description": "A strategy/action RPG. Create a character, engage in diplomacy, craft, trade and conquer new lands in a vast medieval sandbox. Raise armies to lead into battle and command and fight alongside your troops in massive real-", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/mount_blade_II_bannerlord/egg-mount--blade-i-i--bannerlord.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "WINDOWS_INSTALL", + "SRCDS_APPID", + "AUTO_UPDATE", + "WINEDEBUG", + "WINEARCH", + "WINEPATH", + "WINETRICKS_RUN", + "AUTH_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mount-blade-ii-bannerlord", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": 261550, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/261550/header.jpg?t=1764252300", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/261550/896d5f4214e4e185a20af51b46d9dea2e6f4aaad.jpg" + }, + { + "slug": "mumble-server", + "name": "Mumble Server", + "category": "voice", + "eggs": [ + { + "name": "Mumble Server", + "description": "Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming.", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/mumble/egg-mumble-server.yaml", + "image": "ghcr.io/pelican-eggs/yolks:voice_mumble", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MAX_USERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/mumble-server", + "installs": 1, + "updatedAt": "2026-10-06T00:02:12+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "muse", + "name": "Muse", + "category": "bots", + "eggs": [ + { + "name": "Muse", + "description": "Muse is a self-hosted Discord music bot that is made for small to medium-sized Discord servers/guilds.", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/muse/egg-muse.yaml", + "image": "ghcr.io/parkervcp/yolks:nodejs_22", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "DISCORD_TOKEN", + "SPOTIFY_CLIENT_ID", + "SPOTIFY_CLIENT_SECRET", + "YOUTUBE_API_KEY", + "VERSION", + "CI" + ], + "hubUrl": "https://hub.pelican.dev/eggs/muse", + "installs": 5, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "myth-of-empires", + "name": "Myth Of Empires", + "category": "games", + "eggs": [ + { + "name": "Myth of Empires", + "description": "Myth of Empires is a multiplayer war sandbox game featuring a high degree of freedom. Players must survive, craft, create, and lead troops in their quest to conquer territory and build their own empire.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/myth_of_empires/egg-myth-of-empires.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "MAP_NAME", + "SERVER_NAME", + "PVP", + "MAX_PLAYERS", + "QUERY_PORT", + "SHUTDOWN_SERVICE", + "RCON_PORT", + "RCON_PASSWORD", + "ADMIN_IDS", + "EXTRA_FLAGS", + "CLUSTER_ID", + "SERVER_ID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/myth-of-empires", + "installs": 0, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 1371580, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1371580/header.jpg?t=1783469343", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1371580/f8358bf999cd47e53f226602cfb2b12e59eba23b.jpg" + }, + { + "slug": "nazi-zombies-portable", + "name": "Nazi Zombies: Portable", + "category": "games", + "eggs": [ + { + "name": "Nazi Zombies: Portable", + "description": "NZ:P (Nazi Zombies: Portable) is based off of the FTEQW (Fore Thought Engine Quake World). This egg is specifically made for use with NZ:P (just downloads assets and QuakeC from NZ:P repositories) but there is nothing st", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/nazi_zombies_portable/egg-nazi-zombies-portable.json", + "image": "ghcr.io/parkervcp/yolks:ubuntu", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PROTOCOL", + "TICKRATE", + "MAP", + "GAME_ARGS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nazi-zombies-portable", + "installs": 0, + "updatedAt": "2026-09-08T04:15:14+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "necesse", + "name": "Necesse", + "category": "games", + "eggs": [ + { + "name": "Necesse", + "description": "Build, quest, and conquer across an infinite procedurally generated world. Play alone or with friends as you establish a settlement and explore deep dungeons, fight monsters and bosses, mine rare ores, craft magical equi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/necesse/egg-necesse.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SAVE_NAME", + "SERVER_SLOTS", + "SERVER_PASSWORD", + "SRCDS_APPID", + "AUTO_UPDATE", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/necesse", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": 1169040, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1169040/4b2e7f5253b4595a523e5c8b27a8ea6214e14ac6/header_alt_assets_5.jpg?t=1790679641", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1169040/b9e3becff5c706c4e57db3699ab7451cd178394e.jpg" + }, + { + "slug": "neos-vr", + "name": "Neos VR", + "category": "games", + "eggs": [ + { + "name": "NeosVR", + "description": "Neos VR is a metaverse engineered for the unknown! It’s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/neosvr/egg-neos-v-r.json", + "image": "ghcr.io/parkervcp/yolks:mono_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "ENABLE_MODLOADER", + "SRCDS_BETAPASS", + "SRCDS_BETAID", + "AUTO_UPDATE", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/neosvr", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "neverwinter-nights-enhanced-edition", + "name": "Neverwinter Nights: Enhanced Edition", + "category": "games", + "eggs": [ + { + "name": "Neverwinter Nights: Enhanced Edition", + "description": "Return to the Forgotten Realms in this bestselling Dungeons & Dragons roleplaying game. Combines all the content of Neverwinter Nights Diamond Edition with all-new enhanced features. Includes 100+ hours of award-winning ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/neverwinter_nights_ee/egg-neverwinter-nights--enhanced-edition.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "NWN_VERSION", + "MODULE_NAME", + "SAVE_SLOT", + "MAX_CLIENTS", + "MIN_LEVEL", + "MAX_LEVEL", + "PAUSE_AND_PLAY", + "PVP", + "SERVER_VAULT", + "ELC", + "ILR", + "GAME_TYPE", + "ONE_PARTY", + "DIFFICULTY", + "AUTO_SAVE_INTERVAL", + "PLAYER_PASSWORD", + "DM_PASSWORD", + "SERVER_NAME", + "IS_PUBLIC", + "RELOAD_WHEN_EMPTY" + ], + "hubUrl": "https://hub.pelican.dev/eggs/neverwinter-nights-enhanced-edition", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": 704450, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/704450/header.jpg?t=1746124805", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/704450/6b1b4dbe323fcfdcaf406a2ce3dade834e5682cb.jpg" + }, + { + "slug": "night-of-the-dead", + "name": "Night Of The Dead", + "category": "games", + "eggs": [ + { + "name": "Night Of The Dead", + "description": "Build defenses against nightly waves of zombies. Survive and escape the island.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/night_of_the_dead/egg-night-of-the-dead.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "WINEDEBUG", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "QUERY_PORT", + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_ADMIN_PASSWORD", + "DIFFICULTY", + "PVP", + "SERVER_SAVEGAME", + "WINETRICKS_RUN", + "WINEPATH", + "SERVER_MOTD", + "OTHER_ARGS", + "XVFB" + ], + "hubUrl": "https://hub.pelican.dev/eggs/night-of-the-dead", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": 1377380, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1377380/header.jpg?t=1760364619", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1377380/7b9307de9fa2d3fc98b5e56c1f234c0d7f5b1381.jpg" + }, + { + "slug": "nightingale", + "name": "Nightingale", + "category": "games", + "eggs": [ + { + "name": "Nightingale", + "description": "Nightingale is an open world survival crafting game, where you’ll adventure across the mysterious and dangerous Fae Realms. As a daring Realmwalker, you’ll defeat monstrous enemies, survive hostile environments, and buil", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/nightingale/egg-nightingale.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWORD", + "AUTO_UPDATE", + "CONNECTION_PASSWORD", + "DIFFICULTY", + "MAX_PLAYERS", + "SRCDS_APPID", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nightingale", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": 1928980, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1928980/header.jpg?t=1769102593", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1928980/fe20849c803762b931d66afa4d92ce8c6dd37f35.jpg" + }, + { + "slug": "no-love-lost", + "name": "No Love Lost", + "category": "games", + "eggs": [ + { + "name": "No Love Lost", + "description": "Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet that’s become all the rage! In this PvPvE extraction game for 1-10 players, compete against enemy crews to harvest as much Nectar as possible", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/no_love_lost/egg-no-love-lost.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "WINDOWS_INSTALL", + "SRCDS_APPID", + "QUERY_PORT", + "SERVER_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/no-love-lost", + "installs": 0, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 1873120, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1873120/header.jpg?t=1714106618", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1873120/d27e304e1a6be6f11764180fd6fbf82110ba2d82.jpg" + }, + { + "slug": "no-more-room-in-hell", + "name": "No More Room in Hell", + "category": "games", + "eggs": [ + { + "name": "nmrih", + "description": "No More Room In Hell", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/nmrih/egg-nmrih.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nmrih", + "installs": 0, + "updatedAt": "2026-09-08T04:15:02+00:00" + } + ], + "steamAppId": 224260, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/224260/header.jpg?t=1696263772", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/224260/684de0d9c5749b5ddd52f120894fd97efd620b1d.jpg" + }, + { + "slug": "no-one-survived", + "name": "No One Survived", + "category": "games", + "eggs": [ + { + "name": "No One Survived", + "description": "This is a multiplayer cooperative open world construction survival sandbox game, where you and your friends must find supplies and build shelters in this world. You have to keep an eye on your character's needs state at ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/no_one_survived/egg-no-one-survived.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "WINDOWS_INSTALL", + "SRCDS_APPID", + "AUTO_UPDATE", + "WINEDEBUG", + "WINEARCH", + "WINEPATH", + "WINETRICKS_RUN", + "QUERY_PORT", + "STEAM_NETWORKING", + "SERVER_SAVE_NAME", + "SERVER_NAME", + "SERVER_NEED_PASSWORD", + "SERVER_PASSWORD", + "SERVER_PLAYERS", + "SERVER_NUM_ZOMBIES", + "SERVER_REGION", + "SERVER_ADMIN_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/no-one-survived", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 1963370, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1963370/header.jpg?t=1766828123", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1963370/4c9017c4a9e7bc70c1bef893abec960051121506.jpg" + }, + { + "slug": "node-js-generic", + "name": "Node.js generic", + "category": "generic", + "eggs": [ + { + "name": "Node.js generic", + "description": "a generic node.js egg This will clone a git repo. it defaults to master if no branch is specified. Installs the node_modules on install. If you set user_upload then I assume you know what you are doing.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/nodejs/egg-nodejs-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:nodejs_26", + "imageNote": "Node.js 22–26", + "icon": null, + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BRANCH", + "GIT_ADDRESS", + "MAIN_FILE", + "NODE_ARGS", + "NODE_PACKAGES", + "UNNODE_PACKAGES", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nodejs-generic", + "installs": 5, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "nodemon", + "name": "Nodemon", + "category": "generic", + "eggs": [ + { + "name": "Nodemon", + "description": "Nodemon javascript egg that automatically restarts the node application when file changes in the directory are detected This will clone a git repo for a bot. it defaults to master if no branch is specified. Installs the ", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/nodemon/egg-nodemon.yaml", + "image": "ghcr.io/pelican-eggs/yolks:nodejs_24", + "imageNote": "Node.js 12–24", + "icon": "/img/eggs/nodemon-nodemon.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BOT_JS_FILE", + "BRANCH", + "GIT_ADDRESS", + "NODE_PACKAGES", + "UNNODE_PACKAGES", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nodemon", + "installs": 0, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/nodemon-nodemon.png", + "art": "/img/eggs/nodemon-nodemon.png" + }, + { + "slug": "novalife-amboise", + "name": "Novalife Amboise", + "category": "games", + "eggs": [ + { + "name": "Nova-Life: Amboise", + "description": "Nova-Life: Amboise is a multiplayer role-play simulation video game. Create your character and start your second life!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/novalife_amboise/egg-nova--life--amboise.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "SERVER_NAME", + "SERVER_SLOTS", + "SERVER_LIST_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/nova-life-amboise", + "installs": 0, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 885570, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/885570/header.jpg?t=1771038065", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/885570/369bbac0f0c947590db98cfd9e0a359bcb053b06.jpg" + }, + { + "slug": "onehouronelife", + "name": "OneHourOneLife", + "category": "games", + "eggs": [ + { + "name": "One Hour One Life", + "description": "Dedicated server for One Hour One Life http://onehouronelife.com/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/OneHourOneLife/pelican-egg-one-hour-one-life.json", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/onehouronelife-one-hour-one-life.jpeg", + "features": [], + "vars": [ + "PASSWORD", + "REQUIRE_PASSWORD", + "SERVER_NAME" + ], + "hubUrl": null, + "installs": null, + "updatedAt": null + } + ], + "steamAppId": 595690, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/595690/header.jpg?t=1786279063", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/595690/7c801fb4555e66e35965d9beeda45fed48ebbe57.jpg" + }, + { + "slug": "onset", + "name": "Onset", + "category": "games", + "eggs": [ + { + "name": "Onset", + "description": "Onset is an open world multiplayer sandbox without predefined goals. Create and host your very own experience in Onset using scripting functions. Whether that is Roleplay, Cops and Robbers or classic Freeroam. Or just en", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/onset/egg-onset.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "LD_LIBRARY_PATH", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/onset", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 1105810, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1105810/header.jpg?t=1693334544", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1105810/3c2ad5d1ecd47c9b1fa10061b0372638b75aeb2b.jpg" + }, + { + "slug": "open-fortress", + "name": "Open Fortress", + "category": "games", + "eggs": [ + { + "name": "Open Fortress", + "description": "Open Fortress is a free Team Fortress 2 mod that introduces new gamemodes, weapons, characters, maps, and more to the world of TF2.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/open_fortress/egg-open-fortress.json", + "image": "ghcr.io/parkervcp/yolks:games_source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "MAXPLAYERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/open-fortress", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 3561320, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/3561320/1226599c83259df32b3738183d9a45996570f813/header.jpg?t=1766685844", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/3561320/3ee4944fccea54058b4eaef71508f9ff97765bd4.jpg" + }, + { + "slug": "openarena", + "name": "OpenArena", + "category": "games", + "eggs": [ + { + "name": "OpenArena", + "description": "OpenArena is a community-produced deathmatch FPS based on GPL idTech3 technology. http://www.openarena.ws/", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openarena/egg-open-arena.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GAME_MAP" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openarena", + "installs": 0, + "updatedAt": "2026-09-08T04:15:14+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "openrct2", + "name": "OpenRCT2", + "category": "games", + "eggs": [ + { + "name": "OpenRCT2", + "description": "OpenRCT2 is an open-source re-implementation of RollerCoaster Tycoon 2 (RCT2), expanding the game with new features, fixing bugs and raising game limits.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openrct2/egg-open-r-c-t2.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SAVE_URI", + "LOAD_AUTOSAVE", + "AUTOSAVE_INTERVAL", + "AUTOSAVE_AMOUNT", + "MAX_PLAYERS", + "SERVER_PASSWORD", + "SERVER_ADVERTISE", + "PAUSE_NO_CLIENTS", + "SERVER_NAME", + "SERVER_DESCRIPTION", + "SERVER_PLAYER_NAME", + "SERVER_GREETING", + "PROVIDER_NAME", + "PROVIDER_EMAIL", + "PROVIDER_WEBSITE", + "LOG_CHAT", + "LOG_SERVER_ACTIONS", + "VERSION", + "LD_LIBRARY_PATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openrct2", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "openttd", + "name": "Openttd", + "category": "games", + "eggs": [ + { + "name": "OpenTTD", + "description": "OpenTTD is an open source simulation game based upon the popular Microprose game \"Transport Tycoon Deluxe\", written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with n", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/openttd/egg-open-t-t-d-server.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "srv_name", + "srv_advertise", + "OPENTTD_VERSION", + "OPENGFX_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/openttd", + "installs": 1, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 1536610, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1536610/header.jpg?t=1773680448", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1536610/c4b2426e67079118ab08d81fbb5879d0968caab6.jpg" + }, + { + "slug": "operation-harsh-doorstop", + "name": "Operation Harsh Doorstop", + "category": "games", + "eggs": [ + { + "name": "Operation Harsh Doorstop", + "description": "Operation: Harsh Doorstop is an Unreal Engine powered shooter sandbox similar to mod-friendly games like Ravenfield and Garry's Mod but with roots in tactical shooters like Squad and Arma III. Our game is entirely donati", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/operation_harsh_doorstop/egg-operation-harsh-doorstop.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "MAX_PLAYERS", + "SERVER_NAME", + "QUERY_PORT", + "RCON_PORT", + "RCON_MAX_AUTH_ATTEMPTS", + "RCON_PASSWORD", + "RCON_MAX_CONNECTIONS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/operation-harsh-doorstop", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 736590, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/736590/f97103050391e071a864ddd748e3c3f32b6ebe7d/header.jpg?t=1779659854", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/736590/c6bab4b59297f21d7c58195d2de0054662ec47d4.jpg" + }, + { + "slug": "owncast-online", + "name": "Owncast.online", + "category": "software", + "eggs": [ + { + "name": "Owncast.online", + "description": "Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/owncast/egg-owncastonline.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GITHUB_OAUTH_TOKEN", + "GITHUB_PACKAGE", + "GITHUB_USER", + "MATCH", + "RTMP_PORT", + "STREAM_KEY", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/owncastonline", + "installs": 3, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "parkertron", + "name": "parkertron", + "category": "bots", + "eggs": [ + { + "name": "parkertron", + "description": "The stupid chatbot parkertron by Parkervcp. https://github.com/parkervcp/parkertron", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/parkertron/egg-parkertron.yaml", + "image": "ghcr.io/parkervcp/yolks:bot_parkertron", + "imageNote": null, + "icon": null, + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/parkertron", + "installs": 0, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "path-of-titans", + "name": "Path of Titans", + "category": "games", + "eggs": [ + { + "name": "Path Of Titans", + "description": "Path of Titans is a multiplayer dinosaur survival video game. Survive as a dinosaur in a rich ecosystem filled with intelligent AI creatures and up to 200 other players.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/path_of_titans/egg-path-of-titans.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_MAP", + "SERVER_MAX_PLAYERS", + "SERVER_NAME", + "SERVER_GUID", + "BETA_BRANCH", + "SERVER_DB", + "AG_AUTH_TOKEN", + "QUERY_PORT", + "RCON_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/path-of-titans", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "pavlov", + "name": "Pavlov", + "category": "games", + "eggs": [ + { + "name": "Pavlov VR", + "description": "Pavlov VR is a multiplayer shooter in VR with heavy focus on community features. Realistic reloading features and fast paced combat as part of the core experience. Play the #1 most popular VR shooter on PC today.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/pavlov_vr/egg-pavlov-v-r.json", + "image": "ghcr.io/parkervcp/steamcmd:ubuntu", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "RCON_PASSWORD", + "RCON_PORT", + "AUTO_UPDATE", + "SRCDS_BETAID", + "API_KEY" + ], + "hubUrl": "https://hub.pelican.dev/eggs/pavlov-vr", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 555160, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/555160/header.jpg?t=1770745729", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/555160/d537afd8696affb4b2294aed07be5e13bcfc5d87.jpg" + }, + { + "slug": "phantombot", + "name": "PhantomBot", + "category": "bots", + "eggs": [ + { + "name": "PhantomBot", + "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your ga", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/twitch/phantombot/egg-phantom-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:java_16", + "imageNote": "Java 16–19", + "icon": null, + "features": [], + "vars": [ + "BOT_TWITCH_USERNAME", + "CHANNEL_OWNER", + "DISCORD_BOT_TOKEN", + "CHANNEL_NAME", + "RELEASE_VERSION", + "WEBPANEL_PASSWORD", + "WEBPANEL_USERNAME", + "YOUTUBE_API_KEY" + ], + "hubUrl": "https://hub.pelican.dev/eggs/phantombot", + "installs": 0, + "updatedAt": "2026-10-05T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "pixark", + "name": "Pixark", + "category": "games", + "eggs": [ + { + "name": "PixARK", + "description": "A simple Docker container with Wine to run PixARK", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/pixark/egg-pix-a-r-k.json", + "image": "ghcr.io/parkervcp/yolks:wine_devel", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ARK_PASSWORD", + "ARK_ADMIN_PASSWORD", + "MAX_PLAYERS", + "QPORT", + "RCPORT", + "CUBEPORT", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "SRV_NAME", + "WINEDEBUG", + "WINEARCH", + "WINEPATH", + "XVFB", + "WINETRICKS_RUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/pixark", + "installs": 3, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 593600, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/593600/header.jpg?t=1787790345", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/593600/9f86433e4fac855cb7a659842adb9bccdc161d9e.jpg" + }, + { + "slug": "pixel-bot", + "name": "pixel-bot", + "category": "bots", + "eggs": [ + { + "name": "pixel-bot", + "description": "A Discord bot written in Python using discord.py https://github.com/Ispira/pixel-bot", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/pixelbot/egg-pixel-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:python_3.7", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BOT_NAME", + "BOT_TOKEN", + "IMGUR_KEY", + "IMGUR_SECRET", + "OWNER_UID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/pixel-bot", + "installs": 1, + "updatedAt": "2026-10-05T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "plains-of-pain", + "name": "Plains Of Pain", + "category": "games", + "eggs": [ + { + "name": "Plains of Pain", + "description": "Survive a brutal open world alone or with friends. Explore a procedural wasteland scorched by chaos. Build and defend your base, trade for what you need, complete deadly quests, and fight to claim faction outposts before", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/plains_of_pain/egg-plains-of-pain.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": "2 images", + "icon": "/img/eggs/plains-of-pain-plains-of-pain.jpeg", + "features": [], + "vars": [ + "AUTO_UPDATE", + "DIFFICULTY", + "MAX_PLAYERS", + "QUERY_PORT", + "SERVER_NAME", + "SERVER_PASSWORD", + "SRCDS_APPID", + "SRCDS_BETAID", + "WORLD_SIZE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/plains-of-pain", + "installs": 0, + "updatedAt": "2026-10-06T00:02:09+00:00" + } + ], + "steamAppId": 2218970, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2218970/f4f5152f616bf9881d326ef728c01b083f26e2e1/header.jpg?t=1791887399", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2218970/68de56add40f2bd2eb0c358eb507dbc2da99716a.jpg" + }, + { + "slug": "portal-knights", + "name": "Portal Knights", + "category": "games", + "eggs": [ + { + "name": "Portal Knights", + "description": "The world of Elysia needs YOU! Join this cooperative, 3D sandbox action RPG to level up your character, craft epic weapons, conquer enemies in real-time, and build almost anything! Craft your adventure. Forge your hero. ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/portal_knights/egg-portal-knights.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "WINDOWS_INSTALL", + "SRCDS_APPID", + "AUTO_UPDATE", + "WINEARCH", + "WINEDEBUG", + "SERVER_NAME", + "ADMIN_PASS", + "USER_PASS", + "GUEST_PASS", + "GAMEMODE", + "UNIVERSE_SIZE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/portal-knights", + "installs": 0, + "updatedAt": "2026-09-08T04:15:03+00:00" + } + ], + "steamAppId": 374040, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/374040/header.jpg?t=1793371507", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/374040/464bad8b53edd14ea24f1bf0315a84740220f470.jpg" + }, + { + "slug": "postgres-14", + "name": "Postgres 14", + "category": "databases", + "eggs": [ + { + "name": "Postgres 14", + "description": "A default Postgres install that is not really editable.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/sql/postgres/egg-postgres14.json", + "image": "ghcr.io/parkervcp/yolks:postgres_14", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PGUSER", + "PGPASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/postgres-14", + "installs": 0, + "updatedAt": "2026-10-07T00:02:39+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "postgres-16", + "name": "Postgres 16", + "category": "databases", + "eggs": [ + { + "name": "Postgres 16", + "description": "A default Postgres install that is not really editable.", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/sql/postgres/egg-postgres16.json", + "image": "ghcr.io/parkervcp/yolks:postgres_16", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PGUSER", + "PGPASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/postgres-16", + "installs": 0, + "updatedAt": "2026-10-07T00:02:39+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "project-zomboid", + "name": "Project Zomboid", + "category": "games", + "eggs": [ + { + "name": "Project Zomboid", + "description": "Project Zomboid is an open world survival horror video game in alpha stage development by British and Canadian independent developer, The Indie Stone. The game is set in a post apocalyptic, zombie infested world where th", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/project_zomboid/egg-project-zomboid.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "ADMIN_USER", + "ADMIN_PASSWORD", + "STEAM_PORT", + "MAX_PLAYERS", + "SRCDS_APPID", + "SRCDS_BETAID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/project-zomboid", + "installs": 4, + "updatedAt": "2026-09-08T04:15:04+00:00" + } + ], + "steamAppId": 108600, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/108600/header.jpg?t=1793224893", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/108600/2bd4642ae337e378e7b04a19d19683425c5f81a4.jpg" + }, + { + "slug": "prometheus", + "name": "Prometheus", + "category": "monitoring", + "eggs": [ + { + "name": "Prometheus", + "description": "The Prometheus monitoring system and time series database.", + "url": "https://raw.githubusercontent.com/pelican-eggs/monitoring/refs/heads/main/prometheus/egg-prometheus.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": "/img/eggs/prometheus-prometheus.png", + "features": [], + "vars": [ + "DATA_SAVE_TIME", + "PROMETHEUS_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/prometheus", + "installs": 1, + "updatedAt": "2026-10-05T00:02:20+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/prometheus-prometheus.png", + "art": "/img/eggs/prometheus-prometheus.png" + }, + { + "slug": "puck", + "name": "Puck", + "category": "games", + "eggs": [ + { + "name": "Puck", + "description": "Fast-paced physics-based hockey simulation where precision, strategy, and chaos collide. Control every move, pass, and shot with realistic puck physics, dynamic player movement, and thrilling gameplay. Master the rink wi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/puck/egg-puck.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "MAX_PLAYERS", + "PING_PORT", + "SERVER_NAME", + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/puck", + "installs": 0, + "updatedAt": "2026-09-08T04:15:04+00:00" + } + ], + "steamAppId": 2994020, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2994020/24148cf3fe73bcd5e9d694a2f37be60a4d9a0120/header.jpg?t=1779700778", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2994020/a41908e104d645dce461bd84b3d94e83c1d32ec8.jpg" + }, + { + "slug": "python-generic", + "name": "Python generic", + "category": "generic", + "eggs": [ + { + "name": "Python generic", + "description": "A Generic Python Egg for Pelican Tested with: https://github.com/Ispira/pixel-bot", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/python/egg-python-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:python_3.14", + "imageNote": "Python 3.7–3.14", + "icon": "/img/eggs/python-generic-python-generic.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BRANCH", + "GIT_ADDRESS", + "PY_FILE", + "PY_PACKAGES", + "REQUIREMENTS_FILE", + "USER_UPLOAD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/python-generic", + "installs": 7, + "updatedAt": "2026-10-07T00:02:42+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/python-generic-python-generic.png", + "art": "/img/eggs/python-generic-python-generic.png" + }, + { + "slug": "qanga", + "name": "Qanga", + "category": "games", + "eggs": [ + { + "name": "QANGA", + "description": "QANGA: Dive into a sci-fi adventure of exploration and resilience across the cosmos. Merge your mind with a state-of-the-art cyborg crafted by ICLab's Industry labs, and journey through this expansive universe!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/qanga/egg-q-a-n-g-a.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "MAP", + "SESSION_NAME", + "QUERY_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/qanga", + "installs": 0, + "updatedAt": "2026-09-08T04:15:04+00:00" + } + ], + "steamAppId": 1648190, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1648190/57f758f32281196b03893cf572dc7ff35c30db57/header.jpg?t=1790191235", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1648190/4b6a50f785d8619ec68ec66e6ce156c325a34620.jpg" + }, + { + "slug": "quake-live", + "name": "Quake Live", + "category": "games", + "eggs": [ + { + "name": "Quake Live", + "description": "Quake Live is a first-person shooter video game by id Software. It is an updated version of Quake III Arena that was originally designed as a free-to-play game launched via a web browser plug-in. On September 17, 2014, t", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/quake_live/egg-quake-live.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "LD_LIBRARY_PATH", + "SERVER_NAME", + "SERVER_TYPE", + "PASSWORD", + "FPS", + "SRCDS_APPID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/quake-live", + "installs": 0, + "updatedAt": "2026-09-08T04:15:04+00:00" + } + ], + "steamAppId": 282440, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/282440/header.jpg?t=1742481724", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/282440/bac9828d3e193c948801b14660490576fbbf9f72.jpg" + }, + { + "slug": "rabbitmq", + "name": "RabbitMQ", + "category": "software", + "eggs": [ + { + "name": "RabbitMQ", + "description": "RabbitMQ is a feature rich, multi-protocol messaging broker.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/rabbitmq/egg-rabbit-m-q.yaml", + "image": "ghcr.io/pelican-eggs/yolks:erlang_26", + "imageNote": "5 images", + "icon": null, + "features": [], + "vars": [ + "RABBITMQ_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rabbitmq", + "installs": 1, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "rathole", + "name": "Rathole", + "category": "software", + "eggs": [ + { + "name": "Rathole", + "description": "A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/rathole/egg-rathole.yaml", + "image": "ghcr.io/pelican-eggs/yolks:rust_latest", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "TOKEN", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rathole", + "installs": 1, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "red", + "name": "Red", + "category": "bots", + "eggs": [ + { + "name": "Red", + "description": "A multifunction Discord bot https://github.com/Cog-Creators/Red-DiscordBot", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/redbot/egg-red.yaml", + "image": "ghcr.io/parkervcp/yolks:bot_red", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PREFIX", + "TOKEN", + "OWNER" + ], + "hubUrl": "https://hub.pelican.dev/eggs/red", + "installs": 0, + "updatedAt": "2026-10-14T00:02:23+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "red-dead-redemption-2", + "name": "Red Dead Redemption 2", + "category": "games", + "eggs": [ + { + "name": "RedM", + "description": "A new RedM egg for the latest builds due to recent changes in RedM", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/rdr/redm/egg-red-m.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "CFX_LICENSE", + "MAX_PLAYERS", + "SERVER_HOSTNAME", + "CFX_VERSION", + "DOWNLOAD_URL", + "STEAM_WEBAPIKEY" + ], + "hubUrl": "https://hub.pelican.dev/eggs/redm", + "installs": 2, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 1174180, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1174180/header.jpg?t=1759502961", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1174180/5106abd9c1187a97f23295a0ba9470c94804ec6c.jpg" + }, + { + "slug": "redis-5", + "name": "Redis-5", + "category": "databases", + "eggs": [ + { + "name": "Redis-5", + "description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitm", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/redis/redis-5/egg-redis-5.json", + "image": "ghcr.io/parkervcp/yolks:redis_5", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/redis-5", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "redis-6", + "name": "Redis-6", + "category": "databases", + "eggs": [ + { + "name": "Redis-6", + "description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitm", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/redis/redis-6/egg-redis-6.json", + "image": "ghcr.io/parkervcp/yolks:redis_6", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/redis-6", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "redis-7", + "name": "Redis-7", + "category": "databases", + "eggs": [ + { + "name": "Redis-7", + "description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitm", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/redis/redis-7/egg-redis-7.json", + "image": "ghcr.io/parkervcp/yolks:redis_7", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/redis-7", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "ree6", + "name": "Ree6", + "category": "bots", + "eggs": [ + { + "name": "Ree6", + "description": "All-in-one, open source and 100% free Discord Bot!", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/ree6/egg-ree6.yaml", + "image": "ghcr.io/pterodactyl/yolks:java_17", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MISC_STATUS", + "MISC_ADV", + "AMARI_TOKEN", + "DAGPI_TOKEN", + "DATABASE_FILE", + "DATABASE_TYP", + "DATABASE_HOST", + "MISC_FEEDBACK", + "HEARTBEAT_INTERVAL", + "HEARTBEAT_URL", + "INSTAGRAM_PASSWORD", + "INSTAGRAM_USERNAME", + "MISC_INVITE", + "MISC_NAME", + "AI_MODEL", + "AI_TOKEN", + "AI_URL", + "MISC_PREDEF", + "MISC_RECORD", + "REDDIT_CLIENT_ID", + "REDDIT_CLIENT_SECRET", + "DATABASE_DB", + "DATABASE_PW", + "DATABASE_PORT", + "DATABASE_USER", + "SENTRY_DSN", + "MISC_SHARD", + "SPOTIFY_CLIENT_ID", + "SPOTIFY_CLIENT_SECRET", + "MISC_SUPPORT", + "TWITCH_CLIENT_ID", + "TWITCH_CLIENT_SECRET", + "MISC_TWITCH", + "TWITTER_BEARER", + "MISC_INTERFACE", + "MISC_WEB", + "MISC_OWNER", + "DATABASE_POOL", + "BOT_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ree6", + "installs": 2, + "updatedAt": "2026-10-05T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "reposilite", + "name": "Reposilite", + "category": "software", + "eggs": [ + { + "name": "Reposilite", + "description": "Lightweight and easy-to-use repository management software dedicated for Maven based artifacts in the JVM ecosystem.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/reposilite/egg-reposilite.yaml", + "image": "ghcr.io/pelican-eggs/yolks:java_21", + "imageNote": "Java 8–21", + "icon": null, + "features": [], + "vars": [ + "REPOSILITE_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/reposilite", + "installs": 1, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "resonite", + "name": "Resonite", + "category": "games", + "eggs": [ + { + "name": "Resonite", + "description": "Enter a novel digital universe with infinite possibilities. Whether you resonate with people around the world in a casual conversation, playing games and socializing or you riff off each other when creating anything from", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/resonite/egg-resonite.json", + "image": "ghcr.io/pelican-eggs/steamcmd:dotnet", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "ENABLE_MODLOADER", + "SRCDS_BETAPASS", + "SRCDS_BETAID", + "AUTO_UPDATE", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/resonite", + "installs": 0, + "updatedAt": "2026-09-08T04:15:04+00:00" + } + ], + "steamAppId": 2519830, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2519830/header.jpg?t=1789588505", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2519830/ca69719555a9dc1006f9cdc1ea537aaf7cdff725.jpg" + }, + { + "slug": "rethinkdb", + "name": "rethinkdb", + "category": "databases", + "eggs": [ + { + "name": "rethinkdb", + "description": "The open-source database for the realtime web", + "url": "https://raw.githubusercontent.com/pelican-eggs/database/refs/heads/main/nosql/rethinkdb/egg-rethinkdb.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "DRIVER_PORT", + "HTTP_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rethinkdb", + "installs": 0, + "updatedAt": "2026-09-08T04:15:20+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "risk-of-rain-2", + "name": "Risk Of Rain 2", + "category": "games", + "eggs": [ + { + "name": "Risk of Rain 2", + "description": "Risk of Rain 2 dedicated server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/risk_of_rain_2/egg-risk-of-rain2.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "PASSWORD", + "HOSTNAME", + "PLAYERS", + "ADVERTISE", + "QUERY", + "STEAM", + "AUTO_UPDATE", + "SRCDS_APPID", + "WINEDEBUG", + "WINEARCH", + "WINEPATH", + "XVFB", + "WINDOWS_INSTALL", + "WINETRICKS_RUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/risk-of-rain-2", + "installs": 1, + "updatedAt": "2026-09-08T04:15:05+00:00" + } + ], + "steamAppId": 632360, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/632360/77f4cff7fea7de8a4566d1fb76ace16967604da7/header_alt_assets_7.jpg?t=1791475448", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/632360/0b809ac6f25e6570fecae5fc47bca0139a7bf70c.jpg" + }, + { + "slug": "runescape-dragonwilds", + "name": "Runescape Dragonwilds", + "category": "games", + "eggs": [ + { + "name": "RuneScape: Dragonwilds", + "description": "RuneScape: Dragonwilds is a co-op survival RPG set in the world of RuneScape. Up to 6 players can explore, craft, build, and battle together on a dedicated server. RAM recommendation is 2 GB base + 1 GB per player (8 GB ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/runescape_dragonwilds/egg-runescape-dragonwilds.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": "/img/eggs/runescape-dragonwilds-runescape-dragonwilds.png", + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWORD", + "AUTO_UPDATE", + "DEFAULT_WORLD_NAME", + "MAX_PLAYERS", + "SERVER_NAME", + "WORLD_PASSWORD", + "OWNER_ID", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/runescape-dragonwilds", + "installs": 3, + "updatedAt": "2026-09-08T04:15:05+00:00" + } + ], + "steamAppId": 1374490, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1374490/3e27915a647dbf05e17f2ff98d33c9a0765da539/header.jpg?t=1793372596", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1374490/8e307e43b46f4dc3554487c491015ba2b24ff235.jpg" + }, + { + "slug": "rust-generic", + "name": "Rust generic", + "category": "generic", + "eggs": [ + { + "name": "Rust generic", + "description": "Creates a container that runs rust with cargo.", + "url": "https://raw.githubusercontent.com/pelican-eggs/generic/refs/heads/main/rust/egg-rust-generic.yaml", + "image": "ghcr.io/pelican-eggs/yolks:rust_latest", + "imageNote": "3 images", + "icon": "/img/eggs/rust-generic-rust-generic.png", + "features": [], + "vars": [ + "ACCESS_TOKEN", + "AUTO_UPDATE", + "BRANCH", + "GIT_ADDRESS", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/rust-generic", + "installs": 1, + "updatedAt": "2026-10-06T00:02:17+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/rust-generic-rust-generic.png", + "art": "/img/eggs/rust-generic-rust-generic.png" + }, + { + "slug": "satisfactory", + "name": "Satisfactory", + "category": "games", + "eggs": [ + { + "name": "Satisfactory", + "description": "Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven!", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/satisfactory/egg-satisfactory.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "RELIABLE_PORT", + "AUTO_UPDATE", + "NUM_AUTOSAVES", + "MAX_PLAYERS", + "INIT_CONNECT_TIMEOUT", + "CONNECT_TIMEOUT", + "SRCDS_BETAID", + "VALIDATE", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/satisfactory", + "installs": 7, + "updatedAt": "2026-10-14T00:02:18+00:00" + } + ], + "steamAppId": 526870, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/526870/header.jpg?t=1791192059", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/526870/ee3406fe5ec813b1987ad67e37e5cd6fb4f620e6.jpg" + }, + { + "slug": "sftp-storage-share", + "name": "SFTP Storage Share", + "category": "storage", + "eggs": [ + { + "name": "SFTP Storage Share", + "description": "A simple \"empty\" egg that acts as a private SFTP storage share by utilizing Pelican's built in SFTP system for servers. Sub-users can be added to the server by the owner to allow additional people to access the share. \"S", + "url": "https://raw.githubusercontent.com/pelican-eggs/storage/refs/heads/main/sftp_storage_share/egg-sftp-storage-share.yaml", + "image": "alpine", + "imageNote": null, + "icon": "/img/eggs/sftp-storage-share-sftp-storage-share.png", + "features": [], + "vars": [], + "hubUrl": "https://hub.pelican.dev/eggs/sftp-storage-share", + "installs": 3, + "updatedAt": "2026-10-07T00:02:43+00:00" + } + ], + "steamAppId": null, + "icon": "/img/eggs/sftp-storage-share-sftp-storage-share.png", + "art": "/img/eggs/sftp-storage-share-sftp-storage-share.png" + }, + { + "slug": "sinusbot", + "name": "Sinusbot", + "category": "bots", + "eggs": [ + { + "name": "Sinusbot", + "description": "Musicbot for Discord and Teamspeak.", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/sinusbot/egg-sinusbot.yaml", + "image": "ghcr.io/parkervcp/yolks:bot_sinusbot", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "OVERRIDE_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sinusbot", + "installs": 2, + "updatedAt": "2026-10-14T00:02:23+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "smalland-survive-the-wilds", + "name": "Smalland Survive The Wilds", + "category": "games", + "eggs": [ + { + "name": "Smalland: Survive the Wilds", + "description": "Experience a big adventure on a tiny scale! Enjoy multiplayer survival in a vast, hazardous world. Preparation is key when you're this small & at the bottom of the food chain. Craft weapons & armour, tame & ride creature", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/smalland_survive_the_wilds/egg-smalland--survive-the-wilds.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVERNAME", + "AUTO_UPDATE", + "WORLDNAME", + "PASSWORD", + "PRIVATE", + "FRIENDLYFIRE", + "PEACEFULMODE", + "KEEPINVENTORY", + "DETERIORATION", + "LENGTHOFDAYSECONDS", + "LENGTHOFSEASONSECONDS", + "CREATUREHEALTHMODIFIER", + "CREATUREDAMAGEMODIFIER", + "NOURISHMENTLOSSMODIFIER", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/smalland-survive-the-wilds", + "installs": 0, + "updatedAt": "2026-09-08T04:15:05+00:00" + } + ], + "steamAppId": 768200, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/768200/67c3d2f6d897225f951655df0efc1b7bb33d9d08/header.jpg?t=1787165670", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/768200/82fe464a17c8ac11b806ec3d2861860c21e161c0.jpg" + }, + { + "slug": "sogebot", + "name": "SogeBot", + "category": "bots", + "eggs": [ + { + "name": "SogeBot", + "description": "sogeBot - Free Twitch Bot built on Node.js https://sogebot.xyz/", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/twitch/sogebot/egg-soge-bot.yaml", + "image": "ghcr.io/parkervcp/yolks:nodejs_18", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sogebot", + "installs": 0, + "updatedAt": "2026-10-05T00:02:16+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "solace-crafting", + "name": "Solace Crafting", + "category": "games", + "eggs": [ + { + "name": "Solace Crafting", + "description": "Open-world fantasy survival RPG. Borderless distance-based difficulty with player built fast-travel, modular-building, and town management.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/solace_crafting/egg-solace-crafting.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/solace-crafting", + "installs": 0, + "updatedAt": "2026-09-08T04:15:05+00:00" + } + ], + "steamAppId": 670260, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/670260/840a530fdc4b80a0c54e483f54ff37b835652057/header.jpg?t=1782530557", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/670260/d09dd1b5c96a7a9765b729b82426777fba0fcef5.jpg" + }, + { + "slug": "soldat", + "name": "Soldat", + "category": "games", + "eggs": [ + { + "name": "Soldat", + "description": "Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, and Counter-Strike and provides a fast-paced gaming experience with tons of blood and fl", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/soldat/egg-soldat.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWD", + "SRV_PWD", + "SRV_NAME", + "MAX_PLAYERS", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/soldat", + "installs": 0, + "updatedAt": "2026-09-08T04:15:06+00:00" + } + ], + "steamAppId": 638490, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/638490/header.jpg?t=1756567404", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/638490/d9e29c9c4efa26a936c04812f068ec97ca7025f2.jpg" + }, + { + "slug": "sons-of-the-forest", + "name": "Sons Of The Forest", + "category": "games", + "eggs": [ + { + "name": "Sons Of The Forest", + "description": "Sons of the Forest is a horror survival game and sequel to The Forest by Endnight Games, Ltd.. Sent to find a missing billionaire on a remote island, you find yourself in a cannibal-infested hellscape. Craft, build, and ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/sonsoftheforest/egg-sons-of-the-forest.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "BLOBSYNC_PORT", + "SRV_NAME", + "MAX_PLAYERS", + "SRV_PW", + "GAME_MODE", + "AUTO_UPDATE", + "SRCDS_APPID", + "WINEDEBUG", + "WINEARCH", + "WINEPATH", + "WINETRICKS_RUN", + "WINDOWS_INSTALL", + "SKIP_TESTS", + "SAVE_SLOT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sons-of-the-forest", + "installs": 0, + "updatedAt": "2026-10-14T00:02:18+00:00" + } + ], + "steamAppId": 1326470, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1326470/header.jpg?t=1708624856", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1326470/bd28fe592b339cff5a3eef743f31e3166c984c68.jpg" + }, + { + "slug": "soulmask", + "name": "Soulmask", + "category": "games", + "eggs": [ + { + "name": "Soulmask", + "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and b", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/soulmask/egg-soulmask.yaml", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWORD", + "SRCDS_APPID", + "AUTO_UPDATE", + "BACKUP_TIME", + "EXTRA_ARGS", + "ECHO_PORT", + "MAP", + "MAX_PLAYERS", + "QUERY_PORT", + "SAVE_TIME", + "SERVER_NAME", + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/soulmask", + "installs": 0, + "updatedAt": "2026-11-02T00:03:30+00:00" + } + ], + "steamAppId": 2646460, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2646460/8580b9d3a4f484c8e865a51c89c8307521716151/header_alt_assets_29.jpg?t=1792653046", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2646460/a6e8a3962f1110deb848aeb979e306c6416972fd.jpg" + }, + { + "slug": "source-co-op", + "name": "Source Co-op", + "category": "games", + "eggs": [ + { + "name": "SourceCoop", + "description": "SourceCoop is a cooperative server-side-only mod for multi-player Source Engine games (like Black Mesa), that enables players to play together on single-player campaigns or maps. This Egg currently supports official Blac", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/sourcecoop/egg-source-coop.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SERVER_NAME", + "MAX_PLAYERS", + "SERVER_PASSWORD", + "STARTING_MAP", + "FRIENDLY_FIRE", + "MOD_FORCETOUCHDATA", + "SRCDS_APPID", + "AUTO_UPDATE", + "VERSION", + "MATCH", + "MMS_BUILD", + "SM_BUILD", + "DELETE_UNUSED_TEXTURES" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sourcecoop", + "installs": 0, + "updatedAt": "2026-10-14T00:02:18+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "spacestation-14", + "name": "Spacestation 14", + "category": "games", + "eggs": [ + { + "name": "Space Station 14", + "description": "Space Station 14 tells the story of an ordinary shift on a space station gone wrong. Immerse yourself into your role, tinker with detailed systems, and survive the chaos in this round-based multiplayer role playing game.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/spacestation_14/egg-spacestation14.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_10", + "imageNote": ".NET 8–10", + "icon": "/img/eggs/spacestation-14-space-station-14.png", + "features": [], + "vars": [ + "SERVER_AUTH", + "SERVER_MAX_PLAYERS", + "SERVER_NAME", + "SERVER_TICK" + ], + "hubUrl": "https://hub.pelican.dev/eggs/space-station-14", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 1255460, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1255460/480dd0bcb786d9ff1372d490229640a82cb40701/header.jpg?t=1786071516", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1255460/fcdb7d44c886ad0b00420fa094c5ef97ea888cb0.jpg" + }, + { + "slug": "squad-44", + "name": "Squad 44", + "category": "games", + "eggs": [ + { + "name": "Post Scriptum", + "description": "Post Scriptum is a WW2-themed first-person tactical shooter that provides an authentic WWII combat experience. Focusing on historical accuracy, large-scale battles, and a challenging battlefield demands an intense need f", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/post_scriptum/egg-post-scriptum.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "QUERY_PORT", + "RCON_PORT", + "RCON_PASSWORD", + "AUTO_UPDATE", + "hostname", + "maxplayers", + "allowteamchange", + "advertise", + "reservedslots", + "team_change", + "teambalance", + "demo_recording", + "LD_LIBRARY_PATH", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/post-scriptum", + "installs": 0, + "updatedAt": "2026-10-14T00:02:17+00:00" + } + ], + "steamAppId": 736220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/736220/header.jpg?t=1790967343", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/736220/0057eba030c446743df41dffdc3e5931044c07e6.jpg" + }, + { + "slug": "star-rupture", + "name": "Star Rupture", + "category": "games", + "eggs": [ + { + "name": "StarRupture", + "description": "StarRupture is a first-person open world base-building game with advanced combat and tons of exploration. Play alone or in a group on this sublime and ever-changing planet, extract and manage resources, create your compl", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/star_rupture/egg-star-rupture.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "QUERY_PORT", + "DSS_SERVER_NAME", + "DSS_LOAD_SAVED_GAME", + "SRCDS_BETAID", + "DSS_CREATE_NEW_GAME", + "DSS_SAVE_INTERVAL", + "DSS_SAVE_FILE_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/starrupture", + "installs": 0, + "updatedAt": "2026-10-14T00:02:19+00:00" + } + ], + "steamAppId": 1631270, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1631270/cdb4adcc41107d70b3b0ee8600f280895ab0297e/header_alt_assets_4.jpg?t=1792506565", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1631270/470e6b7296035ca798311e38232d938736674aba.jpg" + }, + { + "slug": "starbound", + "name": "Starbound", + "category": "games", + "eggs": [ + { + "name": "Starbound", + "description": "Starbound takes place in a two-dimensional, procedurally generated universe which the player is able to explore in order to obtain new weapons, armor, and items, and to visit towns and villages inhabited by various intel", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/starbound/egg-starbound.json", + "image": "ghcr.io/parkervcp/games:source", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "STEAM_USER", + "STEAM_PASS", + "SRCDS_APPID", + "STEAM_AUTH", + "AUTO_UPDATE", + "WORKSHOP" + ], + "hubUrl": "https://hub.pelican.dev/eggs/starbound", + "installs": 1, + "updatedAt": "2026-09-08T04:15:06+00:00" + } + ], + "steamAppId": 211820, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/211820/3ec8855d056d8695de0256594f893a9e3cb826e3/header.jpg?t=1782391980", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/211820/4dbf4041c33eb2edfc41f552320a2e584519134c.jpg" + }, + { + "slug": "starmade", + "name": "Starmade", + "category": "games", + "eggs": [ + { + "name": "starmade", + "description": "starmade", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/starmade/egg-starmade.json", + "image": "ghcr.io/parkervcp/yolks:java_16", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_JARFILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/starmade", + "installs": 0, + "updatedAt": "2026-09-08T04:15:15+00:00" + } + ], + "steamAppId": 244770, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/244770/header.jpg?t=1779717855", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/244770/c8d6b105e322701a9e041f64032fb48bbf21ee81.jpg" + }, + { + "slug": "stormworks-build-and-rescue", + "name": "Stormworks: Build and Rescue", + "category": "games", + "eggs": [ + { + "name": "Stormworks: Build and Rescue", + "description": "Join a world where you design, create and pilot your own air sea rescue service. Release your inner hero as you battle fierce storms out at sea to rescue those in need.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/stormworks/egg-stormworks--build-and-rescue.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/stormworks-build-and-rescue", + "installs": 1, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 573090, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/573090/header.jpg?t=1772367420", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/573090/debf65da510a0a555c36da4f69c73f603e28b37b.jpg" + }, + { + "slug": "subnautica", + "name": "Subnautica", + "category": "games", + "eggs": [ + { + "name": "Subnautica", + "description": "Subnautica is an open world survival action-adventure video game developed and published by Unknown Worlds Entertainment. In it, players are free to explore the ocean on an alien planet, known as planet 4546B, after thei", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/subnautica_nitrox_mod/egg-subnautica.json", + "image": "ghcr.io/parkervcp/yolks:dotnet_9", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "APPID", + "SUBNAUTICA_ADMIN_PASSWORD", + "PORTFORWARD_ENABLE", + "SAVE_INTERVAL", + "CACHE_ENTITIES", + "SAVE_DISABLE", + "EXTRA_FLAGS", + "SERVER_MODE", + "SUBNAUTICA_INSTALLATION_PATH", + "KEEP_INVENTORY", + "NITROX_VERSION", + "SAVE_NAME", + "SERIALIZER_MODE", + "SUBNAUTICA_PASSWORD", + "STEAM_GUARDCODE", + "STEAM_PASSWORD", + "STEAM_USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/subnautica", + "installs": 1, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 264710, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/264710/header.jpg?t=1777456112", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/264710/8a14ceef6e230330a916d7a6324b8c52d464d569.jpg" + }, + { + "slug": "subsistence", + "name": "Subsistence", + "category": "games", + "eggs": [ + { + "name": "Subsistence", + "description": "Subsistence dedicated server (Steam app 1362640). The dedicated server is Windows-only (UDK.exe / Unreal Engine 3), so this egg installs the Windows depot through SteamCMD and runs it under Wine + Xvfb. Allocate the game", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/subsistence/egg-subsistence.yaml", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": "2 images", + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWORD", + "AUTO_UPDATE", + "BASE_DECAY_HOURS", + "DAYS_PER_YEAR", + "DIFFICULTY", + "ENEMY_BASE_ACCESS", + "HOSTED_BY", + "HUNTER_ATTACKS", + "HUNTERS_ENABLED", + "SERVER_PASSWORD", + "MAX_PLAYERS", + "MODS", + "MONTH_OVERRIDE", + "OFFLINE_BASE_PROTECTION", + "PVP_BASE_DAMAGE", + "PROFILE_ID", + "PVP_DAMAGE", + "SERVER_DESCRIPTION", + "SERVER_NAME", + "SRCDS_APPID", + "SRCDS_BETAID", + "QUERY_PORT", + "SteamAppId", + "WINDOWS_INSTALL", + "WINEARCH", + "WINEDEBUG", + "WINETRICKS_RUN", + "XVFB" + ], + "hubUrl": "https://hub.pelican.dev/eggs/subsistence", + "installs": 0, + "updatedAt": "2026-10-07T00:02:37+00:00" + } + ], + "steamAppId": 418030, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/418030/51ca75935cb38a5c893a756ebac206e7a23f47b8/header_alt_assets_19.jpg?t=1792259683", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/418030/bcacfec2c9cc86b66c7792590644aa66225c408e.jpg" + }, + { + "slug": "supertuxkart", + "name": "SuperTuxKart", + "category": "games", + "eggs": [ + { + "name": "SuperTuxKart", + "description": "Egg for hosting a SuperTuxKart Server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/SuperTuxKart/egg-super-tux-kart.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "CONFIG_NAME", + "DIFFICULTY", + "MAX_PLAYERS", + "MOTD", + "MODE", + "SERVER_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/supertuxkart", + "installs": 1, + "updatedAt": "2026-10-14T00:02:20+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "svencoop", + "name": "Svencoop", + "category": "games", + "eggs": [ + { + "name": "Sven Co-op", + "description": "Sven Co-op is a co-operative game originally based around Valve Software's Half-Life. In this game players must work together against computer controlled enemies and solve puzzles as a team.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/svencoop/egg-sven-co-op.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SC_MAP", + "SC_PLAYERS", + "SC_NAME", + "SC_PASSWORD", + "SC_REGION", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/sven-co-op", + "installs": 0, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 225840, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/225840/header.jpg?t=1735034103", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/225840/b552055c69f4b4b05195b72805ed0bff09cf1e93.jpg" + }, + { + "slug": "swords-n-magic-and-stuff", + "name": "Swords 'N Magic And Stuff", + "category": "games", + "eggs": [ + { + "name": "Swords 'n Magic and Stuff", + "description": "Grab your friends and set out for adventure in a world of swords, magic, and stuff. Discover tons of cool loot, uncover hidden secrets, and meet new friends and foes along the way. Make your mark and find a place to call", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/swords_'n_Magic_and_Stuff/egg-swordsn-magic-and-stuff.yaml", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SNM_OWNER_STEAM_ID", + "SRCDS_APPID", + "AUTO_UPDATE", + "SNM_MAX_PLAYERS", + "QUERY_PORT", + "SNM_DAYS_UNTIL_RESET", + "SNM_RESET_TIME_OF_DAY", + "SNM_NAME", + "SNM_PASSWORD", + "WINDOWS_INSTALL", + "WINEARCH", + "WINEDEBUG", + "WINETRICKS_RUN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/swords-n-magic-and-stuff", + "installs": 0, + "updatedAt": "2026-11-02T00:03:30+00:00" + } + ], + "steamAppId": 810040, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/810040/header.jpg?t=1773190593", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/810040/e75c1cc9b1a815489ec85d9a149eeca8b3bffc71.jpg" + }, + { + "slug": "team-fortress-2", + "name": "Team Fortress 2", + "category": "games", + "eggs": [ + { + "name": "Team Fortress 2", + "description": "Team Fortress 2 is a team-based first-person shooter multiplayer video game developed and published by Valve Corporation. It is the sequel to the 1996 mod Team Fortress for Quake and its 1999 remake.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/team_fortress_2/egg-team-fortress2.yaml", + "image": "ghcr.io/pelican-eggs/games:source", + "imageNote": null, + "icon": "/img/eggs/team-fortress-2-team-fortress-2.png", + "features": [ + "gsl_token", + "steam_disk_space" + ], + "vars": [ + "SRCDS_MAP", + "SRCDS_APPID", + "STEAM_ACC" + ], + "hubUrl": "https://hub.pelican.dev/eggs/team-fortress-2", + "installs": 2, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 440, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/440/header.jpg?t=1757348372", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/440/f568912870a4684f9ec76277a1a404dda6bab213.jpg" + }, + { + "slug": "team-fortress-2-classic", + "name": "Team Fortress 2 Classic", + "category": "games", + "eggs": [ + { + "name": "Team Fortress 2 Classic", + "description": "Team Fortress 2 Classic is a free mod of the 2007 game Team Fortress 2, developed by Eminoma and utilizing the Source engine.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/team_fortress_2_classic/egg-team-fortress2-classic.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SRCDS_GAME", + "SRCDS_MAP", + "GAMEVERSION", + "MAXPLAYERS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/team-fortress-2-classic", + "installs": 0, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "teamspeak-3", + "name": "TeamSpeak 3", + "category": "voice", + "eggs": [ + { + "name": "TeamSpeak 3", + "description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalability up to thousands of simultaneous users.", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/teamspeak/ts3/egg-teamspeak3.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FILE_TRANSFER", + "QUERY_HTTP", + "QUERY_PORT", + "QUERY_PROTOCOLS_VAR", + "QUERY_SSH", + "TS_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/teamspeak3-server", + "installs": 0, + "updatedAt": "2026-10-07T00:02:40+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "teamspeak-3-arm64", + "name": "TeamSpeak 3 (ARM64)", + "category": "voice", + "eggs": [ + { + "name": "TeamSpeak 3 (ARM64)", + "description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalability up to thousands of simultaneous users.", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/teamspeak/ts3/arm64/egg-teamspeak3-arm64.yaml", + "image": "ghcr.io/pelican-eggs/yolks:box64", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "FILE_TRANSFER", + "QUERY_PORT", + "SERVERADMIN_PASSWORD", + "TS_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/teamspeak-3-arm64", + "installs": 0, + "updatedAt": "2026-10-07T00:02:40+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "teamspeak-6", + "name": "TeamSpeak 6", + "category": "voice", + "eggs": [ + { + "name": "TeamSpeak 6", + "description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalability up to thousands of simultaneous users.", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/teamspeak/ts6/egg-teamspeak6.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "TSSERVER_FILE_TRANSFER_PORT", + "TSSERVER_LICENSE_ACCEPTED", + "TSSERVER_QUERY_HTTP_PORT", + "TSSERVER_QUERY_SSH_PORT", + "TS_VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/teamspeak6-server", + "installs": 4, + "updatedAt": "2026-10-07T00:02:40+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "teeworlds", + "name": "Teeworlds", + "category": "games", + "eggs": [ + { + "name": "Teeworlds", + "description": "Teeworlds is a free online multiplayer game, available for all major operating systems. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your ow", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/teeworlds/egg-teeworlds.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SERVER_NAME", + "SERVER_MOTD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/teeworlds", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": 380840, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/380840/header.jpg?t=1578354106", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/380840/830d8592f3eab3511bd0e750082e55a0c71286bd.jpg" + }, + { + "slug": "terratech-worlds", + "name": "Terratech Worlds", + "category": "games", + "eggs": [ + { + "name": "TerraTech Worlds", + "description": "TerraTech Worlds", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/terratech_worlds/egg-terra-tech-worlds.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SERVER_PASSWORD", + "MAX_PLAYERS", + "WINDOWS_INSTALL", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/terratech-worlds", + "installs": 0, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 2313330, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2313330/header.jpg?t=1777900200", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2313330/44edb93769c6660138d90f58e7c60b5e478f7e8a.jpg" + }, + { + "slug": "the-battle-for-wesnoth", + "name": "The Battle for Wesnoth", + "category": "games", + "eggs": [ + { + "name": "The Battle for Wesnoth", + "description": "Egg for hosting a Battle for Wesnoth Server.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/thebattleforwesnoth/egg-the-battle-for-wesnoth.json", + "image": "ghcr.io/parkervcp/games:thebattleforwesnoth", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BRANCH", + "PASSWD", + "MOTD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-battle-for-wesnoth", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "the-bus", + "name": "The Bus", + "category": "games", + "eggs": [ + { + "name": "The Bus", + "description": "The Bus is the next generation of city bus driving simulation. Sell tickets and transport passengers with various buses on different lines across the German capital Berlin on a realistic scale of 1:1.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/the_bus/egg-the-bus.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ADMIN_PASSWORD", + "AUTO_UPDATE", + "MAX_PLAYERS", + "SERVER_LIST", + "SERVER_NAME", + "SERVER_PASSWORD", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-bus", + "installs": 0, + "updatedAt": "2026-09-08T04:15:07+00:00" + } + ], + "steamAppId": 491540, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/491540/82270ee93148b8dce9104055e83bbe0256126d4d/header.jpg?t=1790839368", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/491540/42a1eda03ce3cbb1a50c5f1e23d1064a5112fdc1.jpg" + }, + { + "slug": "the-forest", + "name": "The Forest", + "category": "games", + "eggs": [ + { + "name": "The Forest", + "description": "As the lone survivor of a passenger jet crash, you find yourself in a mysterious forest battling to stay alive against a society of cannibalistic mutants. Build, explore, survive in this terrifying first-person survival ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/the_forest/egg-the-forest.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "SERVER_NAME", + "STEAM_PORT", + "QUERY_PORT", + "MAX_PLAYERS", + "SERVER_DIFFICULTY", + "STEAM_ACC", + "SERVER_PASS", + "ADMIN_PASS", + "VAC", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "WINEDEBUG", + "WINEARCH", + "INIT_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-forest", + "installs": 1, + "updatedAt": "2026-10-14T00:02:19+00:00" + } + ], + "steamAppId": 242760, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/242760/header.jpg?t=1699381053", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/242760/3a6847f6ac5879e48531db52261771d5e22904ac.jpg" + }, + { + "slug": "the-isle", + "name": "The Isle", + "category": "games", + "eggs": [ + { + "name": "The Isle", + "description": "The Isle is an open beta with an open-world survival game where players choose from three factions in an attempt to survive a fierce island. Hunt. Prey. Survive.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/the_isle/evrima/egg-the-isle.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "ALLOW_REPLAY", + "AUTO_UPDATE", + "DISCORD", + "DYNAMIC_WEATHER", + "ENABLE_QUEUE", + "HUMANS", + "PLAYER_COUNT", + "QUEUE_PORT", + "RCON", + "RCON_PASSWORD", + "RCON_PORT", + "SERVER_NAME", + "SERVER_PASSWORD", + "SRCDS_APPID", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-isle", + "installs": 1, + "updatedAt": "2026-10-14T00:02:19+00:00" + } + ], + "steamAppId": 376210, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/376210/header.jpg?t=1653237914", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/376210/7ae88c1923dbcdee670769fca9c89cc0e540ab46.jpg" + }, + { + "slug": "the-lord-of-the-rings-return-to-moria", + "name": "The Lord of the Rings: Return to Moria", + "category": "games", + "eggs": [ + { + "name": "The Lord of the Rings: Return to Moria", + "description": "The only survival crafting game set in the Fourth Age of Middle-earth™. Embark on an epic journey to reclaim the Dwarven homeland of Moria, and explore, craft, and build in procedurally generated worlds. Play as a solo a", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/lotr_moria/egg-the-lord-of-the-rings-return-to-moria.json", + "image": "ghcr.io/parkervcp/yolks:wine_staging", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRV_NAME", + "SRV_PW", + "SRCDS_APPID", + "WINDOWS_INSTALL", + "WINETRICKS_RUN", + "WINEDEBUG", + "WORLD_DIFF", + "AUTO_UPDATE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-lord-of-the-rings-return-to-moria", + "installs": 0, + "updatedAt": "2026-10-14T00:02:16+00:00" + } + ], + "steamAppId": 2933130, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2933130/6b8f8cf6304969c5c1d72fb3b33e5a31a1255f83/header.jpg?t=1790022388", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2933130/29286f2af71b4c1752abf62428e2b60761f7e69a.jpg" + }, + { + "slug": "the-ship-murder-party", + "name": "The Ship: Murder Party", + "category": "games", + "eggs": [ + { + "name": "The Ship: Murder Party", + "description": "The Ship: Murder Party dedicated server. The native Linux server is broken on modern systems, so this runs the Windows dedicated server under Wine. Requires a licensed Steam account (anonymous is refused).", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/the_ship/egg-the-ship.yaml", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "WINDOWS_INSTALL", + "STEAM_USER", + "STEAM_PASS", + "STEAM_AUTH", + "SRCDS_MAP", + "MAX_PLAYERS", + "SRCDS_APPID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-ship-murder-party", + "installs": 0, + "updatedAt": "2026-09-08T04:15:08+00:00" + } + ], + "steamAppId": 2400, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2400/header.jpg?t=1594373405", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2400/1d17a5d3d7da68eb317d848727ea235790e1d8a4.jpg" + }, + { + "slug": "thefront", + "name": "Thefront", + "category": "games", + "eggs": [ + { + "name": "The Front", + "description": "The Front is a survival open-world crafting shooter. You play the role of a resistance fighter sent back in time to stop the rise of a tyrannical empire.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/thefront/egg-the-front.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRV_NAME", + "MAX_PLAYERS", + "CFG_NAME", + "SRV_PW", + "GAMEMODE", + "STEAMSOCKET", + "SELFDMG", + "DMGALLIES", + "SRV_ADMIN", + "ADMIN_LABEL", + "SRV_SAVETIME", + "GREENHAND", + "SRV_TAGS", + "ANTI_CHEAT", + "SENSITIVE_WORDS", + "AUTO_UPDATE", + "SRCDS_APPID", + "BEACON_PORT", + "QUERY_PORT", + "SHUTDOWN_PORT", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/the-front", + "installs": 0, + "updatedAt": "2026-10-14T00:02:20+00:00" + } + ], + "steamAppId": 2285150, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2285150/7a625692b42e4ebfce79e723b8f6a846aa4241a2/header.jpg?t=1779699935", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2285150/b7b36c7cbae2ce11ad2551e99e7f851cf9d5817d.jpg" + }, + { + "slug": "tiny-block", + "name": "Tiny Block", + "category": "games", + "eggs": [ + { + "name": "Tiny Block Server", + "description": "Open-source headless dedicated server for persistent Tiny Block multiplayer worlds.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/tiny_block/egg-tiny-block-server.yaml", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MAX_PLAYERS", + "VERSION", + "WORLD_ID", + "WORLD_MODE", + "WORLD_NAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tiny-block-server", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "tower-unite", + "name": "Tower Unite", + "category": "games", + "eggs": [ + { + "name": "Tower Unite", + "description": "PLAY, CREATE, PARTY! Tower Unite is a community-based virtual world party game with online games, entertainment, activities, and absolutely NO microtransactions.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/tower_unite/egg-tower-unite.json", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": "/img/eggs/tower-unite-tower-unite.jpeg", + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_SAVE", + "AUTO_UPDATE", + "GAME_MAP", + "MAX_PLAYERS", + "QUERY_PORT", + "SERVER_TITLE", + "SRCDS_APPID", + "STEAM_LOGIN_TOKEN", + "TOWER_LOGIN_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/tower-unite", + "installs": 0, + "updatedAt": "2026-09-08T04:15:08+00:00" + } + ], + "steamAppId": 394690, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/394690/header.jpg?t=1777941455", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/394690/53c78cd39b2421412fd367214f26c453714e6225.jpg" + }, + { + "slug": "trackmania", + "name": "Trackmania", + "category": "games", + "eggs": [ + { + "name": "Trackmania (2020)", + "description": "Trackmania is a free-to-play game that combines racing and creation. Compete on over 1000 community-made tracks, create your own with the editor, and join clubs and events online.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/trackmania2020/egg-trackmania2020.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "MASTER_SERVER_LOGIN", + "MASTER_SERVER_PASSWORD", + "MATCH_SETTINGS", + "MAX_PLAYERS", + "MAX_SPECTATORS", + "SERVER_NAME", + "SERVER_PASSWORD", + "SPECTATOR_PASSWORD", + "XMLRPC_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/trackmania-2020", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": 2225070, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2225070/7f7b095f71d8e3b54612927c0bb4b9f0713eac21/header.jpg?t=1790944433", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2225070/4b0f99cb45eef02df25bee27eb3d52052e8f8b55.jpg" + }, + { + "slug": "ts3-manager", + "name": "TS3 Manager", + "category": "voice", + "eggs": [ + { + "name": "TS3 Manager", + "description": "The Open Source web interface For TeamSpeak Servers", + "url": "https://raw.githubusercontent.com/pelican-eggs/voice/refs/heads/main/teamspeak/ts3_manager/egg-ts3-manager.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "GITHUB_PACKAGE", + "MATCH", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/ts3-manager", + "installs": 1, + "updatedAt": "2026-10-07T00:02:40+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "unturned", + "name": "Unturned", + "category": "games", + "eggs": [ + { + "name": "Unturned", + "description": "Vanilla Unturned with the included RockerMod.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/unturned/egg-unturned.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRV_NAME", + "SRV_PW", + "GSLT", + "SRV_ID", + "AUTO_UPDATE", + "SRCDS_APPID", + "LD_LIBRARY_PATH" + ], + "hubUrl": "https://hub.pelican.dev/eggs/unturned", + "installs": 2, + "updatedAt": "2026-10-14T00:02:20+00:00" + } + ], + "steamAppId": 304930, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/304930/161ec2d6ace8a03afdb7a423510ff8f7d8b301ba/header.jpg?t=1783436894", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/304930/e18009fb628b35953826efe47dc3be556b689f4c.jpg" + }, + { + "slug": "uptime-kuma", + "name": "Uptime Kuma", + "category": "software", + "eggs": [ + { + "name": "Uptime Kuma", + "description": "Uptime Kuma is an easy-to-use self-hosted monitoring tool.", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/uptime-kuma/egg-uptime-kuma.yaml", + "image": "ghcr.io/pelican-eggs/apps:uptimekuma", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "AUTO_UPDATE", + "GIT_ADDRESS", + "JS_FILE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/uptime-kuma", + "installs": 2, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "urban-terror", + "name": "Urban Terror", + "category": "games", + "eggs": [ + { + "name": "Urban Terror", + "description": "Urban Terror started as a realism based \"total conversion\" mod for Quake III Arena. Nowadays, Urban Terror is played using the free, stand-alone, ioquake3 engine modified, which doesn't require Quake III Arena, in additi", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/urbanterror/egg-urban-terror.json", + "image": "ghcr.io/parkervcp/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "EXE", + "HUNKMEGS", + "SERVER_NAME", + "JOIN_MESSAGE", + "SERVER_MAXCLIENTS", + "RCON_PASSWORD", + "SERVER_PASSWORD", + "SERVER_MAP", + "SERVER_GAMETYPE", + "BOT_MINPLAYERS", + "SERVER_TIMELIMIT", + "SERVER_FRIENDLYFIRE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/urban-terror", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "vein", + "name": "Vein", + "category": "games", + "eggs": [ + { + "name": "VEIN", + "description": "VEIN is a post-apocalyptic survival multiplayer sandbox game. Gather supplies to survive, explore abandoned buildings, combat bandits, defend your home, assist friendly NPCs, and rebuild society with friends.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/vein/egg-v-e-i-n.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "QUERY_PORT", + "MAX_PLAYERS", + "PUBLIC_SERVER", + "SERVER_NAME", + "SERVER_PASSWORD" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vein", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 1857950, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1857950/header.jpg?t=1790673186", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1857950/f877b7a16e93b3ece155ce04f6487bebff5b8f8f.jpg" + }, + { + "slug": "veloren", + "name": "Veloren", + "category": "games", + "eggs": [ + { + "name": "Veloren", + "description": "Veloren is a multiplayer voxel RPG written in Rust. It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/veloren/egg-veloren.json", + "image": "ghcr.io/pelican-eggs/yolks:ubuntu", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "VERSION", + "SERVER_NAME", + "METRICS_PORT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/veloren", + "installs": 0, + "updatedAt": "2026-10-14T00:02:22+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "vintage-story", + "name": "Vintage Story", + "category": "games", + "eggs": [ + { + "name": "Vintage Story", + "description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/vintage_story/egg-vintage-story.json", + "image": "ghcr.io/pelican-eggs/yolks:dotnet_10", + "imageNote": ".NET 7–10", + "icon": "/img/eggs/vintage-story-vintage-story.webp", + "features": [], + "vars": [ + "OPTIONS", + "FILES_BRANCH", + "RELEASE_VERSION", + "MAX_CLIENTS", + "SQLITE_TMPDIR" + ], + "hubUrl": "https://hub.pelican.dev/eggs/vintage-story", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": null, + "art": "/img/eggs/vintage-story-vintage-story.webp", + "icon": "/img/eggs/vintage-story-vintage-story.webp" + }, + { + "slug": "voicetwine", + "name": "VoiceTwine", + "category": "bots", + "eggs": [ + { + "name": "VoiceTwine", + "description": "Dynamic voice channel manager for Discord", + "url": "https://raw.githubusercontent.com/pelican-eggs/chatbots/refs/heads/main/discord/voicetwine/egg-voicetwine.json", + "image": "ghcr.io/parkervcp/yolks:nodejs_22", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "BRANCH", + "DISCORD_CLIENT_ID", + "DISCORD_CLIENT_SECRET", + "DISCORD_TOKEN", + "GIT_ADDRESS", + "LOG_LEVEL", + "MARIADB_DB", + "MARIADB_HOST", + "MARIADB_PASS", + "MARIADB_PORT", + "MARIADB_USER", + "NODE_ENV" + ], + "hubUrl": "https://hub.pelican.dev/eggs/voicetwine", + "installs": 0, + "updatedAt": "2026-10-14T00:02:23+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "voyagers-of-nera", + "name": "Voyagers Of Nera", + "category": "games", + "eggs": [ + { + "name": "Voyagers of Nera", + "description": "Voyagers of Nera is a cooperative survival-crafting game where you must survive a magical ocean world brimming with lost spirits and deadly monsters. Sail to distant islands, build beautiful villages and surf across the ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/voyagers_of_nera/egg-voyagers-of-nera.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_SAVE_TIMER_SECONDS", + "AUTO_UPDATE", + "DISPLAY_NAME", + "MAX_PLAYERS", + "SERVER_PASSWORD", + "SRCDS_APPID", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/voyagers-of-nera", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 2686630, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2686630/0c4806ac39e2008ed4ff0249bfb43d02f7e87e24/header.jpg?t=1787841447", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2686630/47a9dbbed3c1fc6eefa9aaaf940fbec654fa9041.jpg" + }, + { + "slug": "windows-games-wine", + "name": "Windows games (Wine)", + "category": "games", + "eggs": [ + { + "name": "Wine Generic", + "description": "a generic egg to run servers with wine", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/wine/generic/egg-wine-generic.json", + "image": "ghcr.io/parkervcp/yolks:wine_latest", + "imageNote": "3 images", + "icon": null, + "features": [], + "vars": [ + "DOWNLOAD_URL", + "SERVER_EXECUTABLE", + "INSTALL_DIR" + ], + "hubUrl": "https://hub.pelican.dev/eggs/wine-generic", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "windrose", + "name": "Windrose", + "category": "games", + "eggs": [ + { + "name": "Windrose", + "description": "Windrose is a survival adventure set in an alternative Age of Piracy. It features the classic \"build, craft, survive\" formula along with intense combat and engaging exploration on land and sea.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/windrose/egg-windrose.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "DIRECT_CONNECTION_PORT", + "INVITE_CODE", + "IS_PASSWORD_PROTECTED", + "MAX_PLAYERS", + "SERVER_NAME", + "SERVER_PASSWORD", + "SERVER_REGION", + "SRCDS_APPID", + "SRCDS_BETAID", + "SRCDS_BETAPASS", + "USE_DIRECT_CONNECTION", + "WINDOWS_INSTALL", + "WORLD_NAME", + "WORLD_PRESET_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/windrose", + "installs": 1, + "updatedAt": "2026-10-19T00:01:58+00:00" + } + ], + "steamAppId": 3041230, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/3041230/7e838d87d787735d5d29d72777c5ee55653dfb2b/header.jpg?t=1783932953", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/3041230/f8ae552a1c3eb4a6d3015867a6a4a64c02b9cd8d.jpg" + }, + { + "slug": "wolfenstein-enemy-territory", + "name": "Wolfenstein Enemy Territory", + "category": "games", + "eggs": [ + { + "name": "ET Legacy", + "description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatc", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/wolfenstein_enemy_territory/etlegacy/egg-e-t-legacy.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "ET_VERSION", + "MAP", + "OMNIBOT" + ], + "hubUrl": "https://hub.pelican.dev/eggs/et-legacy", + "installs": 0, + "updatedAt": "2026-09-08T04:15:16+00:00" + } + ], + "steamAppId": 1873030, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1873030/header.jpg?t=1666295006", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1873030/700b983849d32a807393d4b28e20c4b0a3f70730.jpg" + }, + { + "slug": "world-of-padman", + "name": "World of Padman", + "category": "games", + "eggs": [ + { + "name": "World of PADMAN", + "description": "World of PADMAN (WoP) standalone server. with automatic configuration generation.", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/world_of_padman/egg-world-of-p-a-d-m-a-n.yaml", + "image": "ghcr.io/pelican-eggs/yolks:ubuntu", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "ALLOW_DOWNLOAD", + "SERVER_CONFIG", + "VERSION", + "FS_GAME", + "RCON_PASSWORD", + "SERVER_HOSTNAME", + "DEDICATED_TYPE" + ], + "hubUrl": "https://hub.pelican.dev/eggs/world-of-padman", + "installs": 0, + "updatedAt": "2026-09-08T04:15:17+00:00" + } + ], + "steamAppId": null, + "art": null, + "icon": null + }, + { + "slug": "wreckfest", + "name": "Wreckfest", + "category": "games", + "eggs": [ + { + "name": "Wreckfest", + "description": "Wreckfest is a demolition derby themed racing game with soft-body damage modeling, sophisticated driving dynamics and in-depth vehicle upgrading, featuring both demolition derbies and more traditional track races. It’s a", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/wreckfest/egg-wreckfest.yaml", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": null, + "icon": "/img/eggs/wreckfest-wreckfest.jpeg", + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "CONFIG_PATH", + "QUERY_PORT", + "SERVER_NAME", + "SERVER_PASSWORD", + "STEAM_PORT", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/wreckfest", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 228380, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/228380/header.jpg?t=1742490584", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/228380/2c93b44a991870cff51b8f77096969201771d2e9.jpg" + }, + { + "slug": "wreckfest-2", + "name": "Wreckfest 2", + "category": "games", + "eggs": [ + { + "name": "Wreckfest 2", + "description": "Ready for mayhem? Wreckfest is back, offering the best in full-contact racing with unrivaled destruction! Witness head-to-head battles as you tear apart rival vehicles bit by bit. Powered by the enhanced physics engine, ", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/wreckfest_2/egg-wreckfest2.yaml", + "image": "ghcr.io/pelican-eggs/yolks:wine_latest", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "AUTO_UPDATE", + "SRCDS_APPID", + "SERVER_NAME", + "SERVER_PASSWORD", + "STEAM_APPID_FILE", + "WINDOWS_INSTALL" + ], + "hubUrl": "https://hub.pelican.dev/eggs/wreckfest-2", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 1203190, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1203190/cc00ca61f0da3b2b2f0bfb4204511910508e46fc/header_alt_assets_10.jpg?t=1792597594", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1203190/eddb55342199b7e0d6139ed5e37d37db047b2b4f.jpg" + }, + { + "slug": "wurm-unlimited", + "name": "Wurm Unlimited", + "category": "games", + "eggs": [ + { + "name": "Wurm Unlimited", + "description": "Wurm Unlimited is the standalone version of the fantasy sandbox world Wurm Online, the MMORPG where the players are in charge! A pioneer in the ideas of player influence, crafting and adventure, it is now one of the most", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/wurm_unlimited/egg-wurm-unlimited.json", + "image": "ghcr.io/parkervcp/steamcmd:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "SRCDS_APPID", + "AUTO_UPDATE", + "ADMINPWD", + "QUERY_PORT", + "SERVERNAME", + "MAX_PLAYERS", + "PVP", + "SERVERPWD", + "EPIC", + "SERVER_CLEAN_LOGS_ON_START", + "SERVER_WORLD", + "SRCDS_BETAID" + ], + "hubUrl": "https://hub.pelican.dev/eggs/wurm-unlimited", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 366220, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/366220/header.jpg?t=1781884639", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/366220/5be9800ce6445f1e88e792bc1ddd9c1322ed3123.jpg" + }, + { + "slug": "xonotic", + "name": "Xonotic", + "category": "games", + "eggs": [ + { + "name": "Xonotic", + "description": "Xonotic: The Free and Fast Arena Shooter", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-standalone/refs/heads/main/xonotic/egg-xonotic.json", + "image": "ghcr.io/pelican-eggs/steamcmd:debian", + "imageNote": null, + "icon": "/img/eggs/xonotic-xonotic.jpeg", + "features": [], + "vars": [ + "MAX_PLAYERS", + "VERSION" + ], + "hubUrl": "https://hub.pelican.dev/eggs/xonotic", + "installs": 0, + "updatedAt": "2026-09-08T04:15:17+00:00" + } + ], + "steamAppId": null, + "art": "/img/eggs/xonotic-xonotic.jpeg", + "icon": "/img/eggs/xonotic-xonotic.jpeg" + }, + { + "slug": "yarr", + "name": "Yarr", + "category": "software", + "eggs": [ + { + "name": "Yarr", + "description": "Yarr is a selfhosted feed aggregator", + "url": "https://raw.githubusercontent.com/pelican-eggs/software/refs/heads/main/yarr/egg-yarr.yaml", + "image": "ghcr.io/pelican-eggs/yolks:debian", + "imageNote": null, + "icon": null, + "features": [], + "vars": [ + "PASSWORD", + "USERNAME" + ], + "hubUrl": "https://hub.pelican.dev/eggs/yarr", + "installs": 0, + "updatedAt": "2026-10-06T00:02:15+00:00" + } + ], + "steamAppId": null, + "icon": null, + "art": null + }, + { + "slug": "zombie-survival-game-online", + "name": "Zombie Survival Game Online", + "category": "games", + "eggs": [ + { + "name": "Zombie Survival Game Online", + "description": "Zombie Survival Game Online is an open-world, post-apocalyptic, looter shooter. We aim to deliver a survival community experience that will entertain for years to come, utilizing a heavy passion for the genre & the years", + "url": "https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/zombie_survival_game_online/egg-zombie-survival-game-online.json", + "image": "ghcr.io/parkervcp/steamcmd:proton", + "imageNote": null, + "icon": null, + "features": [ + "steam_disk_space" + ], + "vars": [ + "SRCDS_APPID", + "WINDOWS_INSTALL", + "AUTO_UPDATE", + "QUERY_PORT", + "SERVER_NAME", + "WORLD_NAME", + "SERVER_PASSWORD", + "ANTI_CHEAT", + "MAX_PLAYERS", + "LAN", + "ADVERTISE_SERVER", + "SERVER_MAP", + "USE_GSLT", + "GSLT_TOKEN" + ], + "hubUrl": "https://hub.pelican.dev/eggs/zombie-survival-game-online", + "installs": 0, + "updatedAt": "2026-09-08T04:15:09+00:00" + } + ], + "steamAppId": 2268560, + "art": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/2268560/db476a0ae01abede0686e14c802d7f553ec31e44/header.jpg?t=1784858444", + "icon": "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2268560/b3d7937430d38843a1b724e1b476a07db78649f7.jpg" + } + ] +} diff --git a/docs/guides/disk-quotas/btrfs.mdx b/docs/guides/disk-quotas/btrfs.mdx deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/guides/disk-quotas/lvm.mdx b/docs/guides/disk-quotas/lvm.mdx deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/guides/disk-quotas/zfs.mdx b/docs/guides/disk-quotas/zfs.mdx deleted file mode 100644 index e69de29b..00000000 diff --git a/docusaurus.config.ts b/docusaurus.config.ts deleted file mode 100644 index 0e461799..00000000 --- a/docusaurus.config.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { themes as prismThemes } from "prism-react-renderer"; -import type { Config } from "@docusaurus/types"; -import type * as Preset from "@docusaurus/preset-classic"; -import tailwindPlugin from "./src/plugins/tailwind-config.cjs"; -import remarkgfm from "remark-gfm"; - -const config: Config = { - title: "Pelican", - tagline: "From prehistoric to peak performance: Pelican takes flight!", - favicon: "img/favicon.ico", - markdown: { - mermaid: true, - hooks: { - onBrokenMarkdownLinks: "warn", - } - }, - url: "https://pelican.dev", - baseUrl: "/", - organizationName: "pelican", - projectName: "docs", - onBrokenLinks: "throw", - themes: ["@docusaurus/theme-mermaid"], - presets: [ - [ - "classic", - { - docs: { - sidebarPath: "./sidebars.ts", - editUrl: "https://github.com/pelican/docs/blob/main/", - remarkPlugins: [remarkgfm], - }, - theme: { - customCss: [ - require.resolve("./src/css/tailwind.css"), - require.resolve("./src/css/custom.scss"), - ], - }, - } satisfies Preset.Options, - ], - ], - themeConfig: { - navbar: { - title: "Pelican", - logo: { - src: "img/logo.png", - }, - items: [ - { to: "/docs", label: "Docs", position: "left" }, - { to: "/support", label: "Support", position: "left" }, - { to: "/faq", label: "FAQ", position: "left" }, - { to: "/hub", label: "Hub", position: "left", target: "_blank", }, - { to: "/eggs", label: "Eggs", position: "left", target: "_blank", }, - { to: "/github", position: "right", className: "github-link", target: "_blank", }, - { to: "/discord", position: "right", className: "discord-link", target: "_blank", }, - ], - }, - colorMode: { - defaultMode: "dark", - disableSwitch: false, - respectPrefersColorScheme: true, - }, - footer: { - logo: { - src: "img/logo.png", - height: "64px", - width: "64px", - }, - style: "dark", - links: [ - { - title: 'Documentation', - items: [ - { - label: 'Panel', - to: '/docs/panel/getting-started', - }, - { - label: 'Wings', - to: '/docs/wings/install', - }, - { - label: 'SSL Setup', - to: '/docs/guides/ssl' - }, - ], - }, - { - title: "Community", - items: [ - { label: "Discord", to: "/discord", target: "_blank", }, - { label: "GitHub", to: "/github", target: "_blank", }, - ], - }, - ], - copyright: `Copyright © 2024 - ${new Date().getFullYear()} Pelican`, - }, - prism: { - theme: prismThemes.github, - darkTheme: prismThemes.dracula, - additionalLanguages: [ - "bash", - "nginx", - "apacheconf", - "ini", - "sql", - "yaml", - "docker", - "php", - ], - }, - } satisfies Preset.ThemeConfig, - plugins: [ - [ - require.resolve('@docusaurus/plugin-client-redirects'), - { - redirects: [ - { from: '/discord', to: 'https://discord.gg/pelican-panel' }, - { from: '/eggs', to: 'https://pelican-eggs.github.io/pelican' }, - { from: '/github', to: 'https://github.com/pelican/panel' }, - { from: '/hub', to: 'https://hub.pelican.dev' }, - { from: '/donate', to: 'https://pelican.dev/support' }, - { from: '/docs/about', to: '/docs/contributors' }, - { from: '/docs/glossary', to: '/docs/#glossary' }, - { from: '/docs/troubleshooting', to: '/docs/guides/troubleshooting' }, - ], - }, - ], - require.resolve('docusaurus-lunr-search'), - "docusaurus-plugin-sass", - tailwindPlugin, - ], - future: { - faster: true, - v4: true - }, - // scripts: ['/js/snowflake.min.js'], -}; - -export default config; diff --git a/lib/egg-helpers.ts b/lib/egg-helpers.ts new file mode 100644 index 00000000..2b59504a --- /dev/null +++ b/lib/egg-helpers.ts @@ -0,0 +1,110 @@ +/** + * Egg types and helpers that are safe to use in the browser. Nothing here + * imports data/eggs.json, so a client component can use them without the + * whole catalogue landing in its JavaScript. lib/eggs.ts re-exports all of it. + */ + +export interface EggEntry { + name: string; + description: string; + /** Raw egg file, as a panel imports it ("#" encoded as %23). */ + url: string; + /** Default Docker image: the first one the egg lists, which the panel picks for new servers. */ + image: string | null; + /** The other images on offer, in short: "Java 8–25", "3 images"; null when there is one. */ + imageNote: string | null; + /** An icon built into the egg file, saved under /img/eggs. */ + icon: string | null; + /** Panel features the egg turns on (keys of FEATURES). */ + features: string[]; + /** Its variables' env_variable names, for search. */ + vars: string[]; + /** The egg's page on Pelican Hub (variables, images, install script, Install to Panel). */ + hubUrl: string | null; + /** Installs counted by Pelican Hub; null when the egg isn't on the Hub. */ + installs: number | null; + /** When Pelican Hub last updated the egg (ISO date). */ + updatedAt: string | null; +} + +export interface EggGame { + slug: string; + name: string; + category: string; + steamAppId: number | null; + /** Wide picture for the /eggs cards: Steam store artwork, an original drawing, or its own egg's icon. */ + art: string | null; + /** + * Square icon for the homepage: a local copy of the publisher's Steam icon + * (/img/games/*.webp), an original drawing (/img/games/*.svg), its own egg's + * icon (/img/eggs/*), or the address of Steam's 32px community icon. + */ + icon: string | null; + eggs: EggEntry[]; +} + +/** Usual default ports for well-known games. The panel assigns real ports per server. */ +export const USUAL_PORTS: Record = { + minecraft: '25565', + 'minecraft-bedrock': '19132', + rust: '28015', + palworld: '8211', + valheim: '2456', + 'project-zomboid': '16261', + enshrouded: '15636', + satisfactory: '7777', + 'counter-strike-2': '27015', + '7-days-to-die': '26900', + terraria: '7777', + factorio: '34197', +}; + +/** The egg file on GitHub (for reading), from its raw download URL. */ +export function eggSourceUrl(rawUrl: string): string { + const m = /^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/refs\/heads\/([^/]+)\/(.+)$/.exec(rawUrl); + return m ? `https://github.com/${m[1]}/${m[2]}/blob/${m[3]}/${m[4]}` : rawUrl; +} + +/** What a server runs on, worked out from the egg's default Docker image. Order is the filter order. */ +export const RUNTIMES = [ + { id: 'java', label: 'Java' }, + { id: 'steamcmd', label: 'SteamCMD' }, + { id: 'wine', label: 'Wine / Proton' }, + { id: 'game', label: 'Game image' }, + { id: 'dotnet', label: '.NET / Mono' }, + { id: 'node', label: 'Node.js' }, + { id: 'python', label: 'Python' }, + { id: 'bun', label: 'Bun' }, + { id: 'other', label: 'Debian / other' }, +] as const; + +export type RuntimeId = (typeof RUNTIMES)[number]['id']; + +export function runtimeOf(image: string | null): RuntimeId { + const img = (image ?? '').toLowerCase(); + const tag = img.slice(img.lastIndexOf(':') + 1); + if (/^(wine|proton)/.test(tag)) return 'wine'; // yolks:wine_latest, steamcmd:proton + if (img.includes('steamcmd')) return 'steamcmd'; + if (tag.startsWith('java')) return 'java'; + if (/^(dotnet|mono)/.test(tag)) return 'dotnet'; + if (/^node/.test(tag)) return 'node'; + if (tag.startsWith('python')) return 'python'; + if (tag.startsWith('bun')) return 'bun'; + // Images made for one game or engine (parkervcp/games:source, yolks:games_source…). + if (/\/games:/.test(img) || tag.startsWith('games_')) return 'game'; + return 'other'; +} + +/** Panel features an egg can turn on. Each watches the console for a known problem and offers a fix. */ +export const FEATURES = [ + { id: 'eula', label: 'EULA prompt', hint: 'Offers to accept the Minecraft EULA when the server stops for it' }, + { id: 'java_version', label: 'Java version switch', hint: 'Offers another Java image when the server needs one' }, + { id: 'gsl_token', label: 'Steam token prompt', hint: 'Asks for a new Steam game server token when it expires' }, + { id: 'steam_disk_space', label: 'Disk space warning', hint: 'Explains when SteamCMD runs out of disk space' }, + { id: 'pid_limit', label: 'Process limit warning', hint: 'Explains when the server hits its process limit' }, +] as const; + +/** Lower-cased words of a search; an egg matches when its text holds every one. */ +export function searchWords(query: string): string[] { + return query.toLowerCase().split(/\s+/).filter(Boolean); +} diff --git a/lib/eggs.ts b/lib/eggs.ts new file mode 100644 index 00000000..64f6927d --- /dev/null +++ b/lib/eggs.ts @@ -0,0 +1,33 @@ +/** + * The egg catalogue, generated by scripts/sync-eggs.mjs from the daily + * pelican-eggs index and Pelican Hub. Run `pnpm sync:eggs` to refresh it; + * `pnpm build` tries to refresh it too and falls back to the saved file when offline. + * + * This module imports the whole catalogue, so client components should import + * from lib/egg-helpers.ts instead (types and helpers, no data). + */ +import data from '@/data/eggs.json'; +import type { EggGame } from './egg-helpers'; + +export * from './egg-helpers'; + +export interface EggIndex { + generatedAt: string; + source: string; + /** When Pelican Hub was last reached; null if it never was. */ + hubFetchedAt: string | null; + categories: { id: string; name: string; count: number }[]; + games: EggGame[]; +} + +export const eggIndex = data as EggIndex; + +export const eggCount = eggIndex.games.reduce((n, g) => n + g.eggs.length, 0); +export const gameCount = eggIndex.games.filter((g) => g.category === 'games' || g.category === 'minecraft').length; + +/** Games shown as tiles on the homepage (scripts/sync-eggs.mjs reads this list to save their icons). */ +export const FEATURED = ['minecraft', 'rust', 'palworld', 'valheim', 'factorio', 'counter-strike-2']; + +export function gameBySlug(slug: string): EggGame | undefined { + return eggIndex.games.find((g) => g.slug === slug); +} diff --git a/lib/home-data.ts b/lib/home-data.ts new file mode 100644 index 00000000..8b669549 --- /dev/null +++ b/lib/home-data.ts @@ -0,0 +1,233 @@ +/** + * Facts the homepage shows. Everything here was read from a real source on + * 2 November 2026; the source is noted beside each block. Update it when the + * numbers move (a new release, a new plugin count) rather than guessing. + */ + +export const project = { + // github.com/pelican/panel/releases + version: '1.0.0-rc.2', + released: '22 October 2026', + // github.com/pelican/panel (stargazers, contributors on the default branch) + stars: 2419, + contributors: 235, + since: 'March 2024', + // hub.pelican.dev/plugins ("Showing 50 of 91 plugins") + plugins: 91, + asOf: 'November 2026', + license: 'AGPL-3.0', + // releases published between 2 Nov 2025 and 2 Nov 2026 (beta28 … rc.2) + releasesInYear: 13, +} as const; + +/* ---- What's been built since the fork -------------------------------------------- + * Each pull request checked on GitHub (pelican/panel); release is where it shipped. + */ +export const builtSinceFork: { title: string; ref: string; prs: number[]; icon: string }[] = [ + { title: 'A rebuilt UI on Filament v5', ref: 'beta34', prs: [2315], icon: 'layers' }, + { title: 'Plugins, without touching core', ref: 'beta30', prs: [1866], icon: 'plug' }, + { title: 'Passkeys. Passwords optional.', ref: 'beta35, 36', prs: [2192, 2318], icon: 'key' }, + { title: 'Backups, wherever you want them', ref: 'beta36', prs: [2125], icon: 'database' }, + { title: 'A real code editor, one-click SFTP', ref: 'beta30, 37', prs: [2013, 2500], icon: 'code' }, + { title: "Plugins can crash. The panel won't.", ref: 'rc.2', prs: [2640], icon: 'shield' }, +]; + +/* ---- People in the last five releases (beta36 … rc.2), bots excluded ------------- */ +export const recentContributors = [ + 'lancepioch', 'Boy132', 'rmartinoscar', 'JoanFo1456', 'notAreYouScared', 'apple050620312', 'kazaminosuke', + 'LegacyAngel2K9', 'xLaugh', 'wu-zuan', 'morbyne', 'lotus64yt', 'l1monenko', 'hardcorefactions', 'execsuroot', + 'duckducktw', 'dualfroz', 'barnabehvrd', 'N7z', 'Fritztechnic', 'ByCoquito', +]; + +/* ---- Releases ---------------------------------------------------------------- + * From GitHub's compare view between consecutive tags of pelican/panel. Titles + * are the commit titles, lightly shortened; `pr` is the pull request number. + */ +export interface Change { + pr: number; + title: string; + area: string; + authors: string[]; +} + +export interface Release { + tag: string; + label: string; + date: string; + changes: Change[]; + total: number; +} + +export const releases: Release[] = [ + { + tag: 'v1.0.0-rc.2', + label: 'rc.2', + date: '22 Oct', + total: 19, + changes: [ + { pr: 2640, title: 'Keep a crashing plugin from taking down the panel', area: 'Plugins', authors: ['lancepioch'] }, + { pr: 2663, title: 'Fire power webhooks for dashboard power actions', area: 'Webhooks', authors: ['lancepioch'] }, + { pr: 2650, title: 'Always load themes and language packs on all panels', area: 'Themes', authors: ['Boy132'] }, + { pr: 2661, title: 'Fix importing YAML egg files', area: 'Eggs', authors: ['lancepioch'] }, + { pr: 2651, title: 'Fix keybinds in the file editor', area: 'Files', authors: ['Boy132'] }, + { pr: 2672, title: 'Exclude suspended servers from node connectivity checks', area: 'Nodes', authors: ['notAreYouScared'] }, + ], + }, + { + tag: 'v1.0.0-rc.1', + label: 'rc.1', + date: '10 Oct', + total: 60, + changes: [ + { pr: 2498, title: 'A plugin system for webhooks', area: 'Webhooks', authors: ['JoanFo1456'] }, + { pr: 2510, title: 'Concurrent S3 part uploads for backups', area: 'Backups', authors: ['barnabehvrd'] }, + { pr: 2514, title: 'Tighten passkey origin checks and log every failure', area: 'Security', authors: ['lancepioch'] }, + { pr: 2511, title: 'An option to hide allocation ports', area: 'Network', authors: ['ByCoquito'] }, + { pr: 2531, title: 'Queue health monitoring', area: 'Health', authors: ['LegacyAngel2K9'] }, + { pr: 2563, title: 'Raise the support floor to PHP 8.4', area: 'Requirements', authors: ['lancepioch'] }, + ], + }, + { + tag: 'v1.0.0-beta38', + label: 'beta38', + date: '16 Aug', + total: 3, + changes: [ + { pr: 2494, title: 'Generate API docs from the request rules with Scramble', area: 'API', authors: ['Fritztechnic'] }, + { pr: 2516, title: 'Point the yolks references at the image that exists', area: 'Eggs', authors: ['lancepioch'] }, + { pr: 2515, title: 'Rename pelican-dev references to pelican', area: 'Project', authors: ['lancepioch'] }, + ], + }, + { + tag: 'v1.0.0-beta37', + label: 'beta37', + date: '13 Aug', + total: 18, + changes: [ + { pr: 2500, title: 'An SFTP button in the file list', area: 'Files', authors: ['Boy132'] }, + { pr: 2462, title: 'Enable opcache and tune PHP in the Docker image', area: 'Docker', authors: ['lancepioch'] }, + { pr: 2508, title: 'Fix "origin not allowed" for passkeys', area: 'Security', authors: ['JoanFo1456'] }, + { pr: 2441, title: 'Fix the server grid card freezing', area: 'Interface', authors: ['apple050620312'] }, + { pr: 2504, title: 'Lower the default backup part size to 128 MiB', area: 'Backups', authors: ['Boy132'] }, + ], + }, + { + tag: 'v1.0.0-beta36', + label: 'beta36', + date: '5 Aug', + total: 37, + changes: [ + { pr: 2192, title: 'Passkeys', area: 'Security', authors: ['JoanFo1456'] }, + { pr: 2125, title: 'Backup hosts', area: 'Backups', authors: ['Boy132'] }, + { pr: 2449, title: 'DB_SCHEMA support for PostgreSQL', area: 'Database', authors: ['l1monenko'] }, + { pr: 2419, title: 'Fix CPU pinning showing as disabled for thread 0', area: 'Admin', authors: ['wu-zuan'] }, + { pr: 2425, title: 'Fix a stale plugin snapshot on install', area: 'Plugins', authors: ['kazaminosuke'] }, + ], + }, +]; + +/* ---- Hub plugins --------------------------------------------------------------- + * The three most-downloaded plugins on hub.pelican.dev/plugins whose Hub page has a + * real screenshot of the plugin in the panel, read on 2 November 2026. (Player + * Counter, #3 by downloads, only has a title banner there, so it is skipped.) + * Name, author, Official label and downloads are as the Hub shows them. + * + * `shot` is a screenshot from the plugin's Hub page ("Screenshots" tab), resized to + * WebP in public/img/plugins/, cropped to the plugin's own part of the page (crop box + * noted per plugin, in original pixels). `original` is the untouched full-size file + * on Pelican's storage (the lightbox shows it); `position` is the thumbnail's + * object-position inside its 16:10 frame. + * The screenshots belong to the plugins' authors. + */ +const shot = (id: string) => `https://peli.nyc3.digitaloceanspaces.com/plugin-screenshots/${id}.png`; + +export interface HubPlugin { + name: string; + slug: string; + author: string; + official: boolean; + downloads: number; + desc: string; + shot: { + src: string; + width: number; + height: number; + position: string; + alt: string; + original: { src: string; width: number; height: number }; + }; +} + +export const hubPlugins: HubPlugin[] = [ + { + name: 'Modpack Manager', + slug: 'modpack-manager', + author: 'cosmii02', + official: false, + downloads: 1485, + desc: 'Browse and install modpacks from CurseForge, Modrinth, FTB and ATLauncher.', + shot: { + src: '/img/plugins/modpack-manager.webp', + // crop 1520×950 at 680,0 of 2560×1440 + width: 1200, + height: 750, + position: '50% 0', + original: { src: shot('C1pTmroQlMI0aeWfE6idqDIdzh9vcnKRHUnCdglH'), width: 2560, height: 1440 }, + alt: "Modpack Manager's Modpack Browser on a server: the active modpack, a search across CurseForge, Modrinth, FTB and ATLauncher, and popular modpacks with Install buttons.", + }, + }, + { + name: 'Minecraft Modrinth', + slug: 'minecraft-modrinth', + author: 'Boy132', + official: true, + downloads: 1122, + desc: 'Download, update and manage Minecraft mods and plugins from Modrinth.', + shot: { + src: '/img/plugins/minecraft-modrinth.webp', + // crop 1472×920 at 340,0 of 1875×920 + width: 1200, + height: 750, + position: '0 0', + original: { src: shot('ZzMBugIE6suG0UrRpsJ9kIC9lbLSmM8sK71gObEd'), width: 1875, height: 920 }, + alt: 'The Minecraft Plugins page on a server: Minecraft version, loader, and a list of Modrinth plugins with their authors, downloads and install buttons.', + }, + }, + { + name: 'System Status Monitor', + slug: 'system-status-monitor', + author: '✖_𝕠𝕝𝕝𝕚', + official: false, + downloads: 676, + desc: 'CPU, memory, disk and uptime of the panel machine, live.', + shot: { + src: '/img/plugins/system-status-monitor.webp', + // crop 848×530 at 0,0 of 1497×530 + width: 848, + height: 530, + position: '0 0', + original: { src: shot('8Hg20mRr0sFpIHccPFNA5veCQUeD3C5SULPGjogv'), width: 1497, height: 530 }, + alt: 'The panel dashboard (in French) with System Status Monitor: CPU, memory and disk usage bars.', + }, + }, +]; + +/* ---- Activity -------------------------------------------------------------------- + * Commits on main per month, from the GitHub commits API for pelican/panel. + */ +export const monthlyCommits: { month: string; label: string; commits: number }[] = [ + { month: '2025-09', label: 'Sep 2025', commits: 40 }, + { month: '2025-10', label: 'Oct 2025', commits: 36 }, + { month: '2025-11', label: 'Nov 2025', commits: 52 }, + { month: '2025-12', label: 'Dec 2025', commits: 51 }, + { month: '2026-01', label: 'Jan 2026', commits: 41 }, + { month: '2026-02', label: 'Feb 2026', commits: 56 }, + { month: '2026-03', label: 'Mar 2026', commits: 4 }, + { month: '2026-04', label: 'Apr 2026', commits: 12 }, + { month: '2026-05', label: 'May 2026', commits: 22 }, + { month: '2026-06', label: 'Jun 2026', commits: 33 }, + { month: '2026-07', label: 'Jul 2026', commits: 28 }, + { month: '2026-08', label: 'Aug 2026', commits: 50 }, + { month: '2026-09', label: 'Sep 2026', commits: 38 }, + { month: '2026-10', label: 'Oct 2026', commits: 48 }, +]; diff --git a/lib/layout.shared.tsx b/lib/layout.shared.tsx new file mode 100644 index 00000000..d6abb42d --- /dev/null +++ b/lib/layout.shared.tsx @@ -0,0 +1,36 @@ +import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; +import { DiscordIcon } from '@/components/icons'; +import { links } from '@/lib/links'; + +/** + * Options for the docs layout. On desktop the B v3 top bar (DocsTopBar) carries + * the site navigation; these show in the phone bar and the phone sidebar. + */ +export function docsOptions(): BaseLayoutProps { + return { + nav: { + title: ( + + {/* eslint-disable-next-line @next/next/no-img-element */} + + Pelican Docs + + ), + url: '/', + }, + githubUrl: links.github, + links: [ + { text: 'Home', url: '/', on: 'menu' }, + { text: 'Eggs', url: links.eggs, on: 'menu' }, + { text: 'Plugins', url: `${links.hub}/plugins`, on: 'menu' }, + { text: 'Sponsor', url: '/support/', on: 'menu' }, + { + type: 'icon', + label: 'Discord', + text: 'Discord', + icon: , + url: links.discord, + }, + ], + }; +} diff --git a/lib/links.ts b/lib/links.ts new file mode 100644 index 00000000..5854a993 --- /dev/null +++ b/lib/links.ts @@ -0,0 +1,14 @@ +/** Links that appear in more than one place (nav, homepage, footer). */ +export const links = { + install: '/docs/panel/getting-started/', + wings: '/docs/wings/install/', + webserver: '/docs/panel/webserver-config/', + ssl: '/docs/guides/ssl/', + migrate: '/docs/guides/migrating-from-pterodactyl/', + demo: 'https://demo.pelican.dev', + github: 'https://github.com/pelican/panel', + docsRepo: 'https://github.com/pelican/docs', + discord: 'https://discord.gg/pelican-panel', + hub: 'https://hub.pelican.dev', + eggs: '/eggs/', +} as const; diff --git a/lib/owned-sites.ts b/lib/owned-sites.ts new file mode 100644 index 00000000..4a8ea9d9 --- /dev/null +++ b/lib/owned-sites.ts @@ -0,0 +1,74 @@ +/** + * Websites Pelican owns. Links to them never show the "You're leaving + * pelican.dev" dialog (see components/external-link-guard.tsx). The only + * question is which tab they open in: + * + * | Link | Tab | + * | ---------------------------------------------------- | -------- | + * | pelican.dev and *.pelican.dev (hub, …) | same tab | + * | ...except `newTabSubdomains` (demo) | new tab | + * | Pelican's places on other domains (`ownedElsewhere`) | new tab | + * + * Everything else, including other people's GitHub profiles and repos, still + * asks first. + */ + +/** pelican.dev and its subdomains. */ +export function isPelicanSite(hostname: string): boolean { + const host = hostname.toLowerCase(); + return host === 'pelican.dev' || host.endsWith('.pelican.dev'); +} + +/** + * pelican.dev subdomains that open in a new tab instead of the same tab, + * because they're a separate app people try out alongside this site, not more + * pages of it. Exact hostnames, any path. + */ +export const newTabSubdomains = [ + 'demo.pelican.dev', // the live demo panel +] as const; + +/** + * Pelican's places on other domains, as "host" (the whole site) or + * "host/first/segments" (only URLs whose path starts with exactly those + * segments). Segments are compared whole and case-insensitively, so + * "github.com/pelican" matches github.com/pelican/panel but not + * github.com/pelicanfoo or github.com/pelican-evil. + */ +export const ownedElsewhere = [ + 'github.com/pelican', // github.com/pelican: verified org, blog = pelican.dev + 'github.com/pelican-eggs', // the eggs org, linked from pelican/panel + 'github.com/sponsors/pelican', + 'raw.githubusercontent.com/pelican', + 'raw.githubusercontent.com/pelican-eggs', + 'pelican-eggs.github.io', // the eggs site (pelican-eggs/pelican-eggs.github.io) + 'peli.nyc3.digitaloceanspaces.com', // Pelican's image storage (hub plugin screenshots) + 'discord.gg/pelican-panel', // the official community Discord invite + 'discord.com/invite/pelican-panel', // where that invite redirects +] as const; + +/** True if `url` is one of `ownedElsewhere`. */ +export function isOwnedElsewhere(url: URL): boolean { + const host = url.hostname.toLowerCase().replace(/^www\./, ''); + const segments = url.pathname + .split('/') + .filter(Boolean) + .map((s) => s.toLowerCase()); + + return ownedElsewhere.some((entry) => { + const [entryHost, ...entrySegments] = entry.toLowerCase().split('/'); + return entryHost === host && entrySegments.every((seg, i) => segments[i] === seg); + }); +} + +/** + * How a link to a Pelican-owned site opens: 'same-tab', 'new-tab', or null + * when `url` isn't Pelican's (the caller asks first). + */ +export function ownedSiteTab(url: URL): 'same-tab' | 'new-tab' | null { + const host = url.hostname.toLowerCase(); + if ((newTabSubdomains as readonly string[]).includes(host)) return 'new-tab'; + if (isPelicanSite(host)) return 'same-tab'; + if (isOwnedElsewhere(url)) return 'new-tab'; + return null; +} diff --git a/lib/shiki-setup.ts b/lib/shiki-setup.ts new file mode 100644 index 00000000..763608e5 --- /dev/null +++ b/lib/shiki-setup.ts @@ -0,0 +1,45 @@ +import type { DecorationItem, ShikiTransformer } from 'shiki'; + +/** + * Parts of a code block that depend on the reader's install. Each one is + * wrapped in `` at build time; components/setup then swaps + * in what the reader entered in a . + * + * Only blocks marked `setup` are touched, e.g. ```nginx setup title="…" + * so a page like "Upgrading PHP" keeps its literal versions. + */ +const PATTERNS: { field: string; pattern: RegExp; group?: number }[] = [ + { field: 'domain', pattern: //g }, + { field: 'path', pattern: /\/var\/www\/pelican/g }, + // Only the version in php8.5-fpm.sock / a2enmod php8.5, not the word "php". + { field: 'php', pattern: /php(\d+\.\d+)/g, group: 1 }, +]; + +export function hasSetupFlag(meta: string | undefined): boolean { + return /(^|\s)setup(\s|$)/.test(meta ?? ''); +} + +export function transformerSetup(): ShikiTransformer { + return { + name: 'pelican:setup', + preprocess(code, options) { + const meta = (options.meta as { __raw?: string } | undefined)?.__raw; + if (!hasSetupFlag(meta)) return; + + const decorations: DecorationItem[] = []; + for (const { field, pattern, group } of PATTERNS) { + for (const match of code.matchAll(pattern)) { + const text = group ? match[group] : match[0]; + const start = match.index + (group ? match[0].indexOf(text) : 0); + decorations.push({ + start, + end: start + text.length, + properties: { 'data-setup': field }, + }); + } + } + + options.decorations = [...(options.decorations ?? []), ...decorations]; + }, + }; +} diff --git a/lib/source.ts b/lib/source.ts new file mode 100644 index 00000000..cb029f58 --- /dev/null +++ b/lib/source.ts @@ -0,0 +1,18 @@ +import { docs, pages } from 'fumadocs-mdx:collections/server'; +import { loader } from 'fumadocs-core/source'; + +/** Everything under /docs, with the sidebar from each folder's meta.json. */ +export const source = loader({ + baseUrl: '/docs', + source: docs.toFumadocsSource(), +}); + +/** Stand-alone MDX pages at the site root (content/pages): /faq. */ +export const pagesSource = loader({ + baseUrl: '/', + source: pages.toFumadocsSource(), +}); + +export function githubEditUrl(collection: 'docs' | 'pages', path: string) { + return `https://github.com/pelican/docs/blob/main/content/${collection}/${path}`; +} diff --git a/lib/support.ts b/lib/support.ts new file mode 100644 index 00000000..48120bf8 --- /dev/null +++ b/lib/support.ts @@ -0,0 +1,246 @@ +/** + * Everything the /support page says, in one place. + * + * Checked against the live sources on 2 November 2026. When the Hub changes, + * change this file to match. The live pages win over anything written here: + * - Plans and perks: https://hub.pelican.dev/sponsor (/donors redirects there) + * - Billing, cancelling, refunds: https://hub.pelican.dev/tos ("Donations & Sponsorships") + * - Payments and the donor wall: https://hub.pelican.dev/privacy + * - One-time gifts: https://github.com/sponsors/pelican + * - Funding split: the project's published plan (also shown on the homepage) + * - Bug bounty rules: https://github.com/pelican/panel/blob/main/bounties.md + */ + +export const supportLinks = { + /** Where every plan's button goes: sign in with Discord, then pick the plan. */ + hubSponsor: 'https://hub.pelican.dev/sponsor', + wall: 'https://hub.pelican.dev/sponsor/wall', + hubTerms: 'https://hub.pelican.dev/tos', + hubTickets: 'https://hub.pelican.dev/tickets', + oneTime: 'https://github.com/sponsors/pelican?frequency=one-time', + bountyRules: 'https://github.com/pelican/panel/blob/main/bounties.md', + bounties: + 'https://github.com/pelican/panel/issues?q=state%3Aopen%20is%3Aissue%20label%3A%22%F0%9F%92%B0%20fund%22', + discord: 'https://discord.gg/pelican-panel', + licensingFaq: '/faq/?faq=licensing', +} as const; + +export type Benefit = { + /** The perk in plain words. */ + label: string; + /** One short line that explains it. */ + detail?: string; +}; + +export type Plan = { + id: 'individual' | 'team' | 'company'; + name: string; + /** Who the plan is for, in one line. */ + forWho: string; + /** Per month, as the Hub shows it ("$19 / month"). The Hub doesn't name the currency. */ + price: number; + /** Carried over from the plan before (or everything, for the first plan). */ + includes: Benefit[]; + /** New or better than the plan before. */ + adds: Benefit[]; + /** Name of the plan `adds` is compared with. */ + addsOver?: string; +}; + +// The Hub lists each plan's perks as "Includes" (same as the plan before) and +// "Plus" (new or upgraded). Member counts are totals: 1, 2 and 6. +export const plans: Plan[] = [ + { + id: 'individual', + name: 'Individual', + forWho: 'For one person who runs Pelican and wants to keep it going.', + price: 19, + includes: [ + { label: 'Donor role on the Pelican Discord', detail: 'Added to your account automatically.' }, + { label: 'Covers 1 Discord account', detail: 'Yours.' }, + { label: 'Lounge channel', detail: 'A Discord channel for supporters.' }, + { label: 'Medium support priority', detail: 'When you ask for help.' }, + ], + adds: [], + }, + { + id: 'team', + name: 'Team', + forWho: 'For a group or small business that runs Pelican together.', + price: 99, + includes: [{ label: 'Donor role on the Pelican Discord' }, { label: 'Lounge channel' }], + addsOver: 'Individual', + adds: [ + { label: 'Covers 2 Discord accounts', detail: 'You and one teammate get the perks.' }, + { label: 'High support priority', detail: 'When you ask for help.' }, + { label: 'Advertise on the Pelican Discord' }, + ], + }, + { + id: 'company', + name: 'Company', + forWho: 'For businesses that build on Pelican and want to be seen backing it.', + price: 499, + includes: [{ label: 'Advertise on the Pelican Discord' }], + addsOver: 'Team', + adds: [ + { label: 'Sponsor role on the Pelican Discord', detail: 'Instead of the Donor role.' }, + { label: 'Covers 6 Discord accounts' }, + { label: 'Sponsor Lounge channel', detail: 'A Discord channel for Company sponsors.' }, + { label: 'Highest support priority', detail: 'When you ask for help.' }, + { label: "Your logo on Pelican's websites", detail: 'Like DataForest and DreamHost on the pelican.dev homepage.' }, + { label: 'Commercial license', detail: 'See "What does the commercial license cover?" below.' }, + { label: 'A one-hour 1:1 call each month', detail: 'With the Pelican team.' }, + ], + }, +]; + +/** The side-by-side table under the cards. Values are short so four columns fit on a phone. */ +export const compareRows: { label: string; values: [string, string, string] }[] = [ + { label: 'Price per month', values: ['$19', '$99', '$499'] }, + { label: 'Discord role', values: ['Donor', 'Donor', 'Sponsor'] }, + { label: 'Discord accounts covered', values: ['1', '2', '6'] }, + { label: 'Private channel', values: ['Lounge', 'Lounge', 'Sponsor Lounge'] }, + { label: 'Support priority', values: ['Medium', 'High', 'Highest'] }, + { label: 'Advertise on Discord', values: ['No', 'Yes', 'Yes'] }, + { label: "Logo on Pelican's websites", values: ['No', 'No', 'Yes'] }, + { label: 'Commercial license', values: ['No', 'No', 'Yes'] }, + { label: 'Monthly 1:1 call', values: ['No', 'No', '1 hour'] }, +]; + +export const signupSteps: { title: string; body: string }[] = [ + { + title: 'Sign in with Discord', + body: 'Open the Sponsor page on Pelican Hub and sign in. Your sponsorship is tied to your Discord account.', + }, + { + title: 'Pick a plan and pay', + body: 'Press Sponsor on the plan you want. Payments go through Stripe; Pelican never sees your card details.', + }, + { + title: 'Get your role', + body: 'The matching Discord role is added automatically. Cancel any time from your Hub profile.', + }, +]; + +export type FundingShare = { pct: number; label: string; tone: 'sky' | 'white' | 'ink'; body: string }; + +export const funding: FundingShare[] = [ + { + pct: 75, + label: 'Contributors', + tone: 'sky', + body: 'The people who build and maintain Pelican and ship its releases.', + }, + { + pct: 15, + label: 'Bug bounties', + tone: 'white', + body: 'Paid rewards for fixing GitHub issues tagged with a bounty, once the fix is merged.', + }, + { + pct: 10, + label: 'Moderators', + tone: 'ink', + body: 'The people who look after the community spaces where you ask for help.', + }, +]; + +export type HelpWay = { + title: string; + body: string; + links: { label: string; href: string }[]; +}; + +export const helpWays: HelpWay[] = [ + { + title: 'Write code or docs', + body: 'Fix a bug or build a feature in the panel, or improve these docs. Some issues carry a paid bounty.', + links: [ + { label: 'Contributing guide', href: 'https://github.com/pelican/panel/blob/main/contributing.md' }, + { label: 'Issues with a bounty', href: supportLinks.bounties }, + { label: 'Docs on GitHub', href: 'https://github.com/pelican/docs' }, + ], + }, + { + title: 'Translate the panel', + body: 'Put Pelican into your language on Crowdin. No coding needed, and whatever is approved ships.', + links: [{ label: 'How translating works', href: '/docs/guides/translating/' }], + }, + { + title: 'Report bugs', + body: 'Found something broken? Open an issue with the steps to make it happen again.', + links: [{ label: 'Open an issue', href: 'https://github.com/pelican/panel/issues/new/choose' }], + }, + { + title: 'Share eggs', + body: 'Add or update eggs so Pelican can run more games and apps.', + links: [ + { label: 'pelican-eggs on GitHub', href: 'https://github.com/pelican-eggs' }, + { label: 'Create an egg', href: '/docs/eggs/creating-a-custom-egg/' }, + ], + }, + { + title: 'Build plugins', + body: 'Add features without touching the core, then publish your plugin on Pelican Hub.', + links: [ + { label: 'Plugin docs', href: '/docs/panel/advanced/plugins/' }, + { label: 'Plugins on the Hub', href: 'https://hub.pelican.dev/plugins' }, + ], + }, + { + title: 'Help others on Discord', + body: 'Answer questions from people setting up their panels.', + links: [{ label: 'Join the Discord', href: supportLinks.discord }], + }, +]; + +export type FaqItem = { + q: string; + a: string; + link?: { label: string; href: string }; +}; + +// Only questions the Hub, GitHub Sponsors or the Pelican FAQ answer. +export const supportFaq: FaqItem[] = [ + { + q: 'How do I pay?', + a: 'On Pelican Hub, after you sign in with Discord. Payments are handled by Stripe, and Pelican never sees or stores your card details.', + }, + { + q: 'Can I cancel?', + a: 'Yes, any time, from your profile on Pelican Hub. Your perks end when the subscription is cancelled or lapses.', + }, + { + q: 'Can I get a refund?', + a: "No. The Hub's terms treat sponsorships as voluntary contributions, not purchases, so they are non-refundable.", + link: { label: 'Pelican Hub terms', href: supportLinks.hubTerms }, + }, + { + q: 'How do I get the Discord role?', + a: 'It is added for you. Your sponsorship is linked to the Discord account you sign in with, and the Hub keeps your role in step with your sponsorship.', + }, + { + q: 'Can I sponsor monthly on GitHub instead?', + a: "You can, but GitHub's page says monthly sponsoring there does not include the plan perks. Use GitHub Sponsors for one-time gifts, and Pelican Hub for a plan.", + }, + { + q: 'Do I need the commercial license?', + a: 'Only if all three are true: you changed Pelican\'s source files, those changes are not open source, and your panel is publicly available. Using or building plugins and themes never needs it.', + link: { label: 'Licensing FAQ', href: supportLinks.licensingFaq }, + }, + { + q: 'What does the commercial license cover?', + a: 'The Company plan includes one, but its terms are not published on the site. Ask before you sign up: open a ticket on Pelican Hub or ask on Discord.', + link: { label: 'Open a ticket', href: supportLinks.hubTickets }, + }, + { + q: 'Will my name be shown?', + a: "Supporters are thanked on the Hub's Wall of Awesome, with their Discord display name and avatar.", + link: { label: 'Wall of Awesome', href: supportLinks.wall }, + }, + { + q: 'Can the perks change?', + a: "Yes. The Hub's terms say perks are a thank-you, are not guaranteed and may change over time.", + }, +]; diff --git a/mdx-components.tsx b/mdx-components.tsx new file mode 100644 index 00000000..b63ec045 --- /dev/null +++ b/mdx-components.tsx @@ -0,0 +1,30 @@ +import defaultMdxComponents from 'fumadocs-ui/mdx'; +import type { MDXComponents } from 'mdx/types'; +import { Admonition } from '@/components/mdx/admonition'; +import { Link } from '@/components/mdx/link'; +import { Mermaid } from '@/components/mdx/mermaid'; +import { TabItem, Tabs } from '@/components/mdx/tabs'; +import { SetupPanel } from '@/components/setup/setup-panel'; +import { SetupAwareSpan } from '@/components/setup/setup-span'; + +/** + * Components available in every .mdx page without an import. + * + * , , and keep the names and props they + * had on Docusaurus, so existing pages work unchanged. + */ +export function getMDXComponents(components?: MDXComponents): MDXComponents { + return { + ...defaultMdxComponents, + span: SetupAwareSpan, + Admonition, + Tabs, + TabItem, + Link, + Mermaid, + SetupPanel, + ...components, + }; +} + +export const useMDXComponents = getMDXComponents; diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 00000000..ad6b135f --- /dev/null +++ b/netlify.toml @@ -0,0 +1,79 @@ +# Build settings live here (in git) instead of only in the Netlify dashboard. +[build] + command = "pnpm build" + publish = "out" + +[build.environment] + NODE_VERSION = "22" + # The site is a static export (next.config.mjs), so Netlify's Next.js + # runtime isn't needed; serve out/ as plain files. + NETLIFY_NEXT_PLUGIN_SKIP = "true" + +# ---- Short links (were client-side redirects on Docusaurus) -------------- +[[redirects]] + from = "/discord" + to = "https://discord.gg/pelican-panel" + status = 301 + force = true + +[[redirects]] + from = "/github" + to = "https://github.com/pelican/panel" + status = 301 + force = true + +[[redirects]] + from = "/hub" + to = "https://hub.pelican.dev" + status = 301 + force = true + +[[redirects]] + from = "/donate" + to = "/support/" + status = 301 + force = true + +# ---- Old docs paths ------------------------------------------------------ +[[redirects]] + from = "/docs/about" + to = "/docs/contributors/" + status = 301 + force = true + +[[redirects]] + from = "/docs/glossary" + to = "/docs/#glossary" + status = 301 + force = true + +[[redirects]] + from = "/docs/troubleshooting" + to = "/docs/guides/troubleshooting/" + status = 301 + force = true + +# These pages existed but were empty; send readers to the overview. +[[redirects]] + from = "/docs/guides/disk-quotas/btrfs" + to = "/docs/guides/disk-quotas/about/" + status = 301 + force = true + +[[redirects]] + from = "/docs/guides/disk-quotas/lvm" + to = "/docs/guides/disk-quotas/about/" + status = 301 + force = true + +[[redirects]] + from = "/docs/guides/disk-quotas/zfs" + to = "/docs/guides/disk-quotas/about/" + status = 301 + force = true + +# The install scripts are fetched with curl; make sure they come back as text. +[[headers]] + for = "/*.sh" + [headers.values] + Content-Type = "text/x-shellscript; charset=utf-8" diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 00000000..18da8525 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,15 @@ +import { createMDX } from 'fumadocs-mdx/next'; + +const withMDX = createMDX(); + +/** @type {import('next').NextConfig} */ +const config = { + reactStrictMode: true, + // A fully static site in out/, served by Netlify like the Docusaurus build was. + output: 'export', + // pelican.dev has always used /docs/panel/getting-started/ with the slash. + trailingSlash: true, + images: { unoptimized: true }, +}; + +export default withMDX(config); diff --git a/package.json b/package.json index cbdf363f..48b61872 100644 --- a/package.json +++ b/package.json @@ -1,69 +1,45 @@ { "name": "pelicandocs", - "version": "1.0.0", + "version": "2.0.0", "private": true, + "type": "module", "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start --host 0.0.0.0", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" + "dev": "next dev", + "sync:eggs": "node scripts/sync-eggs.mjs", + "prebuild": "node scripts/sync-eggs.mjs --if-online", + "build": "next build", + "start": "npx serve out", + "typecheck": "fumadocs-mdx && next typegen && tsc --noEmit", + "postinstall": "fumadocs-mdx" }, "dependencies": { - "@algolia/client-search": "^5.46.1", - "@docusaurus/core": "^3.10.1", - "@docusaurus/faster": "^3.10.1", - "@docusaurus/plugin-client-redirects": "^3.10.1", - "@docusaurus/preset-classic": "^3.10.1", - "@docusaurus/theme-common": "^3.10.1", - "@docusaurus/theme-mermaid": "^3.10.1", - "@docusaurus/theme-search-algolia": "^3.10.1", - "@fortawesome/fontawesome-svg-core": "^6.7.2", - "@fortawesome/free-brands-svg-icons": "^6.7.2", - "@fortawesome/free-regular-svg-icons": "^6.7.2", - "@fortawesome/free-solid-svg-icons": "^6.7.2", - "@fortawesome/react-fontawesome": "^0.2.6", - "@iconify/react": "^5.2.1", - "@mdx-js/react": "^3.1.1", - "clsx": "^2.1.1", - "docusaurus-lunr-search": "^3.6.0", - "docusaurus-plugin-sass": "^0.2.6", - "lunr": "^2.3.9", - "postcss-import": "^16.1.1", - "prism-react-renderer": "^2.4.1", - "react": "^19.2.3", - "react-dom": "^19.2.3", - "react-medium-image-zoom": "^5.4.0", - "remark-gfm": "^4.0.1", - "sass": "^1.97.1" + "@shikijs/transformers": "4.6.0", + "fumadocs-core": "16.17.10", + "fumadocs-mdx": "15.4.10", + "fumadocs-ui": "16.17.10", + "lucide-react": "1.66.0", + "mermaid": "12.2.0", + "next": "16.4.4", + "react": "19.3.1", + "react-dom": "19.3.1", + "shiki": "4.6.0", + "unist-util-visit": "5.2.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.10.1", - "@docusaurus/tsconfig": "^3.10.1", - "@docusaurus/types": "^3.10.1", - "autoprefixer": "^10.4.23", - "postcss": "^8.5.6", - "tailwindcss": "^3.4.19", - "typescript": "^5.9.3" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] + "@tailwindcss/postcss": "4.3.3", + "@types/mdast": "4.0.4", + "@types/mdx": "2.0.14", + "@types/node": "26.6.6", + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", + "postcss": "8.5.28", + "sharp": "0.35.5", + "tailwindcss": "4.3.3", + "typescript": "7.0.2", + "yaml": "2.9.1" }, "engines": { - "node": ">=18.0" - } + "node": ">=22" + }, + "packageManager": "pnpm@10.34.9" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14f1738c..a04509db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,14322 +8,5172 @@ importers: .: dependencies: - '@algolia/client-search': - specifier: ^5.46.1 - version: 5.46.1 - '@docusaurus/core': - specifier: ^3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/faster': - specifier: ^3.10.1 - version: 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6) - '@docusaurus/plugin-client-redirects': - specifier: ^3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/preset-classic': - specifier: ^3.10.1 - version: 3.10.1(@algolia/client-search@5.46.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) - '@docusaurus/theme-common': - specifier: ^3.10.1 - version: 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-mermaid': - specifier: ^3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-search-algolia': - specifier: ^3.10.1 - version: 3.10.1(@algolia/client-search@5.46.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) - '@fortawesome/fontawesome-svg-core': - specifier: ^6.7.2 - version: 6.7.2 - '@fortawesome/free-brands-svg-icons': - specifier: ^6.7.2 - version: 6.7.2 - '@fortawesome/free-regular-svg-icons': - specifier: ^6.7.2 - version: 6.7.2 - '@fortawesome/free-solid-svg-icons': - specifier: ^6.7.2 - version: 6.7.2 - '@fortawesome/react-fontawesome': - specifier: ^0.2.6 - version: 0.2.6(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.2.3) - '@iconify/react': - specifier: ^5.2.1 - version: 5.2.1(react@19.2.3) - '@mdx-js/react': - specifier: ^3.1.1 - version: 3.1.1(@types/react@19.2.17)(react@19.2.3) - clsx: - specifier: ^2.1.1 - version: 2.1.1 - docusaurus-lunr-search: - specifier: ^3.6.0 - version: 3.6.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - docusaurus-plugin-sass: - specifier: ^0.2.6 - version: 0.2.6(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@rspack/core@1.7.11)(sass@1.97.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - lunr: - specifier: ^2.3.9 - version: 2.3.9 - postcss-import: - specifier: ^16.1.1 - version: 16.1.1(postcss@8.5.6) - prism-react-renderer: - specifier: ^2.4.1 - version: 2.4.1(react@19.2.3) + '@shikijs/transformers': + specifier: 4.6.0 + version: 4.6.0 + fumadocs-core: + specifier: 16.17.10 + version: 16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7) + fumadocs-mdx: + specifier: 15.4.10 + version: 15.4.10(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react@19.3.1) + fumadocs-ui: + specifier: 16.17.10 + version: 16.17.10(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(tailwindcss@4.3.3) + lucide-react: + specifier: 1.66.0 + version: 1.66.0(@types/react@19.3.0)(react@19.3.1) + mermaid: + specifier: 12.2.0 + version: 12.2.0 + next: + specifier: 16.4.4 + version: 16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) react: - specifier: ^19.2.3 - version: 19.2.3 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: ^19.2.3 - version: 19.2.3(react@19.2.3) - react-medium-image-zoom: - specifier: ^5.4.0 - version: 5.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - remark-gfm: - specifier: ^4.0.1 - version: 4.0.1 - sass: - specifier: ^1.97.1 - version: 1.97.1 + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) + shiki: + specifier: 4.6.0 + version: 4.6.0 + unist-util-visit: + specifier: 5.2.0 + version: 5.2.0 devDependencies: - '@docusaurus/module-type-aliases': - specifier: ^3.10.1 - version: 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/tsconfig': - specifier: ^3.10.1 - version: 3.10.1 - '@docusaurus/types': - specifier: ^3.10.1 - version: 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - autoprefixer: - specifier: ^10.4.23 - version: 10.4.23(postcss@8.5.6) + '@tailwindcss/postcss': + specifier: 4.3.3 + version: 4.3.3 + '@types/mdast': + specifier: 4.0.4 + version: 4.0.4 + '@types/mdx': + specifier: 2.0.14 + version: 2.0.14 + '@types/node': + specifier: 26.6.6 + version: 26.6.6 + '@types/react': + specifier: 19.3.0 + version: 19.3.0 + '@types/react-dom': + specifier: 19.3.0 + version: 19.3.0(@types/react@19.3.0) postcss: - specifier: ^8.5.6 - version: 8.5.6 + specifier: 8.5.28 + version: 8.5.28 + sharp: + specifier: 0.35.5 + version: 0.35.5(@types/node@26.6.6) tailwindcss: - specifier: ^3.4.19 - version: 3.4.19(yaml@2.8.0) + specifier: 4.3.3 + version: 4.3.3 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: 7.0.2 + version: 7.0.2 + yaml: + specifier: 2.9.1 + version: 2.9.1 packages: - '@algolia/abtesting@1.19.0': - resolution: {integrity: sha512-Lhnez3hhXHk25lfxLAMxvkP4fmN3+1RgADhD2ssMDBYuAsDVReeyP+3SGRx+ntq8ijMrLqUyfvO72TB6jsTteQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - - '@algolia/autocomplete-core@1.19.8': - resolution: {integrity: sha512-3YEorYg44niXcm7gkft3nXYItHd44e8tmh4D33CTszPgP0QWkaLEaFywiNyJBo7UL/mqObA/G9RYuU7R8tN1IA==} - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} - peerDependencies: - search-insights: '>= 1 < 3' + '@alloc/quick-lru@5.3.0': + resolution: {integrity: sha512-U4+70Pc5ZS9osnCBCE5Jha/ciHM+Yp+CNMNC/7HvYbNRk1Ldd+f7qO65W5qfhu/TCv+/ozljlXXe9Nj8419DMA==} + engines: {node: '>=10'} - '@algolia/autocomplete-plugin-algolia-insights@1.19.8': - resolution: {integrity: sha512-ZvJWO8ZZJDpc1LNM2TTBdmQsZBLMR4rU5iNR2OYvEeFBiaf/0ESnRSSLQbryarJY4SVxtoz6A2ZtDMNM+iQEAA==} - peerDependencies: - search-insights: '>= 1 < 3' + '@antfu/install-pkg@2.1.0': + resolution: {integrity: sha512-sdg9NxU3zR4Mnawfbc/x6GB5Wf17WYud5qOuEuxXjaKpYpMkISSJEjItGebXJ2bQ4DIcly4NYH23mtkGJjvKUw==} - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} - '@algolia/autocomplete-shared@1.19.8': - resolution: {integrity: sha512-h5hf2t8ejF6vlOgvLaZzQbWs5SyH2z4PAWygNAvvD/2RI29hdQ54ldUGwqVuj9Srs+n8XUKTPUqb7fvhBhQrnQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' + '@chevrotain/cst-dts-gen@13.2.0': + resolution: {integrity: sha512-bA9dvWlhAUcHkNwU+8w9yiUxJPlj/Lm3VqS7MD+NbIR/7LmpNLuK/AWNFdCo/T3SK5ND0/UHf3IJvl/Jn/i6yg==} - '@algolia/client-abtesting@5.53.0': - resolution: {integrity: sha512-0ZjA5Hcmaoz5Lj6OG0zhfIyeqzJZnLW2CRJA1W17UwMFGRtZAJ9yJKRvPEDA6gkpsIoQxORTSW6sWFiuYncPNQ==} - engines: {node: '>= 14.0.0'} + '@chevrotain/gast@13.2.0': + resolution: {integrity: sha512-bCARdAsG+eEbOveSXcOAC7pVxA04I1ionzeMOwIYf5NX7SaS7zgn4Dgug2BSqoL+iyKeMNSorQjsFSHJHsCNwg==} - '@algolia/client-analytics@5.53.0': - resolution: {integrity: sha512-kWNodP75iiEaOtemC9F/hlxNBG5E2QUjN1BusnE6m2b4l7Qh/BUO3fGCVsmKJI65VO4VKGGmT43ICvHtTcJ2JQ==} - engines: {node: '>= 14.0.0'} + '@chevrotain/regexp-to-ast@13.2.0': + resolution: {integrity: sha512-kxpUkLtiaK09ph+dib+Yvm+3sWSnuwlo25gqfKRgTPNmF6H7uW4gVkMjaRdtnN783S9sM6vUNWh9CsxYX4QwKw==} - '@algolia/client-common@5.46.1': - resolution: {integrity: sha512-3u6AuZ1Kiss6V5JPuZfVIUYfPi8im06QBCgKqLg82GUBJ3SwhiTdSZFIEgz2mzFuitFdW1PQi3c/65zE/3FgIw==} - engines: {node: '>= 14.0.0'} + '@chevrotain/types@13.2.0': + resolution: {integrity: sha512-7qrYHRlKfWf2AvBfJi5eVOrKAkbxvMFsy/iIHTGIiApNcEecCaVIdR+mIQhyCBsTDJxBz4JWXHMo6krbhR9hVg==} - '@algolia/client-common@5.53.0': - resolution: {integrity: sha512-YPN45TXD9Wrse185t/Ta7nktZsqpv97oOjCzp2sblHnCL6rBc9TDeJAg1IGl2UpdwnSD05Zu/5wLB4watOUMyg==} - engines: {node: '>= 14.0.0'} + '@chevrotain/utils@13.2.0': + resolution: {integrity: sha512-SzKYY68rseOrb9KILVzPsl6SjkQtdWw01SRGB5aCVI5kFcHltQsOYV3JB0Ffst72DgkvHCyDQ0NLwxtmCCf97Q==} - '@algolia/client-insights@5.53.0': - resolution: {integrity: sha512-qAcYTDJE6m924FDDUQvdD6vh7DYaqOeSpFS74IP37/JRV0v4cGBauyxTF2WzDnokUylQDbqreoFIJZfg0Fitmw==} - engines: {node: '>= 14.0.0'} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@algolia/client-personalization@5.53.0': - resolution: {integrity: sha512-fQaY+DkSJOpuUVUe8MQTwrdiKAqkJGhpDarB08duBn/sUv7Bkib6MDRQauCcWTWTe4HIW+EbwQP9R4kci1V/Yw==} - engines: {node: '>= 14.0.0'} + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@algolia/client-query-suggestions@5.53.0': - resolution: {integrity: sha512-o72tsiEZGfeS/dxL9IADfzcZWGEwKDEe5CvtrBuT//3JR+SHuTtHRI2ZTf7D7bcKagcbojvO8hnkHdfoakSlYg==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] - '@algolia/client-search@5.46.1': - resolution: {integrity: sha512-NL76o/BoEgU4ObY5oBEC3o6KSPpuXsnSta00tAxTm1iKUWOGR34DQEKhUt8xMHhMKleUNPM/rLPFiIVtfsGU8w==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] - '@algolia/client-search@5.53.0': - resolution: {integrity: sha512-Ds16IyPm/dNJPCU8OzApo2gwGrgWT5BYHhE3NFwZbpCveqyvPDB9sZDDkJ5DsdOGT2aC+R3i0/M1OVXF2qdgPg==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] - '@algolia/events@4.0.1': - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - '@algolia/ingestion@1.53.0': - resolution: {integrity: sha512-oNbT6z4NwD8Pou9VPINGlN/tlG1afESh2EbxqnP6rwl95xKVD/Zlciis1PpNeO/9U/rrajc1+7DcfKi03tX1KQ==} - engines: {node: '>= 14.0.0'} + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@algolia/monitoring@1.53.0': - resolution: {integrity: sha512-G+KZb/yd+qAOFn/cEvTGeLxQm8aP3a0od50l3z/ylccY+/o4YG3TNcjU1tFQHW4mXC137GPyR7W70R0kRQDLnA==} - engines: {node: '>= 14.0.0'} + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@algolia/recommend@5.53.0': - resolution: {integrity: sha512-6aVfYd55Un6IUgPLbo84WfgFZlS3L0vA1ttzXL5vahHewUJ8jYgd89TzlWRTeej7w70mb9RWsVlFYGmJ/diQww==} - engines: {node: '>= 14.0.0'} + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@algolia/requester-browser-xhr@5.46.1': - resolution: {integrity: sha512-3GfCwudeW6/3caKSdmOP6RXZEL4F3GiemCaXEStkTt2Re8f7NcGYAAZnGlHsCzvhlNEuDzPYdYxh4UweY8l/2w==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@algolia/requester-browser-xhr@5.53.0': - resolution: {integrity: sha512-ke27DqgzCOlt+RbeEdCxtXxMQOnAOi8ujr2wid0DmDKzR95Kw/f9sBsuhBxtjevCqJRJszfRTLY0B1pbO6IhkA==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@algolia/requester-fetch@5.46.1': - resolution: {integrity: sha512-JUAxYfmnLYTVtAOFxVvXJ4GDHIhMuaP7JGyZXa/nCk3P8RrN5FCNTdRyftSnxyzwSIAd8qH3CjdBS9WwxxqcHQ==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@algolia/requester-fetch@5.53.0': - resolution: {integrity: sha512-GngiOqt2Gq4oLno6yXQVj9om+qSO9SWAoduoTOEg79dKZ62brB8OOIvSJG/vDNoanYi6a7Al9uDZwXvi+bcVTg==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@algolia/requester-node-http@5.46.1': - resolution: {integrity: sha512-VwbhV1xvTGiek3d2pOS6vNBC4dtbNadyRT+i1niZpGhOJWz1XnfhxNboVbXPGAyMJYz7kDrolbDvEzIDT93uUA==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@algolia/requester-node-http@5.53.0': - resolution: {integrity: sha512-6mF9LZMUk0QqWvrnxkxBqhswwz6Xfiwy6/gmTzL5HrlhdVG3ITAqGV2k3XmVThP1h0Ulc3VQwiNCD7/Nr4JNlQ==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - '@babel/code-frame@7.29.7': - resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@babel/compat-data@7.29.7': - resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} - engines: {node: '>=6.9.0'} + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@babel/core@7.29.7': - resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} - engines: {node: '>=6.9.0'} + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - '@babel/helper-annotate-as-pure@7.29.7': - resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} - engines: {node: '>=6.9.0'} + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - '@babel/helper-compilation-targets@7.29.7': - resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} - engines: {node: '>=6.9.0'} + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] - '@babel/helper-create-class-features-plugin@7.29.7': - resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@babel/helper-create-regexp-features-plugin@7.29.7': - resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@babel/helper-define-polyfill-provider@0.6.8': - resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@babel/helper-globals@7.29.7': - resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} - engines: {node: '>=6.9.0'} + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@babel/helper-member-expression-to-functions@7.29.7': - resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} - engines: {node: '>=6.9.0'} + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@babel/helper-module-imports@7.29.7': - resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} - engines: {node: '>=6.9.0'} + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@babel/helper-module-transforms@7.29.7': - resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} - engines: {node: '>=6.9.0'} + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.29.7': - resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} - engines: {node: '>=6.9.0'} + react: '>=16.8.0' + react-dom: '>=16.8.0' - '@babel/helper-plugin-utils@7.29.7': - resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} - engines: {node: '>=6.9.0'} + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} - '@babel/helper-remap-async-to-generator@7.29.7': - resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} - engines: {node: '>=6.9.0'} + '@fuma-translate/react@1.0.2': + resolution: {integrity: sha512-uOiOtBx3nRXR8Nu1GzBf1tApgF1FErDBTHxRIAQeyQdyOoZbrNRN6H4kDCWObY4qyGeGbHydG0DHzgeUgFDMIw==} peerDependencies: - '@babel/core': ^7.0.0 + '@types/react': '*' + react: ^19.2.0 + react-dom: ^19.2.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/helper-replace-supers@7.29.7': - resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} - engines: {node: '>=6.9.0'} + '@fumadocs/tailwind@0.1.5': + resolution: {integrity: sha512-ohzmuLTfNNRvP6B/Xx31lWJ58xu40NcmI+6mc/jivYeOoofnmdxBKu5gCErTgOE/mUqyVv4GvYeqd9FhoLHphg==} peerDependencies: - '@babel/core': ^7.0.0 + tailwindcss: ^4.0.0 + peerDependenciesMeta: + tailwindcss: + optional: true - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} - engines: {node: '>=6.9.0'} + '@fumari/image-size@0.1.1': + resolution: {integrity: sha512-iaiV2wyzJ4mW358NX4CX3yGit+WjKYzpaQ+rldK9BjL/5jFpeV6ruWnZVq7MEyMn3Gd0DLi8g/79NZAAQaGscw==} - '@babel/helper-string-parser@7.29.7': - resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} - engines: {node: '>=6.9.0'} + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@babel/helper-validator-identifier@7.29.7': - resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} - engines: {node: '>=6.9.0'} + '@iconify/utils@3.1.7': + resolution: {integrity: sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w==} - '@babel/helper-validator-option@7.29.7': - resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} - engines: {node: '>=6.9.0'} + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} - '@babel/helper-wrap-function@7.29.7': - resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} - engines: {node: '>=6.9.0'} + '@img/sharp-darwin-arm64@0.35.5': + resolution: {integrity: sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} - engines: {node: '>=6.9.0'} + '@img/sharp-darwin-x64@0.35.5': + resolution: {integrity: sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} - engines: {node: '>=6.0.0'} - hasBin: true + '@img/sharp-freebsd-wasm32@0.35.5': + resolution: {integrity: sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==} + engines: {node: '>=20.9.0'} + os: [freebsd] - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': - resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-darwin-arm64@1.3.4': + resolution: {integrity: sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==} + cpu: [arm64] + os: [darwin] - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': - resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-darwin-x64@1.3.4': + resolution: {integrity: sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==} + cpu: [x64] + os: [darwin] - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': - resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linux-arm64@1.3.4': + resolution: {integrity: sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': - resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linux-arm@1.3.4': + resolution: {integrity: sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==} + cpu: [arm] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': - resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + '@img/sharp-libvips-linux-ppc64@1.3.4': + resolution: {integrity: sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==} + cpu: [ppc64] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': - resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linux-riscv64@1.3.4': + resolution: {integrity: sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==} + cpu: [riscv64] + os: [linux] + libc: [glibc] - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-libvips-linux-s390x@1.3.4': + resolution: {integrity: sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-libvips-linux-x64@1.3.4': + resolution: {integrity: sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==} + cpu: [x64] + os: [linux] + libc: [glibc] - '@babel/plugin-syntax-import-assertions@7.29.7': - resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': + resolution: {integrity: sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==} + cpu: [arm64] + os: [linux] + libc: [musl] - '@babel/plugin-syntax-import-attributes@7.29.7': - resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-libvips-linuxmusl-x64@1.3.4': + resolution: {integrity: sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==} + cpu: [x64] + os: [linux] + libc: [musl] - '@babel/plugin-syntax-jsx@7.29.7': - resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-arm64@0.35.5': + resolution: {integrity: sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@babel/plugin-syntax-typescript@7.29.7': - resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-arm@0.35.5': + resolution: {integrity: sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-linux-ppc64@0.35.5': + resolution: {integrity: sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-arrow-functions@7.29.7': - resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-riscv64@0.35.5': + resolution: {integrity: sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-async-generator-functions@7.29.7': - resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-s390x@0.35.5': + resolution: {integrity: sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-async-to-generator@7.29.7': - resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-x64@0.35.5': + resolution: {integrity: sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-block-scoped-functions@7.29.7': - resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linuxmusl-arm64@0.35.5': + resolution: {integrity: sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] - '@babel/plugin-transform-block-scoping@7.29.7': - resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linuxmusl-x64@0.35.5': + resolution: {integrity: sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] - '@babel/plugin-transform-class-properties@7.29.7': - resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-wasm32@0.35.5': + resolution: {integrity: sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==} + engines: {node: '>=20.9.0'} - '@babel/plugin-transform-class-static-block@7.29.7': - resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@img/sharp-webcontainers-wasm32@0.35.5': + resolution: {integrity: sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] - '@babel/plugin-transform-classes@7.29.7': - resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-win32-arm64@0.35.5': + resolution: {integrity: sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] - '@babel/plugin-transform-computed-properties@7.29.7': - resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-win32-ia32@0.35.5': + resolution: {integrity: sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] - '@babel/plugin-transform-destructuring@7.29.7': - resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-win32-x64@0.35.5': + resolution: {integrity: sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] - '@babel/plugin-transform-dotall-regex@7.29.7': - resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@babel/plugin-transform-duplicate-keys@7.29.7': - resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - '@babel/plugin-transform-dynamic-import@7.29.7': - resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} - '@babel/plugin-transform-explicit-resource-management@7.29.7': - resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@babel/plugin-transform-exponentiation-operator@7.29.7': - resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@babel/plugin-transform-export-namespace-from@7.29.7': - resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mermaid-js/parser@2.0.1': + resolution: {integrity: sha512-j37dj/h6p6pots1L7pLPPNuABEEu9WP4OYg9pW1g+nYG331j0+3canE9OagtYdytYvdSAMG+2fKU5cxep6LgjA==} + engines: {node: '>=22.12.0'} - '@babel/plugin-transform-for-of@7.29.7': - resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/env@16.4.4': + resolution: {integrity: sha512-6/3ZuELR0tPLgNigvv8d/LAmfLIo1IpNfvrI/AHCAl9w9D0DNVGQGvo+OLPzAWR+WMW3vVyO7HaW0kfL97huBg==} - '@babel/plugin-transform-function-name@7.29.7': - resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-darwin-arm64@16.4.4': + resolution: {integrity: sha512-1KlZ5IJ7zcLBZvqG1q7nuRWm2LAAN4C3iBqqoBCRRl1UEv0A4k6Rek+x3j23UiWf8Gz+VsN+M/LylAWkxpm2mg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@babel/plugin-transform-json-strings@7.29.7': - resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-darwin-x64@16.4.4': + resolution: {integrity: sha512-Tb7efFdhbS/ph74RS7wob84gXGM58qxoO/WrkiMsTmy/JZktKOKBeiM45W0E/b8JfBzZJdexQqSmvedBwDK0PA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@babel/plugin-transform-literals@7.29.7': - resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-linux-arm64-gnu@16.4.4': + resolution: {integrity: sha512-wojSfLnH8RRImhtbcn3Dlx9JICh6aQHgDA33XDr+EPua2tt7Q/yjDn0FTAbqfNlLrBmOASAGhLh6NvBk9L3gzw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-logical-assignment-operators@7.29.7': - resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-linux-arm64-musl@16.4.4': + resolution: {integrity: sha512-zgxpGOZaR+2O6dOk5ZAUkKgH92ZtqNg3ohzyg2HmWc2N+AZH4dEpTwdpB0e5MR9YRVdVDUkEM5g6c3TWWn8g1g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] - '@babel/plugin-transform-member-expression-literals@7.29.7': - resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-linux-x64-gnu@16.4.4': + resolution: {integrity: sha512-fg3Wr030Y3BDkCXi6HGsPz0BUPTGZJS8TZSrCO0tS3O/KBsCyx4eP6aeaizCpGmcUKhtb4l7JoMc88QO2qBl2g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] - '@babel/plugin-transform-modules-amd@7.29.7': - resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-linux-x64-musl@16.4.4': + resolution: {integrity: sha512-40cr71PSdCV9zU2g0B1XG27af10tYU+9g8F+FtF3qSguQg0jSZDoxn0NrAvgFQ0cy9s0ZBA/00P9g/XL1O43xg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] - '@babel/plugin-transform-modules-commonjs@7.29.7': - resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-win32-arm64-msvc@16.4.4': + resolution: {integrity: sha512-vFMiEbRZ+LYNeswslf4LuGuoPHE8JbtqV0GnmzbpnGNMs0uWaR2q98hu8M/UWGycNJERBXIUss+BGd3PIJ8VZg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@babel/plugin-transform-modules-systemjs@7.29.7': - resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@next/swc-win32-x64-msvc@16.4.4': + resolution: {integrity: sha512-jy2P4V8BDZ+CFCzYABHYRZ1CmyFhfmYe22i8KA4uEafdYPrUjJ3Ot+lx265mLWLHiZRIfBzCn3V1F17m0vzl9Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] - '@babel/plugin-transform-modules-umd@7.29.7': - resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@radix-ui/number@1.1.3': + resolution: {integrity: sha512-Road2bidD0uu/1BGDOWNdPI06g0lIRy6IF9GZcIrDK2KGItfor8IQwQa+yM2ERgHM1MmHxaxpTzk0/Jp42lNfA==} - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@radix-ui/primitive@1.2.0': + resolution: {integrity: sha512-KABY+VMIRPJL+Vyzv/335FEhXXD/xDv8BMb1kl48/aXJZMH0LtHCTx5ga5RnxaEP3nZHtmTLf1P9vanmFX46bw==} - '@babel/plugin-transform-new-target@7.29.7': - resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-accordion@1.3.1': + resolution: {integrity: sha512-lCZ6sbGS/7WO0j84yx4srIgOf0MRJ/sZ13RonADXxvKBym8xrxNCq5f6DibGcr38sIlwPk8/52uYdXeOPsbEDw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': - resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-arrow@1.1.17': + resolution: {integrity: sha512-67jjcVvxjXCCStnTW3Z+M7jmaFMuMR7M2JgpDzH4w7JSRrikmzhjfYgP/09ECb8n7whnsgh1ifJ+Ie96qEj+pQ==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-numeric-separator@7.29.7': - resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-collapsible@1.2.1': + resolution: {integrity: sha512-fSzLb/qy1wuZSxQBcxpW0hNXYHDMWiIXDGyJGdA4+FSLknOWZsNRrTCUavxb4PI8b8lvHo/CysO6NVi5zLpo5g==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-object-rest-spread@7.29.7': - resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-collection@1.2.0': + resolution: {integrity: sha512-+yiQzqcc7Sy7/5s0jrMCjpPRFB3538VNrXPWdTLZhE/SCfgEws4aI6lHWN/vvcnyhHndROWBzqmqB4QBrITZ9Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-object-super@7.29.7': - resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-compose-refs@1.1.5': + resolution: {integrity: sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==} peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.29.7': - resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-optional-chaining@7.29.7': - resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-context@1.3.0': + resolution: {integrity: sha512-v5AYEocMISkbJ+1fTXzZpiFv7NRr3D2WiYbLIKf+FkmJ8VkP6d503eV2n34MFussHXY1pcoq3yfJiQH77dc4Mg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-parameters@7.29.7': - resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-dialog@1.3.1': + resolution: {integrity: sha512-+0E4qvVTwjAWra9sEhJ+9BTsvHE00zkUuNw1VGh7S+Gc13dfYk+S1PVQdchWDj+XYHhAai7Z7IpzXVDCGsDplg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-private-methods@7.29.7': - resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-direction@1.2.0': + resolution: {integrity: sha512-FtRA52a/r+LKStFT+neLUm+8vSe7wbzkbQGGeU8ixFiwC8NU14Evoq9ATECqL3eGbcUzJR4fyfA4KkK/q6dfqg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-private-property-in-object@7.29.7': - resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-dismissable-layer@1.2.1': + resolution: {integrity: sha512-KIfDcAsx+oVylFZ4xryVKusJUrLLhTQmfnJW4kwk4Km5myvhHCrj04hnWWUC166+xD4DHdH8tQGylwYX1h6+Pg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-property-literals@7.29.7': - resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-focus-guards@1.2.0': + resolution: {integrity: sha512-MPm5R0iRGUDrDnPNxmLBkv+X7pN4XKzt+MbWJEuJQsH3NFH4omrbpXpucyYCCKTSt+na/ZxGhEWQrWTZ0285cA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-react-constant-elements@7.29.7': - resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-focus-scope@1.3.1': + resolution: {integrity: sha512-ugeMhbXt4y5S2T1GnIqbWDKEN962PDwnX1fN0eKOOgf5f63Dh2mn8F1FUySlgW0iF6GiVsRF32DzuDIWTUyQJg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-react-display-name@7.29.7': - resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-id@1.1.4': + resolution: {integrity: sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-react-jsx-development@7.29.7': - resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-navigation-menu@1.4.1': + resolution: {integrity: sha512-XPPZjkeyCSMNNvt0FyDv/PUauG7Ow4GwHQ/XZSwW36F/TS7rR4HFTsXH8ewLnXTOLn3x96/pmTPNQIVoTX/86g==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-react-jsx@7.29.7': - resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-popover@1.3.1': + resolution: {integrity: sha512-ZNxvXRx5W2Wos4fXCXb5lpdqN0Z5chf+mStOUOTr4ik7d+62MRvoe9rzCA/eGNg36lxXqSrKEKmwuZEcUrIstw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-react-pure-annotations@7.29.7': - resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-popper@1.4.0': + resolution: {integrity: sha512-yCWRvLeGv9Pz3+efwHqGPp70mZ56r3kfIgQVF56Oj2aAa4uP/Tb+IE59wNcc+758rctqbCKx4LbK8II/r7Bn0Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-regenerator@7.29.7': - resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-portal@1.2.0': + resolution: {integrity: sha512-StX7xXnaRU41VvFtMm9zlhVGz8XF6GmWWTXftkQaY+tqVkbs/R9UmAp5mLzHHapk5hM9RMZQvO/3usyIP/g42g==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-regexp-modifiers@7.29.7': - resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-presence@1.1.11': + resolution: {integrity: sha512-Z7/atlkab36Z8hm+V8zYc79r0W+tiOB1o0tun1By94JyadkekLQmtEAnBSP9XKXBNQsStoStS4+gX10JpS5akA==} peerDependencies: - '@babel/core': ^7.0.0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-reserved-words@7.29.7': - resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-primitive@2.2.0': + resolution: {integrity: sha512-HCTSPMNqv55Qk0IX4geJbpyXazmqulcimwuyjxTkKi29v+QZbG2Zho9BnbBq4YS2PF+KlNb2CXoLz66uUmblkg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-runtime@7.29.7': - resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-roving-focus@1.2.1': + resolution: {integrity: sha512-UwraORzVUeEPMclhO1p0vz0qI+TbdDLO9i+FiOqhJyHKwdpCRCck9yVEscUnAMIzCiuNoQa8D4A9bIpOPXGt6Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-shorthand-properties@7.29.7': - resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-scroll-area@1.4.0': + resolution: {integrity: sha512-CFrLqHNejWq5FhKAcj9V/WPGRsol76HBQto81NdOBVFEOqIEkJkKIJt0Z824A/9hHLCtoiR/Kw3euRgzXP2pxg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-spread@7.29.7': - resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-slot@1.5.0': + resolution: {integrity: sha512-tyYd9ddPXAysAbdbD9eYxgwpCSv6f3PncqVSNKQFSR5lcJVLz3cb/pANDoYrLiHBpXv7skortyUgGUWsYuPPFQ==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-sticky-regex@7.29.7': - resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-tabs@1.2.1': + resolution: {integrity: sha512-hRoJlode+hg5ZNlR+3tkfkUliIybdTpD5lkAvHQ9yaXseGf7XVO9Ib2GPEIOuaJJbo7YWYbNpDDRfo8Dhf6/xA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/plugin-transform-template-literals@7.29.7': - resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-callback-ref@1.1.5': + resolution: {integrity: sha512-Y5GBf4NKeADoXI1geiMlMuMoURT3k9MizzzKhGb/m55H94aGigZ01PIpkvsO6lML13BA6XYAXSJ6gza7vTn5nw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-typeof-symbol@7.29.7': - resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-controllable-state@1.3.0': + resolution: {integrity: sha512-TAcBI7bw2ljYCbv4+zuTSd6zICu8pRt6SDN2vJ/Z06K2MXh6I9WYFe/A9ovlFDtR5HVHGm5iDxDoABm/++dbKg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-typescript@7.29.7': - resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-effect-event@0.0.5': + resolution: {integrity: sha512-7cshFL8HGS/7HEiHH+9kL9HBwp2sa9yX18Knwek6KYWmXwM7pegMgta2AXMQKI+rq3JnfSj9x8wYqFMTdG1Jgg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-unicode-escapes@7.29.7': - resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-is-hydrated@0.1.3': + resolution: {integrity: sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-unicode-property-regex@7.29.7': - resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-layout-effect@1.1.4': + resolution: {integrity: sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-unicode-regex@7.29.7': - resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-previous@1.1.4': + resolution: {integrity: sha512-XoSLhbRbqxFtgJoi2fNHA3C6pDlY34x508vUpUGoFZfvePfHXHbE1lC4FYFMnJWgiCRroSTw6fOsXQoVS9RwZg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-unicode-sets-regex@7.29.7': - resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-rect@1.1.4': + resolution: {integrity: sha512-cSOCh6JlkmfjLyNcLiu2nB4v+nm+dkZ+Q5KHWk/soo4U7ZLiEQFKHK9/YmtBHjfCEaU43IBKQOc4/uJmCaiCTQ==} peerDependencies: - '@babel/core': ^7.0.0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/preset-env@7.29.7': - resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} - engines: {node: '>=6.9.0'} + '@radix-ui/react-use-size@1.1.5': + resolution: {integrity: sha512-V1McDQkMGzgivwqdu7u96APs7oi0Jvj9LTzgq3WWrDZqxWdAqU9yZnZQqk5OizGFR8badUQwZsrlao7MOlWYOA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + '@radix-ui/react-visually-hidden@1.2.13': + resolution: {integrity: sha512-feijiN1oPk4rck4u9Dm9tsU4mT6Wp9oeEEhaz1WUEs1VuqLf8xzsFG+Qk+uWq6TnMH9O+WRECRg0NftyP9E4Fw==} peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@babel/preset-react@7.29.7': - resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@radix-ui/rect@1.1.3': + resolution: {integrity: sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==} - '@babel/preset-typescript@7.29.7': - resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@shikijs/core@4.6.0': + resolution: {integrity: sha512-bfd4OKgvoyXYiYmMRuleA656P4V7M/Du9lcTl38Ngm6KszMj7bq4J1IGZwSYR4c95Tv5UQALtYNWUwaI9UT3xw==} + engines: {node: '>=20'} - '@babel/runtime@7.29.7': - resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} - engines: {node: '>=6.9.0'} + '@shikijs/engine-javascript@4.6.0': + resolution: {integrity: sha512-K0oqxFoL+kEMdz89mHLFO15Tsbv3kFZ6WR1cXZKMvLSc+oqaM00A6pyga1qSeXB22dP0tTiSApRcGBaKWsEccg==} + engines: {node: '>=20'} - '@babel/template@7.29.7': - resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} - engines: {node: '>=6.9.0'} + '@shikijs/engine-oniguruma@4.6.0': + resolution: {integrity: sha512-aggd6Q7SuJOXNnsUbfG2XesxBJKBMAw/PDTUo9PyRjMaaJJ2dNrI+q0C+25ARXAK9yLHAlwxc9oRT2u68YKZ7w==} + engines: {node: '>=20'} - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} - engines: {node: '>=6.9.0'} + '@shikijs/langs@4.6.0': + resolution: {integrity: sha512-1yMEX3oCVV54LUq/ovfpRkDQoYDkcvjSWFFa/YLUDMiSoRzMi2uxLJYbv41ahT8Lu9lFMaa7hecd3Q39trqUyg==} + engines: {node: '>=20'} - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} - engines: {node: '>=6.9.0'} + '@shikijs/primitive@4.6.0': + resolution: {integrity: sha512-c54+TQEo9ToqgfL/AU8FpjnV09+GA9Oa7M5ROkkXteZfp5XzpAJGXjjvZQFQioJOwm/w/6Z3lIzQstAkl8coag==} + engines: {node: '>=20'} - '@braintree/sanitize-url@7.1.2': - resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + '@shikijs/themes@4.6.0': + resolution: {integrity: sha512-qHAVAs80RiGD+IRuH9G+JPDOEc9A/kHsng4EzCUCwB9bLzW6Z0y9WETh2YyCcADJBmfrIaJ1Jp7KBNP6FHkgtQ==} + engines: {node: '>=20'} - '@chevrotain/types@11.1.2': - resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + '@shikijs/transformers@4.6.0': + resolution: {integrity: sha512-oZ28gYlPOYspv6AD74lCb14AAJugSY/+nJxRWjH42yDbdLAdftVU/PP36tOhb435Sfop2UGWcRGXY7HLLveKCg==} + engines: {node: '>=20'} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} + '@shikijs/types@4.6.0': + resolution: {integrity: sha512-+ENG1adsKt/X7cRYw1Nl7BEpBmPOjmQ7bR/eGmHuMlT8gtOFf3KEi5l31DJYyAWhW6Y6bjP1plU7FmaxWGENFw==} + engines: {node: '>=20'} - '@csstools/cascade-layer-name-parser@2.0.5': - resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@shikijs/vscode-textmate@10.1.0': + resolution: {integrity: sha512-cVBuhDQjBZaNMTwBquYfPydrUP+E3hE6oYGasx8h6ZrODIM7/r+gxLDXdd66oszbrggZHEntdE6j+5gYIVyMWQ==} - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@tailwindcss/node@4.3.3': + resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@tailwindcss/oxide-android-arm64@4.3.3': + resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@tailwindcss/oxide-darwin-arm64@4.3.3': + resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] - '@csstools/media-query-list-parser@4.0.3': - resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@tailwindcss/oxide-darwin-x64@4.3.3': + resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] - '@csstools/postcss-alpha-function@1.0.1': - resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-freebsd-x64@4.3.3': + resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] - '@csstools/postcss-cascade-layers@5.0.2': - resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] - '@csstools/postcss-color-function-display-p3-linear@1.0.1': - resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@csstools/postcss-color-function@4.0.12': - resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] - '@csstools/postcss-color-mix-function@3.0.12': - resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': - resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] - '@csstools/postcss-content-alt-text@2.0.8': - resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib - '@csstools/postcss-contrast-color-function@2.0.12': - resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] - '@csstools/postcss-exponential-functions@2.0.9': - resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] - '@csstools/postcss-font-format-keywords@4.0.0': - resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/oxide@4.3.3': + resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} + engines: {node: '>= 20'} - '@csstools/postcss-gamut-mapping@2.0.11': - resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@tailwindcss/postcss@4.3.3': + resolution: {integrity: sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg==} - '@csstools/postcss-gradients-interpolation-method@5.0.12': - resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - '@csstools/postcss-hwb-function@4.0.12': - resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - '@csstools/postcss-ic-unit@4.0.4': - resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - '@csstools/postcss-initial@2.0.1': - resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - '@csstools/postcss-is-pseudo-class@5.0.3': - resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - '@csstools/postcss-light-dark-function@2.0.11': - resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - '@csstools/postcss-logical-float-and-clear@3.0.0': - resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - '@csstools/postcss-logical-overflow@2.0.0': - resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} - '@csstools/postcss-logical-overscroll-behavior@2.0.0': - resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - '@csstools/postcss-logical-resize@3.0.0': - resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - '@csstools/postcss-logical-viewport-units@3.0.4': - resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - '@csstools/postcss-media-minmax@2.0.9': - resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': - resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - '@csstools/postcss-nested-calc@4.0.0': - resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - '@csstools/postcss-normalize-display-values@4.0.1': - resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-geo@3.1.1': + resolution: {integrity: sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w==} - '@csstools/postcss-oklab-function@4.0.12': - resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - '@csstools/postcss-position-area-property@1.0.0': - resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - '@csstools/postcss-progressive-custom-properties@4.2.1': - resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - '@csstools/postcss-property-rule-prelude-list@1.0.0': - resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - '@csstools/postcss-random-function@2.0.1': - resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - '@csstools/postcss-relative-color-syntax@3.0.12': - resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-random@3.0.4': + resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==} - '@csstools/postcss-scope-pseudo-class@4.0.1': - resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - '@csstools/postcss-sign-functions@1.1.4': - resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - '@csstools/postcss-stepped-value-functions@4.0.9': - resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-selection@3.0.12': + resolution: {integrity: sha512-Qe/KWYhEiIIxGs7HrAAjMfShxKldx19SJtr5zu53f3afPsdZNz7HHtdTLXo/kqeiWNXVycI24kSnfzBYkTzpgw==} - '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1': - resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-shape@3.2.0': + resolution: {integrity: sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==} - '@csstools/postcss-system-ui-font-family@1.0.0': - resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - '@csstools/postcss-text-decoration-shorthand@4.0.3': - resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - '@csstools/postcss-trigonometric-functions@4.0.9': - resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - '@csstools/postcss-unset-value@4.0.0': - resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - '@csstools/selector-resolve-nested@3.1.0': - resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 + '@types/d3-zoom@3.0.9': + resolution: {integrity: sha512-0sE1406XBYJGiqD3AusTl9ZqC//2mIXix51tbom25gDCA8ri4xnSZg28CaSE8Srl6FClqABUKfsn0qghgdepMA==} - '@csstools/selector-specificity@5.0.0': - resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@csstools/utilities@2.0.0': - resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@docsearch/core@4.6.3': - resolution: {integrity: sha512-rUOujwIpxJRgD7+kicVsI3D5sqBvdiRTquzWBpTEXZs8ZXfGbfzpus5HqumaNYTppN2HvH8E2yNuRwYdHJeOlA==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true + '@types/estree@1.0.10': + resolution: {integrity: sha512-lTyOMnOcmRBzdCv6/4zUZCrEhV0xrqQiUZBZtVcbmLHBXKLnN8q89v/wKRF/Q0HbwVsqbIG3o5HDoFl9sduM+g==} - '@docsearch/css@4.6.3': - resolution: {integrity: sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@docsearch/react@4.6.3': - resolution: {integrity: sha512-Bg2wdDsoQVlNCcEKuEJAU04tvHCqgx8rIu+uIoM4pRtcx3TBKJuXutJik3LTA8LRc9YEyHkrYUrmcC0D7BYf+g==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} - '@docusaurus/babel@3.10.1': - resolution: {integrity: sha512-DZzFO1K3v/GoEt1fx1DiYHF4en+PuhtQf1AkQJa5zu3CoeKSpr5cpQRUlz3jr0m44wyzmSXu9bVpfir+N4+8bg==} - engines: {node: '>=20.0'} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@docusaurus/bundler@3.10.1': - resolution: {integrity: sha512-HIqQPvbqnnQRe4NsBd1774KRarjXqS6wHsWELtyuSs1gCfvixJO2jUGH/OEBtr1Gvzpw+ze5CjGMvSJ8UE1KUw==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/faster': '*' - peerDependenciesMeta: - '@docusaurus/faster': - optional: true + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} - '@docusaurus/core@3.10.1': - resolution: {integrity: sha512-3pf2fXXw0eVk8WnC3T4LIigRDupcpvngpKo9Vy7mYyBhuddc0klDUuZAIfzMoK6z05pdlk6EFC/vBSX43+1O5w==} - engines: {node: '>=20.0'} - hasBin: true - peerDependencies: - '@docusaurus/faster': '*' - '@mdx-js/react': ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@docusaurus/faster': - optional: true + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@docusaurus/cssnano-preset@3.10.1': - resolution: {integrity: sha512-eNfHGcTKCSq6xmcavAkX3RRclHaE2xRCMParlDXLdXVP01/a2e/jKXMj/0ULnLFQSNwwuI62L0Ge8J+nZsR7UQ==} - engines: {node: '>=20.0'} + '@types/node@26.6.6': + resolution: {integrity: sha512-MzQj+8Kx3XI40OmUAE6Qoh58ZMNstNNMwn2nfd3qWsfe7nDNSqJNzes4njhz6AHwrSHOffSLwXU6yb474Q4aog==} - '@docusaurus/faster@3.10.1': - resolution: {integrity: sha512-XTZhE5C1gZ/DaYYMlSk02dwP5vhpQON5QHVz1s3892mSESAywgWanURpXEDAvt4GvGuq7s+XP8rTWHZvfaJmdQ==} - engines: {node: '>=20.0'} + '@types/react-dom@19.3.0': + resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} peerDependencies: - '@docusaurus/types': '*' + '@types/react': ^19.3.0 - '@docusaurus/logger@3.10.1': - resolution: {integrity: sha512-oPjNFnfJsRCkePVjkGrxWGq4MvJKRQT0r9jOP0eRBTZ7Wr9FAbzdP/Gjs0I2Ss6YRkPoEgygKG112OkE6skvJw==} - engines: {node: '>=20.0'} + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} - '@docusaurus/mdx-loader@3.10.1': - resolution: {integrity: sha512-GRmeb/wQ+iXRrFwcHBfgQhrJxGElgCsoTWZYDhccjsZVne1p8MK/EpQVIloXttz76TCe78kKD5AEG9n1xc1oxQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@docusaurus/module-type-aliases@3.10.1': - resolution: {integrity: sha512-YoOZKUdGlp8xSYhuAkGdSo5Ydkbq4V4eK3sD8v0a2hloxCWdQbNBhkc+Ko9QyjpESc0BYcIGM5iHVAy5hdFV6w==} - peerDependencies: - react: '*' - react-dom: '*' + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@docusaurus/plugin-client-redirects@3.10.1': - resolution: {integrity: sha512-LHgd+YDvkhfOHMAE6XtUng3DQNzVM765RqVRrMJgHtzAvfopQhY6ieprqjxDVBdv21cLma6I0jHr+YCZH8fL9A==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@docusaurus/plugin-content-blog@3.10.1': - resolution: {integrity: sha512-mmkgE6Q2+K74tnkou7tXlpDLvoCU/qkSa2GSQ3XUiHWvcebCoDQzS670RR3tO8PmaWlIyWWISYWzZLuMfxunRA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] - '@docusaurus/plugin-content-docs@3.10.1': - resolution: {integrity: sha512-2jRVrtzjf8LClGTHQlwlwuD3wQXRx3WEoF7XUarJ8Ou+0onV+SLtejsyfY9JLpfUh9hPhXM4pbBGkyAY4Bi3HQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] - '@docusaurus/plugin-content-pages@3.10.1': - resolution: {integrity: sha512-huJpaRPMl42nsFwuCXvV8bVDj2MazuwRJIUylI/RSlmZeJssVoZXeCjVf1y+1Drtpa9SKcdGn8yoJ76IRJijtw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] - '@docusaurus/plugin-css-cascade-layers@3.10.1': - resolution: {integrity: sha512-r//fn+MNHkE1wCof8T29VAQezt1enGCpsFxoziBbvLgBM4JfXN2P3rxrBaavHmvLvm7lYkpJeitcDthwnmWCTw==} - engines: {node: '>=20.0'} + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] - '@docusaurus/plugin-debug@3.10.1': - resolution: {integrity: sha512-9KqOpKNfAyqGZykRb9LhIT/vyRF6sm/ykhjj/39JvaJahDS+jZJE0Z1Wfz9q3DUNDTMNN0Q7u/kk4rKKU+IJuA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] - '@docusaurus/plugin-google-analytics@3.10.1': - resolution: {integrity: sha512-8o0P1KtmgdYQHH+oInitPpRWI0Of5XednAX4+DMhQNSmGSRNrsEEHg1ebv35m9AgRClfAytCJ5jA9KvcASTyuA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] - '@docusaurus/plugin-google-gtag@3.10.1': - resolution: {integrity: sha512-pu3xIUo5o/zCMLfUY9BO5KOwSH0zIsAGyFRPvXHayFSA5XIhCU/SFuB0g0ZNjFn9niZLCaNvoeAuOGFJZq0fdw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] - '@docusaurus/plugin-google-tag-manager@3.10.1': - resolution: {integrity: sha512-f6fyGHiCm7kJHBtAisGQS5oNBnpnMTYQZxDXeVrnw/3zWU+LMA22pr6UHGYkBKDbN+qPC5QHG3NuOfzQLq3+Lw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] - '@docusaurus/plugin-sitemap@3.10.1': - resolution: {integrity: sha512-C26MbmmqgdjkDq1htaZ3aD7LzEDKFWXfpyQpt0EOUThuq5nV77zDaedV20yHcVo9p+3ey9aZ4pbHA0D3QcZTzg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] - '@docusaurus/plugin-svgr@3.10.1': - resolution: {integrity: sha512-6SFxsmjWFkVLDmBUvFK6i72QjUwqyQFe4Ovz+SUJophJjOyVG3ZZG5IQpBC/kX/Gfv1yWeU9nWauH6F6Q7QX/Q==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] - '@docusaurus/preset-classic@3.10.1': - resolution: {integrity: sha512-YO/FL8v1zmbxoTso6mjMz/RDjhaTJxb1UpFFTDdY5847LLDCeyYiYlrhyTbgN1RIN3xnkLKZ9Lj1x8hUzI4JOg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] - '@docusaurus/react-loadable@6.0.0': - resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} - peerDependencies: - react: '*' + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] - '@docusaurus/theme-classic@3.10.1': - resolution: {integrity: sha512-VU1RK0qb2pab0si4r7HFK37cYco8VzqLj3u1PspVipSr/z/GPVKHO4/HXbnePqHoWDk8urjyGSeatH0NIMBM1A==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] - '@docusaurus/theme-common@3.10.1': - resolution: {integrity: sha512-0YtmIeoNo1fIw65LO8+/1dPgmDV86UmhMkow37gzjytuiCSQm9xob6PJy0L4kuQEMTLfUOGvkXvZr7GPrHquMA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] - '@docusaurus/theme-mermaid@3.10.1': - resolution: {integrity: sha512-2gxpmln8Pc4EN1oWzshQEx2HTs67jk14v7MmgqGs8ZU7Nm8oihg+fTouof2u4vN8DtB3Fln4cDJu4UprSX1S3Q==} - engines: {node: '>=20.0'} - peerDependencies: - '@mermaid-js/layout-elk': ^0.1.9 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@mermaid-js/layout-elk': - optional: true + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] - '@docusaurus/theme-search-algolia@3.10.1': - resolution: {integrity: sha512-OTaARARVZj2GvkJQjB+1jOIxntRaXea+G+fMsNqrZBAU1O1vJKDW22R7kECOHW27oJCLFN9HKaZeRrfAUyviug==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] - '@docusaurus/theme-translations@3.10.1': - resolution: {integrity: sha512-cLMyaKivjBVWKMJuWqyFVVgtqe8DPJNPkog0bn8W1MDVAKcPdxRFycBfC1We1RaNp7Rdk513bmtW78RR6OBxBw==} - engines: {node: '>=20.0'} + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] - '@docusaurus/tsconfig@3.10.1': - resolution: {integrity: sha512-rYvB7yqkdqWIpAbDzQljGfM4cDBkLTbhmagZBEcsyj6oPUsz47lmW2pYdN1j+7sGFgltbAmQH62xfbrij4Eh6Q==} + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] - '@docusaurus/types@3.10.1': - resolution: {integrity: sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] - '@docusaurus/utils-common@3.10.1': - resolution: {integrity: sha512-5mFSgEADtnFxFH7RLw02QA5MpU5JVUCj0MPeIvi/aF4Fi45tQRIuTwXoXDqJ+1VfQJuYJGz3SI63wmGz4HvXzA==} - engines: {node: '>=20.0'} + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] - '@docusaurus/utils-validation@3.10.1': - resolution: {integrity: sha512-cRv1X69jwaWv47waglllgZVWzeBFLhl53XT/XED/83BerVBTC5FTP8WTcVl8Z6sZOegDSwitu/wpCSPCDOT6lg==} - engines: {node: '>=20.0'} + '@ungap/structured-clone@1.4.0': + resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} - '@docusaurus/utils@3.10.1': - resolution: {integrity: sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==} - engines: {node: '>=20.0'} + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@yuku-core/binding-android-arm64@0.19.0': + resolution: {integrity: sha512-wdL2XmTiZixAOaHk9Z0JJZ8u9Qm8d333Zjpc6gaxXFX+UR5BlsfxZ7a2+2Rm71pamppsPYGUGFq2oVLbh6DISw==} + cpu: [arm64] + os: [android] - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@yuku-core/binding-darwin-arm64@0.19.0': + resolution: {integrity: sha512-7sNJa6XJhyetnTy64jw3NEi4YgUcezHk1G5GH9FSvXAuC8wIlbaOwT9lgq5qo5sspjrZJQlBR1TWflP49uRpMw==} + cpu: [arm64] + os: [darwin] - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@yuku-core/binding-darwin-x64@0.19.0': + resolution: {integrity: sha512-pTC7dYEc59isdyizc3nsuyFNBu2LU5wMYZ1be6UMr59PY/AJNtO1aBLWV0MgL/z7C1nv/2sX4TNjGgKLoeevJw==} + cpu: [x64] + os: [darwin] - '@fortawesome/fontawesome-common-types@6.7.2': - resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==} - engines: {node: '>=6'} + '@yuku-core/binding-freebsd-x64@0.19.0': + resolution: {integrity: sha512-xrZjF6XOEwyLOiDIfrwDdRCS6ghxcJeirNC1KivQhVcUwlRonaU79S3/Uiyx3lBylPnT8qKJ3/aMT+H52nGTJQ==} + cpu: [x64] + os: [freebsd] - '@fortawesome/fontawesome-svg-core@6.7.2': - resolution: {integrity: sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==} - engines: {node: '>=6'} + '@yuku-core/binding-linux-arm-gnu@0.19.0': + resolution: {integrity: sha512-0OyIH53C0I1CbADHn9FSdCfX5qbpeLwJhmOVhonFJNYheybOnkSJ50qGMfTJIb8y5zrwqvLs7FVBvz6Fk8maZg==} + cpu: [arm] + os: [linux] + libc: [glibc] - '@fortawesome/free-brands-svg-icons@6.7.2': - resolution: {integrity: sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q==} - engines: {node: '>=6'} + '@yuku-core/binding-linux-arm-musl@0.19.0': + resolution: {integrity: sha512-z/iPfkCOCSXE34VXNt0uP1ORSW+4mEa9b5CiJcWZeqZH08g49bFU/jRM2T04f+Wpw5mJ6HIzNBiojxeAbrHjeg==} + cpu: [arm] + os: [linux] + libc: [musl] - '@fortawesome/free-regular-svg-icons@6.7.2': - resolution: {integrity: sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==} - engines: {node: '>=6'} + '@yuku-core/binding-linux-arm64-gnu@0.19.0': + resolution: {integrity: sha512-jLNTi+gzaRwBJ+gwhCJ+rDb5dmx/8hEBx93UWd7hjMSqPTL1D1wvVSvXVAldV5kALvju7b0/m51EHEhs4+I1fA==} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@fortawesome/free-solid-svg-icons@6.7.2': - resolution: {integrity: sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==} - engines: {node: '>=6'} + '@yuku-core/binding-linux-arm64-musl@0.19.0': + resolution: {integrity: sha512-YwyPIdW/rN2Fmv0MTFWi47FaB3F9g+2b+sJISyAw83Yd60RWH4T3Nx6XkAHHVN+uKJNBAd6So7/BVihSiFYvuQ==} + cpu: [arm64] + os: [linux] + libc: [musl] - '@fortawesome/react-fontawesome@0.2.6': - resolution: {integrity: sha512-mtBFIi1UsYQo7rYonYFkjgYKGoL8T+fEH6NGUpvuqtY3ytMsAoDaPo5rk25KuMtKDipY4bGYM/CkmCHA1N3FUg==} - deprecated: v0.2.x is no longer supported. Unless you are still using FontAwesome 5, please update to v3.1.1 or greater. - peerDependencies: - '@fortawesome/fontawesome-svg-core': ~1 || ~6 || ~7 - react: ^16.3 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@yuku-core/binding-linux-x64-gnu@0.19.0': + resolution: {integrity: sha512-/vskaAXVX3ESR43FiTdfiYS7z1b9uoQJwVQ/0RgUHgN2sWoAyCZs+aX4CgU7eKGIHTVfp9VFwv+c+2XchYiEtQ==} + cpu: [x64] + os: [linux] + libc: [glibc] - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + '@yuku-core/binding-linux-x64-musl@0.19.0': + resolution: {integrity: sha512-FuXL5igeSKib9Rye02TdH+D6SQezTyGxIATMu1Qsn/QywrzwpGl35OLpS2C1x5vpGLeVE2XgiLd5mVPFHmIglQ==} + cpu: [x64] + os: [linux] + libc: [musl] - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@yuku-core/binding-win32-arm64@0.19.0': + resolution: {integrity: sha512-YuJAe7zEKT1Xa7LuHlhGJpPnYQeVtvo0rZvNjJRqkH0hQGOw4C8QeP30Tg5VKGzZfo2x8CjhjEhKt4TmLwfmdg==} + cpu: [arm64] + os: [win32] - '@iconify/react@5.2.1': - resolution: {integrity: sha512-37GDR3fYDZmnmUn9RagyaX+zca24jfVOMY8E1IXTqJuE8pxNtN51KWPQe3VODOWvuUurq7q9uUu3CFrpqj5Iqg==} - peerDependencies: - react: '>=16' + '@yuku-core/binding-win32-x64@0.19.0': + resolution: {integrity: sha512-o8iY/mXwlRkedp0LNTr4+TEfXTPQwoNZmv6k+1WIAd1ZXEn8xJJTBCtB0osaVvdZo/x/cNmV16UrWrrGpM5Mvw==} + cpu: [x64] + os: [win32] - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + '@yuku-toolchain/types@0.19.0': + resolution: {integrity: sha512-tFkNbsP4WXX9UMUC5syJGdK9dPMLK0PPaIuXCcCYH75sZ8MrebfBZ2XvCILRTw8AgLivSSCfDa4R67iYBDa4Kg==} - '@iconify/utils@3.1.3': - resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} + engines: {node: '>=0.4.0'} + hasBin: true - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + baseline-browser-mapping@2.11.34: + resolution: {integrity: sha512-Aqr8mA1kIvyJ3UY5YAY7ib8LSo1DmDMbMnVqGPtsKW1LxaFQFwn9Eb3yvq2fUKJsRvaXjnAV7R5osqETapzNiA==} engines: {node: '>=6.0.0'} + hasBin: true - '@jridgewell/source-map@0.3.11': - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + caniuse-lite@1.0.30001820: + resolution: {integrity: sha512-gfWD6MxqVCqAOwmODfZf7DchWvlrA+SRdNX7ceLfg3xRqe5ssjjpF7EgslC/0tiLiNTajdaNN/q8c/5u/7Gz8w==} - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - '@jsonjoy.com/base64@1.1.2': - resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - '@jsonjoy.com/base64@17.67.0': - resolution: {integrity: sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - '@jsonjoy.com/buffers@1.2.1': - resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - '@jsonjoy.com/buffers@17.67.0': - resolution: {integrity: sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - '@jsonjoy.com/codegen@1.0.0': - resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + chevrotain@13.2.0: + resolution: {integrity: sha512-GTouk5YzgBxlTPCaDn5q0q2EJKkrYmnPF+HmF8v0Qo4r3iyPG7HJivkN1wthCXZcm3sIcZFpGTRovLPNdJNRCA==} + engines: {node: '>=22.0.0'} - '@jsonjoy.com/codegen@17.67.0': - resolution: {integrity: sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + chokidar@6.0.0: + resolution: {integrity: sha512-Ec2Z7wpcKBiMpR7DxteoqS/sq5G5d2A4fpxzPv6+fD7xNNdrTghn7L11YwV5EN1B3i72Erc3XVT5FkWIDx90+A==} + engines: {node: '>= 22.22'} - '@jsonjoy.com/fs-core@4.57.6': - resolution: {integrity: sha512-uI++Wx6VkBJqVmkb4ZeExwAVpZiA2Do5NrEtXoDk0Pdvce3ytFXJoviT1sLOj16+qDIMnD5nWPfOhVpnDmRJKg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - '@jsonjoy.com/fs-fsa@4.57.6': - resolution: {integrity: sha512-pKkw/yC5CzSZKhIIUIsH1przOa+K5jGmZIg1sWaSF24JojyrUFbjcQv7QrcGAudriei6HQ6R0BFj+V8NbQinJw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - '@jsonjoy.com/fs-node-builtins@4.57.6': - resolution: {integrity: sha512-V4DgEFT3Cg5S9fCMOZSCVdTxdJWWLBO0WnAazV7hnCM96u5zXHyW/ubDAfcSVwqjkMJ50W1Y44IXtxRoIwaCVg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} - '@jsonjoy.com/fs-node-to-fsa@4.57.6': - resolution: {integrity: sha512-+JptNw3iifihxH2rEXrninDzX4FFVW8JD/wPR8GbJPAeL9CQUSblrlumOPB5gZuS7tYRX+PJPLtT7XzKoRhv/Q==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cn@0.5.2: + resolution: {integrity: sha512-wm10E6iuJ37rALOw3D+3cfaXXZSLNMh2uxpQn3dNICqfJM59yXqgbA9/9Iiz155j5kYNLdK6WreNdW3NQtx3OQ==} + engines: {node: '>=22'} + hasBin: true - '@jsonjoy.com/fs-node-utils@4.57.6': - resolution: {integrity: sha512-foyUrfS7WmYEUzqYXSNxmJBcSj04TABrkpFabwO9SCDCpVCfJ+qG+2sk5FjfiflG2n0SDFZDCJ6vYlJAEpxJFg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - '@jsonjoy.com/fs-node@4.57.6': - resolution: {integrity: sha512-Kbn1jdkvDN4F2+BhoB6mMu7NCbhP0bgA5NcI1aJj/Q5UcU+I1JLLW+dEQean33iV4tXv35AzBVKPICnDltBpxw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - '@jsonjoy.com/fs-print@4.57.6': - resolution: {integrity: sha512-96eAn4Dudtt67LTeuU47yUD+pg9/G/oKpI10zei9ljk3X3WK4lYKc+n3cpaPCAbKPzoyfxl0mXm8f8Y7BOSFXw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + commander@15.0.0: + resolution: {integrity: sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==} + engines: {node: '>=22.12.0'} - '@jsonjoy.com/fs-snapshot@4.57.6': - resolution: {integrity: sha512-V57CMzbOgTzUWGOWQ8GzHQdpJP6JnrYVNCtTBNxVYEnlVRvo4uEJqHhtAT8vhDFrIuJOXLrTL1Fki4h5oI7xxg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pack@1.21.0': - resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} - '@jsonjoy.com/json-pack@17.67.0': - resolution: {integrity: sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - '@jsonjoy.com/json-pointer@1.0.2': - resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - '@jsonjoy.com/json-pointer@17.67.0': - resolution: {integrity: sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - '@jsonjoy.com/util@1.9.0': - resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - '@jsonjoy.com/util@17.67.0': - resolution: {integrity: sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==} - engines: {node: '>=10.0'} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: - tslib: '2' - - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - - '@mdx-js/mdx@3.1.1': - resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + cytoscape: ^3.2.0 - '@mdx-js/react@3.1.1': - resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} peerDependencies: - '@types/react': '>=16' - react: '>=16' - - '@mermaid-js/parser@1.1.1': - resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==} - - '@module-federation/error-codes@0.22.0': - resolution: {integrity: sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==} - - '@module-federation/runtime-core@0.22.0': - resolution: {integrity: sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==} - - '@module-federation/runtime-tools@0.22.0': - resolution: {integrity: sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==} - - '@module-federation/runtime@0.22.0': - resolution: {integrity: sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==} - - '@module-federation/sdk@0.22.0': - resolution: {integrity: sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==} + cytoscape: ^3.2.0 - '@module-federation/webpack-bundler-runtime@0.22.0': - resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} + cytoscape@3.34.4: + resolution: {integrity: sha512-msY99tMY8iWTg+sIPGfSqDcPNOt4xcj+v/K/7qUFaCUxxlqnMkUYLBjRUzn9W5CU/R2hrmtJa5+UtovrEM2ctg==} + engines: {node: '>=0.10'} - '@napi-rs/wasm-runtime@1.0.7': - resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [glibc] + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [musl] + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} - engines: {node: '>= 10.0.0'} + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - '@peculiar/asn1-cms@2.7.0': - resolution: {integrity: sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==} + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} - '@peculiar/asn1-csr@2.7.0': - resolution: {integrity: sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==} + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} - '@peculiar/asn1-ecc@2.7.0': - resolution: {integrity: sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==} + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} - '@peculiar/asn1-pfx@2.7.0': - resolution: {integrity: sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==} + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} - '@peculiar/asn1-pkcs8@2.7.0': - resolution: {integrity: sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==} + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - '@peculiar/asn1-pkcs9@2.7.0': - resolution: {integrity: sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==} + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} - '@peculiar/asn1-rsa@2.7.0': - resolution: {integrity: sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==} + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} - '@peculiar/asn1-schema@2.7.0': - resolution: {integrity: sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==} + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} - '@peculiar/asn1-x509-attr@2.7.0': - resolution: {integrity: sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==} + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - '@peculiar/asn1-x509@2.7.0': - resolution: {integrity: sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==} + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} - '@peculiar/utils@2.0.3': - resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} - '@peculiar/x509@1.14.3': - resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} - engines: {node: '>=20.0.0'} + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} - '@pnpm/config.env-replace@1.1.0': - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} - '@pnpm/network.ca-file@1.0.2': - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 - '@pnpm/npm-conf@3.0.2': - resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - '@polka/url@1.0.0-next.29': - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} - '@rspack/binding-darwin-arm64@1.7.11': - resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} - cpu: [arm64] - os: [darwin] + dagre-d3-es@7.0.14: + resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} - '@rspack/binding-darwin-x64@1.7.11': - resolution: {integrity: sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==} - cpu: [x64] - os: [darwin] + dayjs@1.11.23: + resolution: {integrity: sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ==} - '@rspack/binding-linux-arm64-gnu@1.7.11': - resolution: {integrity: sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==} - cpu: [arm64] - os: [linux] - libc: [glibc] + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - '@rspack/binding-linux-arm64-musl@1.7.11': - resolution: {integrity: sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==} - cpu: [arm64] - os: [linux] - libc: [musl] + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - '@rspack/binding-linux-x64-gnu@1.7.11': - resolution: {integrity: sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==} - cpu: [x64] - os: [linux] - libc: [glibc] + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} - '@rspack/binding-linux-x64-musl@1.7.11': - resolution: {integrity: sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==} - cpu: [x64] - os: [linux] - libc: [musl] + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - '@rspack/binding-wasm32-wasi@1.7.11': - resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} - cpu: [wasm32] + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} - '@rspack/binding-win32-arm64-msvc@1.7.11': - resolution: {integrity: sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==} - cpu: [arm64] - os: [win32] + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - '@rspack/binding-win32-ia32-msvc@1.7.11': - resolution: {integrity: sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==} - cpu: [ia32] - os: [win32] + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - '@rspack/binding-win32-x64-msvc@1.7.11': - resolution: {integrity: sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==} - cpu: [x64] - os: [win32] + dompurify@3.4.17: + resolution: {integrity: sha512-B/pSlYVHQ58kqISD/yDjuJ1yfzI34m1gF4lAod2bwSRhiN4K5Cl3H8Af7hqB2PmTL911tdEudnnXn5FnhRoz0w==} - '@rspack/binding@1.7.11': - resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} + elkjs@0.9.3: + resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} - '@rspack/core@1.7.11': - resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} - engines: {node: '>=18.12.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true + enhanced-resolve@5.26.0: + resolution: {integrity: sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==} + engines: {node: '>=10.13.0'} - '@rspack/lite-tapable@1.1.0': - resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} + es-toolkit@1.53.1: + resolution: {integrity: sha512-VhMc6IXmexu8iYFfL2aaAww6IvJTdHlqBLruLoEUs33YD4IcP5DdZcLOybMsMmmLsiy1c8PsiLsrM0DdIuuRUA==} - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true - '@sinclair/typebox@0.27.10': - resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - '@sindresorhus/is@5.6.0': - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - '@slorber/react-helmet-async@1.3.0': - resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - '@slorber/remark-comment@1.0.0': - resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + estree-util-scope@1.0.1: + resolution: {integrity: sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + estree-util-value-to-estree@3.5.0: + resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - '@svgr/babel-plugin-svg-dynamic-title@8.0.0': - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - '@svgr/babel-plugin-svg-em-dimensions@8.0.0': - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - '@svgr/babel-plugin-transform-react-native-svg@8.1.0': - resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} - engines: {node: '>=14'} + framer-motion@14.9.0: + resolution: {integrity: sha512-g1hZu8WoTwgsoVAaqEEcefhvR03cKGtkmrKaRrWpXhnM3LGR8jl1u2qyJ1PMVlO7LKQHE8TTRQYUlMmnrY4L+g==} peerDependencies: - '@babel/core': ^7.0.0-0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + remix: ^3.1.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + remix: + optional: true - '@svgr/babel-plugin-transform-svg-component@8.0.0': - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} + fumadocs-core@16.17.10: + resolution: {integrity: sha512-PU/G7T7rNBOnyvzjKKA5FlbokjtVMrTOurFSf4deFfIBMHsdvRol8m7rmVZMsviu5Ia9BfYby7A55znpv7UR0w==} + peerDependencies: + '@mdx-js/mdx': '*' + '@mixedbread/sdk': 0.x.x + '@modelcontextprotocol/server': 2.x.x + '@orama/core': 1.x.x + '@oramacloud/client': 2.x.x + '@pierre/highlights': ^0.2.0 + '@tanstack/react-router': 1.x.x + '@types/estree-jsx': '*' + '@types/hast': '*' + '@types/mdast': '*' + '@types/react': '*' + algoliasearch: 5.x.x + flexsearch: '*' + lucide-react: '*' + meilisearch: '>=0.50.0 <1.0.0' + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + react-router: 7.x.x || 8.x.x + waku: '*' + zod: 4.x.x + peerDependenciesMeta: + '@mdx-js/mdx': + optional: true + '@mixedbread/sdk': + optional: true + '@modelcontextprotocol/server': + optional: true + '@orama/core': + optional: true + '@oramacloud/client': + optional: true + '@pierre/highlights': + optional: true + '@tanstack/react-router': + optional: true + '@types/estree-jsx': + optional: true + '@types/hast': + optional: true + '@types/mdast': + optional: true + '@types/react': + optional: true + algoliasearch: + optional: true + flexsearch: + optional: true + lucide-react: + optional: true + meilisearch: + optional: true + next: + optional: true + react: + optional: true + react-dom: + optional: true + react-router: + optional: true + waku: + optional: true + zod: + optional: true + + fumadocs-mdx@15.4.10: + resolution: {integrity: sha512-myAtUxJ174py2fK5l4m608zfVEPQzB8UpjahcdegJWt7C1AfcsTn+M7aBziSShYgn9UvrBZJMLR8PgPPk6c+Sg==} + hasBin: true peerDependencies: - '@babel/core': ^7.0.0-0 + '@fumadocs/satteri': 0.x.x + '@types/mdast': '*' + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: ^16.17.8 + mdast-util-directive: '*' + next: ^15.3.0 || ^16.0.0 + react: ^19.2.0 + rolldown: '*' + satteri: ^0.10.5 + vite: 7.x.x || 8.x.x + peerDependenciesMeta: + '@fumadocs/satteri': + optional: true + '@types/mdast': + optional: true + '@types/mdx': + optional: true + '@types/react': + optional: true + mdast-util-directive: + optional: true + next: + optional: true + react: + optional: true + rolldown: + optional: true + satteri: + optional: true + vite: + optional: true - '@svgr/babel-preset@8.1.0': - resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} - engines: {node: '>=14'} + fumadocs-ui@16.17.10: + resolution: {integrity: sha512-cPgHtHTzB1q5dTXoTAZqFXmq5VZOG00+Plv5sv06yzG58akXeuO2tNFXl+FUZpHcMncVyup/+DoxQGzwoFoWdA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: 16.17.10 + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + takumi-js: '*' + peerDependenciesMeta: + '@types/mdx': + optional: true + '@types/react': + optional: true + next: + optional: true + takumi-js: + optional: true - '@svgr/core@8.1.0': - resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} - engines: {node: '>=14'} + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} - '@svgr/hast-util-to-babel-ast@8.0.0': - resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} - engines: {node: '>=14'} + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - '@svgr/plugin-jsx@8.1.0': - resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - '@svgr/plugin-svgo@8.1.0': - resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - '@svgr/webpack@8.1.0': - resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} - engines: {node: '>=14'} + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - '@swc/core-darwin-arm64@1.15.40': - resolution: {integrity: sha512-PaYyclfmQ++77D8ityYvmmVzHv9aG8ROwt2GfG6/ccloy4Hgf80qtOnzb9VYvPsUT7Ty1uhuDRhv3XYpf62qhQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - '@swc/core-darwin-x64@1.15.40': - resolution: {integrity: sha512-HbbPzvfLBUXjIB1Ezks+//lNUjmLjfyd63XSwprJgrZaXYdm70kohXPJUWdqKZozolFxbPaO+xtBaiUp6BoueA==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} - '@swc/core-linux-arm-gnueabihf@1.15.40': - resolution: {integrity: sha512-SlRZsCjOCPR2LvFs0Ri/Xrx/5o5TCt8vl4gW6mX1hEZOG0a625RxzRHpHdAQNGykmAN/7IeaFAJG+QnNmxlHcA==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] + hast-util-to-html@9.0.6: + resolution: {integrity: sha512-1SZUxCN3TtJAE7e2BQN2MBHsoZ1gnmi9GoCP5Di59CSWptIezSAW09yDZyVbanb78V9eCwrKqdQsjtfVTxYHWA==} - '@swc/core-linux-arm64-gnu@1.15.40': - resolution: {integrity: sha512-Q8byxJt2fh8CR3EUX6snBpy47AoBVm+In/+Z3rjDHMjC38ZvR9/gtUUNCT0tfrn4EdVsO8/QPi59nxrxvqxvBQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [glibc] + hast-util-to-jsx-runtime@2.3.7: + resolution: {integrity: sha512-F7DNV2NMcTxA4GqPVHnXzX+mpoPHAIY9rJAVH3CZ1FdBZOcBUEjUuvMkMpHVs/sicEtznh9tMGj5WUR9S4E2rg==} - '@swc/core-linux-arm64-musl@1.15.40': - resolution: {integrity: sha512-4z0MgHU+7M0pZDqBN1El7mFXDI1SBwinfcUkAyA4v8QrhOIUOZltySt2aStQLZGrdXVXM4Y4ylfiTC04ED+MoQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [musl] + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - '@swc/core-linux-ppc64-gnu@1.15.40': - resolution: {integrity: sha512-fLI4iUgeSZu0eRWUXwe6YzPFx9gHbFiPkl8Rp3mJfP8OpNR3nTQCGPvHdDh9xniW7mVvgMY4ni7A4VzqI1KrpA==} - engines: {node: '>=10'} - cpu: [ppc64] - os: [linux] - libc: [glibc] + hastscript@9.0.3: + resolution: {integrity: sha512-1ALZXSmCGmW3h8AMz4R4+QKSKFi7sNgXLVwmwB8FYVtl1CwQ3WDkSAEY/d5tp1g/vbQgq2s1WlHgfO3jbw1TsA==} - '@swc/core-linux-s390x-gnu@1.15.40': - resolution: {integrity: sha512-YqeKMAb7d4nQSGMJQ454IlaCENpzcDqhvBE9+CPfdnYpnUXxd+BSrB6Xk0YjW8UyoEhUj4p6quATCxbsp6J3jg==} - engines: {node: '>=10'} - cpu: [s390x] - os: [linux] - libc: [glibc] + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - '@swc/core-linux-x64-gnu@1.15.40': - resolution: {integrity: sha512-7HOuS1iGcme/j/TuL1TfmmLGiMQrjv/GmjyZeydl00FKPtpGXEldwqfI56xgd1YzrzoB2svWjxbGGyQ0TEASxg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [glibc] + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} - '@swc/core-linux-x64-musl@1.15.40': - resolution: {integrity: sha512-h4kZYHc7dpc9P9u4brRJaS8Pl7tPVHAeiLSzw7T5RfIJgAoSdaCMKzI/2Uay9gFhaw8uyCDl0L5q37r0EpAfIA==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [musl] + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - '@swc/core-win32-arm64-msvc@1.15.40': - resolution: {integrity: sha512-+mQgKZXSj6mV38Zh05QaxSjUDmGP/R2JWlXZTDLSPkDzHU6p3GxN9eeSf5dfyDVU86946fmCvSzyl/ucImx8+A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - '@swc/core-win32-ia32-msvc@1.15.40': - resolution: {integrity: sha512-yvwdPLGd25mcj/mNatjNQ0lZujtQD6psH3v9PNmMb+fSzjbNG8KIDxjFWrcV+fsFVLOkyOmdJsFmX7NAFjVyPw==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] + inline-style-parser@0.2.9: + resolution: {integrity: sha512-IttN8BqKLxzUrnTqHI+/hwAJQItBAUjdoHERCDv+oOuX48VP6bzW8+QjOXSfoevzq3YrYAwX1uLHp8TqO9yIeg==} - '@swc/core-win32-x64-msvc@1.15.40': - resolution: {integrity: sha512-OXtKsLU1bVtInzzDEAY2sYiF/rl4tvAnLLLpuMp3HzAOQZ5A+i69AKDhA1YLQTaMAqO3vzyYNVAYVRMPtSYD4w==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - '@swc/core@1.15.40': - resolution: {integrity: sha512-2kwzJikRvgtNAG7MwVZY2vEzZjTxKIq5jXOihuSV/8U+Hej8Va22t65aKnJZs3P+NwojZvR8Mf8kyM7O+V8sQg==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '>=0.5.17' - peerDependenciesMeta: - '@swc/helpers': - optional: true + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - '@swc/html-darwin-arm64@1.15.40': - resolution: {integrity: sha512-A9oxSh60pMEsX/4VBpn3e6s8DfGWsHzAeG+Vd9mXgkTqt/ouX12owP6RyqfqK8v0WuEsBKkGY0+MbwLvlOG8NQ==} - engines: {node: '>=10'} + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + katex@0.18.10: + resolution: {integrity: sha512-/B6p9eY9DX7aHBfpkHdpirDTZ5QH9xTwL9y837PWuzuv41O5jFdqNQwVQEQsimY0/iVNkwBY4+4hMfhQ7d4Dbw==} + hasBin: true + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - '@swc/html-darwin-x64@1.15.40': - resolution: {integrity: sha512-GZ5KxJ/1pqnpOAjaa9hnkSk3M1LHjc5ci5GCt5/llAgDKFLDHzydIflHXTOIaS4nRCtfVMmD0joKX+ZWruSkJw==} - engines: {node: '>=10'} + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - '@swc/html-linux-arm-gnueabihf@1.15.40': - resolution: {integrity: sha512-Bbwtl0G6vYcWlDQmjeuyFx8YIvqi1StlQWjRNB1ZtvrRNL3JadFARhijBONiUIyTK9MgUbWtTV3QU69qzjNENQ==} - engines: {node: '>=10'} + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - '@swc/html-linux-arm64-gnu@1.15.40': - resolution: {integrity: sha512-buu4fGyCIhkwmCetI4CfWOPn7cphJHwQ9ksK685hlL0R0PUaDCNdIxo+JAz0mK2JgPhoGqnKsVEmV6gLIL5GBw==} - engines: {node: '>=10'} + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@swc/html-linux-arm64-musl@1.15.40': - resolution: {integrity: sha512-BwWtpAGEHIP1QwKExWqBIjGpAHMahjT26ORZv3+TbwW4IuEl2QP5FrcYc30O8abCG5J1lWRl1vXKYDpzbIDz1A==} - engines: {node: '>=10'} + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - '@swc/html-linux-ppc64-gnu@1.15.40': - resolution: {integrity: sha512-wLtHgwmZu5K7PvuTROklgWJO6D+KwywpYR1geI8dSWX/AYnx/KCGVK9ncPzWVfnLXWhXbkgua3Ujdrfoxf+qSw==} - engines: {node: '>=10'} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@swc/html-linux-s390x-gnu@1.15.40': - resolution: {integrity: sha512-WbWzQBCmvECZG6ep9D5SMMZTFCbFmRSCc7lPD3YhhaK16BNqr1AybvybZYOgxX9Ot5tq7gTWCgjFZXLDOn6Y/g==} - engines: {node: '>=10'} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@swc/html-linux-x64-gnu@1.15.40': - resolution: {integrity: sha512-i+/JqL5j9mTGMcVshWLMzciqyE3Np+gN5+UqMyO1D5zSmniJD5MHRlGXCtLaWx/MIKX0Q4Xkre33o56fmxp+uA==} - engines: {node: '>=10'} + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - '@swc/html-linux-x64-musl@1.15.40': - resolution: {integrity: sha512-mroZnb5omFc4iE01UsJgta+Nm0sIFWpGfTPk+BHfH165MZAM4wNndeczX5RpGZbQSF1nNpCoNgqJyT7l3hITMg==} - engines: {node: '>=10'} + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - '@swc/html-win32-arm64-msvc@1.15.40': - resolution: {integrity: sha512-qg1LXRrsY9FXy0S7vouSF0kkn1vdkTD//FW66iuezH7HMm5/DJGwEj7oc1zTKPWU0HnwOINOUbl6rUHrRuXHAQ==} - engines: {node: '>=10'} + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - '@swc/html-win32-ia32-msvc@1.15.40': - resolution: {integrity: sha512-5NwMmgt9A70LQzcYOl4OiIJk5AhsGP69fNRfkmXXop+iIcAGUmYy+d6F2/Gc0u05j9G0R04NPWcHBQrHQhr0Gw==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - - '@swc/html-win32-x64-msvc@1.15.40': - resolution: {integrity: sha512-WUNZqCZ+8WY1pr8t3X3fq4gI5+FL/tCCzlrJ2lLn0s+TyA2SLm/RPfXxQIr94EnjJWcIV21G//6/uXeBN8cPzw==} - engines: {node: '>=10'} + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - '@swc/html@1.15.40': - resolution: {integrity: sha512-YVWNrh3wZWH2oXz7uL+s1WZbFIsnAp9cCl/b+C7ufDJqhsOvbr0un9IOYZ/CxRIRdnHGfhVD199n8baD/kRQew==} - engines: {node: '>=14'} + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} - '@swc/types@0.1.26': - resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} - '@szmarczak/http-timer@5.0.1': - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + lucide-react@1.66.0: + resolution: {integrity: sha512-8zjbi/Us+ETXqfBwmXF/FHrWGIqOdE6zT1yUdRJLQVoptomSkB0zdFWVIM667t9K8djWDaXdkBkqi2qVTuDNiw==} + peerDependencies: + '@types/react': '*' + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@types/body-parser@1.19.6': - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - '@types/bonjour@3.5.13': - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + magic-string@1.4.5: + resolution: {integrity: sha512-oLLC2+YvQUfAa+vxoufE/yc1icb87M9iXIRqAoR/2EhE/8cb3SF/+Gi0c2By1B+5Vz2e2vQtUvHiu1+63Znh+w==} - '@types/connect-history-api-fallback@1.5.4': - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + mdast-util-find-and-replace@3.0.4: + resolution: {integrity: sha512-z4B5c6jrnJ1ltOQemhWYPBSAo6y42Z8Gt2yEgfgNTMcLSU59B8bfj8Z8AnAlJrBGLnqkdAUZ7jdDEqQw3KuipQ==} - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + mdast-util-from-markdown@2.1.0: + resolution: {integrity: sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==} - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + mdast-util-gfm-strikethrough@2.0.1: + resolution: {integrity: sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==} - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + mdast-util-to-markdown@2.2.1: + resolution: {integrity: sha512-ThatlCBxG2GE+mljhNSfZPv56d3QrGiRh97jjYgIk80IzS4uU6d7cHAaexCYSAmUCCcOs3grJ07kX3oTGsFUOw==} - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + mermaid@12.2.0: + resolution: {integrity: sha512-w7nr/SFrLO7BaVTs3dQTvYSV6nYSBj0Yy9DjBhsIJtAcHqRzXSq4Pg32ujHZ/AdWsAMNEvvhbm5dt9E2tOiHzw==} + engines: {node: '>=22.12.0'} - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + micromark-core-commonmark@2.0.4: + resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==} - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + micromark-extension-gfm-table@2.1.2: + resolution: {integrity: sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==} - '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - '@types/estree@1.0.9': - resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - '@types/express-serve-static-core@4.19.8': - resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + micromark-factory-space@2.1.0: + resolution: {integrity: sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==} - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - '@types/gtag.js@0.0.20': - resolution: {integrity: sha512-wwAbk3SA2QeU67unN7zPxjEHmPmlXwZXZvQEpbEUQuMCRGgKyE1m6XDuTUA9b6pCGb/GqJmdfMOY5LuDjJSbbg==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - '@types/hast@2.3.10': - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - '@types/history@4.7.11': - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - '@types/html-minifier-terser@6.1.0': - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - '@types/http-cache-semantics@4.2.0': - resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - '@types/http-proxy@1.17.17': - resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + micromark-util-edit-map@1.0.0: + resolution: {integrity: sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==} - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - '@types/mdx@2.0.14': - resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + micromark-util-types@2.0.3: + resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==} - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + micromark@4.0.3: + resolution: {integrity: sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==} - '@types/node@25.9.2': - resolution: {integrity: sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==} + motion-dom@14.9.0: + resolution: {integrity: sha512-wGjKbNDMHd75aLStkxLCKZ+T8/wusZHklmNLK1Ak68UrdBt2X8I4yweYR/0WonxGnBsw6oloDTIV8pN+UTvzzA==} - '@types/parse5@5.0.3': - resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} + motion-utils@14.7.0: + resolution: {integrity: sha512-woO0/Nb7ys75f94fjvQi/6leiHGvZUYkeHUPEZ3vxsV+9OpEVhkxp01x8MlRwX0zt31EqgXsKDAoBoJLC148Tw==} - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + motion@14.9.0: + resolution: {integrity: sha512-Oc+jjq/AyhwsnEUaAq2xEu/SsfKTphgsXqoxddTSLzgTdXZc6FwHcp9RLGSECccTykN1/p3gWUN4kMJAamm+1g==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + remix: ^3.1.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + remix: + optional: true - '@types/qs@6.15.1': - resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - '@types/react-router-config@5.0.11': - resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - '@types/react-router-dom@5.3.3': - resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + next@16.4.4: + resolution: {integrity: sha512-Hu4pOw2x0RQ0TQabNWbpsNg/3+SZf+rLQwvfhBLnptv98GS4dcIVMlfEyn9jb2/ZJDSahhnUKEs0YrfarjGX3A==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true - '@types/react-router@5.1.20': - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + npm-to-yarn@3.2.0: + resolution: {integrity: sha512-K1HmQeZT2HrjpsR6KgqbN2FAXL2NrJJmNUSD9ck7HGTVu1JKXox8n9SB+tjbU8m8JGLF4OscrroPepew/L7/Xw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@types/react@19.2.17': - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} - '@types/retry@0.12.2': - resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} - '@types/sax@1.2.7': - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - '@types/send@1.2.1': - resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - '@types/serve-index@1.9.4': - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} - '@types/sockjs@0.3.36': - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} + engines: {node: ^10 || ^12 || >=14} - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + engines: {node: ^10 || ^12 || >=14} - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} + peerDependencies: + react: ^19.3.1 - '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@ungap/structured-clone@1.3.1': - resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + react-remove-scroll@2.7.2: + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@upsetjs/venn.js@2.0.0': - resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + react@19.3.1: + resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} + engines: {node: '>=0.10.0'} - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + readdirp@5.1.1: + resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==} + engines: {node: '>= 20.19.0'} - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - acorn: ^8.14.0 + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} - acorn-walk@8.3.5: - resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} - engines: {node: '>=0.4.0'} + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} + semver@7.8.6: + resolution: {integrity: sha512-9lpSSU4Mly3mrtruwLs1eLK6+gzbzqeBFwRNjIjE+9LuDpWdYctrQlQ3ej1Ilgi7gknpsTRnPoLP8DpCHqHIJw==} + engines: {node: '>=10'} hasBin: true - address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + sharp@0.35.5: + resolution: {integrity: sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==} + engines: {node: '>=20.9.0'} peerDependencies: - ajv: ^8.0.0 + '@types/node': '*' peerDependenciesMeta: - ajv: + '@types/node': optional: true - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - - ajv@6.15.0: - resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + shiki@4.6.0: + resolution: {integrity: sha512-imjLsVHgPuWhvpU3P+zOekvMYqnel7QmKsFC4Sn0fCuAvaaalBsxwKEsrU8Ko5BdFnZA6Go/8a0RzahS634UgA==} + engines: {node: '>=20'} - ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} + engines: {node: '>=0.10.0'} - algoliasearch-helper@3.29.1: - resolution: {integrity: sha512-6ck2YFudF2Pje7szQoPBiRFTGfd+1I+0I/WfLPGn0bj1kvrFoOQmNyedNiDxTk3/r4IfSLDYk+RA4G7u8H6+yA==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} - algoliasearch@5.53.0: - resolution: {integrity: sha512-OGW1q6b91CRSSeiOnM8LxuR5NYJ2esvw66jUZ4IIvdv+ItNkx3pwLuyR+jaCdbGee4ov5WgUnyPryyh11xvByQ==} - engines: {node: '>= 14.0.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} + style-to-object@2.0.2: + resolution: {integrity: sha512-QmbXPUylqU80HAgTOJeEOdbA40W9KtxmjMhQy+tq+b8F2aoh3aQLuy82hh2jm2qsC9hR9eI0+eQidTMydKcqRA==} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} - ansis@3.17.0: - resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} - engines: {node: '>=14'} + tailwindcss@4.3.3: + resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} - aproba@2.1.0: - resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + ts-dedent@2.3.0: + resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} + engines: {node: '>=6.10'} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + tslib@2.9.1: + resolution: {integrity: sha512-a4Ux9VKuIMHsOS7ENbEq6hK2ZGYIT27Rtl0E4eD9KqwxhKiQeMZE/9xb3IdYwWaSOyIBQLExhQgXDTYoiCxnWA==} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true - asn1js@3.0.10: - resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} - engines: {node: '>=12.0.0'} + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} - hasBin: true + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - autocomplete.js@0.37.1: - resolution: {integrity: sha512-PgSe9fHYhZEsm/9jggbjtVsGXJkPLvd+9mC7gZJ662vVL5CRWEtm/mIrrzCx0MrNxHVwxD5d00UOn6NsmL2LUQ==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - autoprefixer@10.4.23: - resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - babel-loader@9.2.1: - resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - babel-plugin-polyfill-corejs2@0.4.17: - resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + unist-util-visit-parents@6.1.0: + resolution: {integrity: sha512-vKXxz6O38sKDj1mtx/k2cWvkkFBuYGx6uGrlzBkVeWCRF/F8sdI0j3Wbkz/5rVNRRuVc8UrgRdbCxNhmYXgP3w==} - babel-plugin-polyfill-corejs3@0.14.2: - resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + unist-util-visit@5.2.0: + resolution: {integrity: sha512-fpsYs/VVoZxfGY9/j3FQpZmN8wdLJaV1Pt38AaJNZu9uKIHcFU3halCdBveEq1HGKO1OEfJY65w1zvoFV1b3qQ==} + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - babel-plugin-polyfill-regenerator@0.6.8: - resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + uuid@14.0.3: + resolution: {integrity: sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==} + hasBin: true - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - baseline-browser-mapping@2.10.34: - resolution: {integrity: sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==} - engines: {node: '>=6.0.0'} - hasBin: true + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - baseline-browser-mapping@2.9.11: - resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} + engines: {node: '>= 14.6'} hasBin: true - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + yuku-analyzer@0.19.0: + resolution: {integrity: sha512-Iu7DV5cWOQ3ERSA7oBquz/RT5IEGsUyUeCivYs9lQaZ4nSjM31yD17mH616JKcTyVoVWYivsFZ+twT3UyBosTA==} + engines: {node: '>=14.18.0'} - bcp-47-match@1.0.3: - resolution: {integrity: sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==} + yuku-ast@0.19.0: + resolution: {integrity: sha512-PyCsiScaelhxBGzL8dyeJkLqvRZycoh78R31Vrt/WqYrm0hMFoKwIw/X7Dx5mBKLWAMlV9I9HEyBOHnj2gZVyw==} + engines: {node: '>=14.18.0'} - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + yuku-core@0.19.0: + resolution: {integrity: sha512-kYK9e1XdfirNhkipzW0wmMcSWcVF/CWnuugodfVYRCUwvoBefweL9HzB96OiKEhsx78V5WbUxbJqlizMX869Qg==} + engines: {node: '>=14.18.0'} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + zbsearch@4.0.1: + resolution: {integrity: sha512-lmnEEnb93QQcNv7qARDr7jBVPxYdZbZ9XdZ0dbZ0qaOvGne4jJMW4fjwPfVaUKQXv3FNWvGbDwRDgyaSb1pc8w==} + engines: {node: '>= 20.0.0'} - body-parser@1.20.5: - resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} - bonjour-service@1.4.0: - resolution: {integrity: sha512-fGQtj1qdR9vIKjFiWPQd52qIqwjaYqhcI40JEiDuvlZ86E7ZBPBwY9fPgHy9r2rYGIjiRfctNPYz6OQU73ww2w==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} +snapshots: - boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + '@alloc/quick-lru@5.3.0': {} - boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} + '@antfu/install-pkg@2.1.0': + dependencies: + package-manager-detector: 1.9.0 + tinyexec: 1.3.1 - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + '@braintree/sanitize-url@7.1.2': {} - brace-expansion@1.1.15: - resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + '@chevrotain/cst-dts-gen@13.2.0': + dependencies: + '@chevrotain/gast': 13.2.0 + '@chevrotain/types': 13.2.0 - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + '@chevrotain/gast@13.2.0': + dependencies: + '@chevrotain/types': 13.2.0 - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + '@chevrotain/regexp-to-ast@13.2.0': {} - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + '@chevrotain/types@13.2.0': {} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + '@chevrotain/utils@13.2.0': {} - bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.9.1 + optional: true - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} + '@esbuild/aix-ppc64@0.28.2': + optional: true - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + '@esbuild/android-arm64@0.28.2': + optional: true - bytestreamjs@2.0.1: - resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} - engines: {node: '>=6.0.0'} + '@esbuild/android-arm@0.28.2': + optional: true - cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} + '@esbuild/android-x64@0.28.2': + optional: true - cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} + '@esbuild/darwin-arm64@0.28.2': + optional: true - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + '@esbuild/darwin-x64@0.28.2': + optional: true - call-bind@1.0.9: - resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} - engines: {node: '>= 0.4'} + '@esbuild/freebsd-arm64@0.28.2': + optional: true - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + '@esbuild/freebsd-x64@0.28.2': + optional: true - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + '@esbuild/linux-arm64@0.28.2': + optional: true - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + '@esbuild/linux-arm@0.28.2': + optional: true - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + '@esbuild/linux-ia32@0.28.2': + optional: true - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + '@esbuild/linux-loong64@0.28.2': + optional: true - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} + '@esbuild/linux-mips64el@0.28.2': + optional: true - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + '@esbuild/linux-ppc64@0.28.2': + optional: true - caniuse-lite@1.0.30001761: - resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} + '@esbuild/linux-riscv64@0.28.2': + optional: true - caniuse-lite@1.0.30001797: - resolution: {integrity: sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==} + '@esbuild/linux-s390x@0.28.2': + optional: true - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + '@esbuild/linux-x64@0.28.2': + optional: true - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + '@esbuild/netbsd-arm64@0.28.2': + optional: true - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + '@esbuild/netbsd-x64@0.28.2': + optional: true - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + '@esbuild/openbsd-arm64@0.28.2': + optional: true - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + '@esbuild/openbsd-x64@0.28.2': + optional: true - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + '@esbuild/openharmony-arm64@0.28.2': + optional: true - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + '@esbuild/sunos-x64@0.28.2': + optional: true - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + '@esbuild/win32-arm64@0.28.2': + optional: true - cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + '@esbuild/win32-ia32@0.28.2': + optional: true - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + '@esbuild/win32-x64@0.28.2': + optional: true - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + '@floating-ui/core@1.8.0': + dependencies: + '@floating-ui/utils': 0.2.12 - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} + '@floating-ui/dom@1.8.0': + dependencies: + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} + '@floating-ui/react-dom@2.1.9(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@floating-ui/dom': 1.8.0 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + '@floating-ui/utils@0.2.12': {} - clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} + '@fuma-translate/react@1.0.2(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + '@fumadocs/tailwind@0.1.5(tailwindcss@4.3.3)': + optionalDependencies: + tailwindcss: 4.3.3 - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} + '@fumari/image-size@0.1.1': {} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} + '@iconify/types@2.0.0': {} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} + '@iconify/utils@3.1.7': + dependencies: + '@antfu/install-pkg': 2.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} + '@img/colour@1.1.0': {} - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + '@img/sharp-darwin-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.4 + optional: true - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + '@img/sharp-darwin-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.4 + optional: true - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + '@img/sharp-freebsd-wasm32@0.35.5': + dependencies: + '@img/sharp-wasm32': 0.35.5 + optional: true - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true + '@img/sharp-libvips-darwin-arm64@1.3.4': + optional: true - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + '@img/sharp-libvips-darwin-x64@1.3.4': + optional: true - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + '@img/sharp-libvips-linux-arm64@1.3.4': + optional: true - combine-promises@1.2.0: - resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} - engines: {node: '>=10'} + '@img/sharp-libvips-linux-arm@1.3.4': + optional: true - comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + '@img/sharp-libvips-linux-ppc64@1.3.4': + optional: true - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + '@img/sharp-libvips-linux-riscv64@1.3.4': + optional: true - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + '@img/sharp-libvips-linux-s390x@1.3.4': + optional: true - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + '@img/sharp-libvips-linux-x64@1.3.4': + optional: true - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': + optional: true - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + '@img/sharp-libvips-linuxmusl-x64@1.3.4': + optional: true - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + '@img/sharp-linux-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.4 + optional: true - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + '@img/sharp-linux-arm@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.4 + optional: true - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + '@img/sharp-linux-ppc64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.4 + optional: true - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + '@img/sharp-linux-riscv64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.4 + optional: true - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} + '@img/sharp-linux-s390x@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.4 + optional: true - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + '@img/sharp-linux-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.4 + optional: true - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + '@img/sharp-linuxmusl-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 + optional: true - configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} + '@img/sharp-linuxmusl-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 + optional: true - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} + '@img/sharp-wasm32@0.35.5': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} + '@img/sharp-webcontainers-wasm32@0.35.5': + dependencies: + '@img/sharp-wasm32': 0.35.5 + optional: true - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + '@img/sharp-win32-arm64@0.35.5': + optional: true - content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} + '@img/sharp-win32-ia32@0.35.5': + optional: true - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + '@img/sharp-win32-x64@0.35.5': + optional: true - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + '@jridgewell/resolve-uri@3.1.2': {} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + '@jridgewell/sourcemap-codec@1.6.0': {} - copy-text-to-clipboard@3.2.2: - resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} - engines: {node: '>=12'} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.6.0 - copy-webpack-plugin@11.0.0: - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.1.0 + '@mdx-js/mdx@3.1.1': + dependencies: + '@types/estree': 1.0.10 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.19.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.1 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.7 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.19.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.2.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color - core-js-compat@3.49.0: - resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} + '@mermaid-js/parser@2.0.1': + dependencies: + '@chevrotain/types': 13.2.0 - core-js@3.49.0: - resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} + '@next/env@16.4.4': {} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + '@next/swc-darwin-arm64@16.4.4': + optional: true - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + '@next/swc-darwin-x64@16.4.4': + optional: true - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + '@next/swc-linux-arm64-gnu@16.4.4': + optional: true - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true + '@next/swc-linux-arm64-musl@16.4.4': + optional: true - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + '@next/swc-linux-x64-gnu@16.4.4': + optional: true - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} + '@next/swc-linux-x64-musl@16.4.4': + optional: true - css-blank-pseudo@7.0.1: - resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@next/swc-win32-arm64-msvc@16.4.4': + optional: true - css-declaration-sorter@7.4.0: - resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 + '@next/swc-win32-x64-msvc@16.4.4': + optional: true - css-has-pseudo@7.0.3: - resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@radix-ui/number@1.1.3': {} - css-loader@6.11.0: - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true + '@radix-ui/primitive@1.2.0': {} - css-minimizer-webpack-plugin@5.0.1: - resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@parcel/css': '*' - '@swc/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - lightningcss: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - '@swc/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true + '@radix-ui/react-accordion@1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-collapsible': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-collection': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - css-prefers-color-scheme@10.0.0: - resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - - css-selector-parser@1.4.1: - resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} - - cssdb@8.9.0: - resolution: {integrity: sha512-J8jOU/hLjaXcO1LldOLraJSQpfLXRKof0I7mtbRyOy2AAXgqst0x9rlgi2qXeD6d0ou3ZLqcPAMqYVbpCbrxEw==} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - cssnano-preset-advanced@6.1.2: - resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-preset-default@6.1.2: - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano@6.1.2: - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.34.0: - resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - - d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} - - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} - - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - dagre-d3-es@7.0.14: - resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} - - dayjs@1.11.21: - resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} - - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} - - decode-named-character-reference@1.3.0: - resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - default-browser-id@5.0.1: - resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} - engines: {node: '>=18'} - - default-browser@5.5.0: - resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} - engines: {node: '>=18'} - - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - delaunator@5.1.0: - resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} - - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - - detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - direction@1.0.4: - resolution: {integrity: sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==} - hasBin: true - - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - - dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} - - docusaurus-lunr-search@3.6.0: - resolution: {integrity: sha512-CCEAnj5e67sUZmIb2hOl4xb4nDN07fb0fvRDDmdWlYpUvyS1CSKbw4lsGInLyUFEEEBzxQmT6zaVQdF/8Zretg==} - engines: {node: '>= 8.10.0'} - peerDependencies: - '@docusaurus/core': ^2.0.0-alpha.60 || ^2.0.0 || ^3.0.0 - react: ^16.8.4 || ^17 || ^18 || ^19 - react-dom: ^16.8.4 || ^17 || ^18 || ^19 - - docusaurus-plugin-sass@0.2.6: - resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} - peerDependencies: - '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha - sass: ^1.30.0 - - dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - dompurify@3.4.8: - resolution: {integrity: sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==} - - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} - - electron-to-chromium@1.5.368: - resolution: {integrity: sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - - emoticon@4.1.0: - resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - enhanced-resolve@5.23.0: - resolution: {integrity: sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==} - engines: {node: '>=10.13.0'} - - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} - - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@2.1.0: - resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} - - es-object-atoms@1.1.2: - resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} - engines: {node: '>= 0.4'} - - es-toolkit@1.47.0: - resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==} - - esast-util-from-estree@2.0.0: - resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} - - esast-util-from-js@2.0.1: - resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-goat@4.0.0: - resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} - engines: {node: '>=12'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-util-attach-comments@3.0.0: - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - - estree-util-build-jsx@3.0.1: - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - - estree-util-scope@1.0.0: - resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} - - estree-util-to-js@2.0.0: - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - - estree-util-value-to-estree@3.5.0: - resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} - - estree-util-visit@2.0.0: - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - eta@2.2.0: - resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} - engines: {node: '>=6.0.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} - - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - express@4.22.2: - resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} - engines: {node: '>= 0.10.0'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} - - file-loader@6.2.0: - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} - - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - follow-redirects@1.16.0: - resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - fs-extra@11.3.5: - resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} - engines: {node: '>=14.14'} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob-to-regex.js@1.2.0: - resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - - has-yarn@3.0.0: - resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hasown@2.0.4: - resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} - engines: {node: '>= 0.4'} - - hast-util-from-parse5@6.0.1: - resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-has-property@1.0.4: - resolution: {integrity: sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==} - - hast-util-is-element@1.1.0: - resolution: {integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==} - - hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - - hast-util-select@4.0.2: - resolution: {integrity: sha512-8EEG2//bN5rrzboPWD2HdS3ugLijNioS1pqOTIolXNf67xxShYw4SQEmVXd3imiBG+U2bC2nVTySr/iRAA7Cjg==} - - hast-util-to-estree@3.1.3: - resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} - - hast-util-to-jsx-runtime@2.3.6: - resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - - hast-util-to-parse5@8.0.1: - resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} - - hast-util-to-string@1.0.4: - resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} - - hast-util-to-text@2.0.1: - resolution: {integrity: sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==} - - hast-util-whitespace@1.0.4: - resolution: {integrity: sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==} - - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - - hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} - - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - - hogan.js@3.0.2: - resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==} - hasBin: true - - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true - - html-minifier-terser@7.2.0: - resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} - engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - - html-webpack-plugin@5.6.7: - resolution: {integrity: sha512-md+vXtdCAe60s1k6AU3dUyMJnDxUyQAwfwPKoLisvgUF1IXjtlLsk2se54+qfL9Mdm26bbwvjJybpNx48NKRLw==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.10: - resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - - http-proxy-middleware@2.0.9: - resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - icss-utils@5.1.0: - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - image-size@2.0.2: - resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} - engines: {node: '>=16.x'} - hasBin: true - - immediate@3.3.0: - resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} - - immutable@5.1.4: - resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - infima@0.2.0-alpha.45: - resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} - engines: {node: '>=12'} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - inline-style-parser@0.2.7: - resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.4.0: - resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} - engines: {node: '>= 10'} - - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-core-module@2.16.2: - resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} - engines: {node: '>= 0.4'} - - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-network-error@1.3.2: - resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} - engines: {node: '>=16'} - - is-npm@6.1.0: - resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - is-wsl@3.1.1: - resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} - engines: {node: '>=16'} - - is-yarn-global@0.4.1: - resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} - engines: {node: '>=12'} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - - js-yaml@4.2.0: - resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@6.2.1: - resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - - katex@0.16.47: - resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - - launch-editor@2.14.1: - resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] - - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - loader-runner@4.3.2: - resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} - engines: {node: '>=6.11.5'} - - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.18.1: - resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - lodash@4.18.1: - resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lunr-languages@1.14.0: - resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} - - lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - - mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - - markdown-extensions@2.0.0: - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} - engines: {node: '>=16'} - - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdast-util-directive@3.1.0: - resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} - - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - - mdast-util-from-markdown@2.0.3: - resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} - - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - - mdast-util-mdx-expression@2.0.1: - resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - - mdast-util-mdx-jsx@3.2.0: - resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} - - mdast-util-mdx@3.0.0: - resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - - mdast-util-mdxjs-esm@2.0.1: - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-hast@13.2.1: - resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memfs@4.57.6: - resolution: {integrity: sha512-WQK+DGjKCnPdpSyJUXphz+COF2uEhhsxQ3VIWBSbzpbbXuch3h4FePMqXrXGdLjsTgo4JFzBFsP6AWd9pVazGw==} - peerDependencies: - tslib: '2' - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - mermaid@11.15.0: - resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micromark-core-commonmark@2.0.3: - resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - - micromark-extension-directive@3.0.2: - resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - - micromark-extension-mdx-expression@3.0.1: - resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} - - micromark-extension-mdx-jsx@3.0.2: - resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} - - micromark-extension-mdx-md@2.0.0: - resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - - micromark-extension-mdxjs-esm@3.0.0: - resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - - micromark-extension-mdxjs@3.0.0: - resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - - micromark-factory-mdx-expression@2.0.3: - resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-events-to-acorn@2.0.3: - resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} - - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-subtokenize@2.1.0: - resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - mini-css-extract-plugin@2.10.2: - resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mkdirp@0.3.0: - resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==} - deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) - - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - - node-releases@2.0.47: - resolution: {integrity: sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==} - engines: {node: '>=18'} - - nopt@1.0.10: - resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} - hasBin: true - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@8.1.1: - resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} - engines: {node: '>=14.16'} - - not@0.1.0: - resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - null-loader@4.0.1: - resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - - p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - - p-retry@6.2.1: - resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} - engines: {node: '>=16.17'} - - p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - - package-json@8.1.1: - resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} - engines: {node: '>=14.16'} - - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-to-regexp@0.1.13: - resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - - path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} - - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} - - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - - pkijs@3.4.0: - resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} - engines: {node: '>=16.0.0'} - - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - - postcss-attribute-case-insensitive@7.0.1: - resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-calc@9.0.1: - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 - - postcss-clamp@4.1.0: - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} - peerDependencies: - postcss: ^8.4.6 - - postcss-color-functional-notation@7.0.12: - resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-hex-alpha@10.0.0: - resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-rebeccapurple@10.0.0: - resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-colormin@6.1.0: - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-convert-values@6.1.0: - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-custom-media@11.0.6: - resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-properties@14.0.6: - resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-selectors@8.0.5: - resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-dir-pseudo-class@9.0.1: - resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-discard-comments@6.0.2: - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-overridden@6.0.2: - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-unused@6.0.5: - resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-double-position-gradients@6.0.4: - resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-visible@10.0.1: - resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-within@9.0.1: - resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-font-variant@5.0.0: - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} - peerDependencies: - postcss: ^8.1.0 - - postcss-gap-properties@6.0.0: - resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-image-set-function@7.0.0: - resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-import@16.1.1: - resolution: {integrity: sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-js@4.1.0: - resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - - postcss-lab-function@7.0.12: - resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - - postcss-loader@7.3.4: - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - - postcss-logical@8.1.0: - resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-merge-idents@6.0.3: - resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-longhand@6.0.5: - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-font-values@6.1.0: - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-gradients@6.0.3: - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-params@6.1.0: - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-modules-extract-imports@3.1.0: - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-values@4.0.0: - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-nesting@13.0.2: - resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-normalize-charset@6.0.2: - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-display-values@6.0.2: - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-positions@6.0.2: - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-repeat-style@6.0.2: - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-string@6.0.2: - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-timing-functions@6.0.2: - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-unicode@6.1.0: - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-url@6.0.2: - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-opacity-percentage@3.0.0: - resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-ordered-values@6.0.2: - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-overflow-shorthand@6.0.0: - resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-page-break@3.0.4: - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} - peerDependencies: - postcss: ^8 - - postcss-place@10.0.0: - resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-preset-env@10.6.1: - resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-pseudo-class-any-link@10.0.1: - resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-reduce-idents@6.0.3: - resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-initial@6.1.0: - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-transforms@6.0.2: - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-replace-overflow-wrap@4.0.0: - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} - peerDependencies: - postcss: ^8.0.3 - - postcss-selector-not@8.0.1: - resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} - engines: {node: '>=4'} - - postcss-sort-media-queries@5.2.0: - resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.4.23 - - postcss-svgo@6.0.3: - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 - - postcss-unique-selectors@6.0.4: - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss-zindex@6.0.2: - resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} - - pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - - pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} - engines: {node: '>=4'} - - prism-react-renderer@2.4.1: - resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} - peerDependencies: - react: '>=16.0.0' - - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - - property-information@7.2.0: - resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pupa@3.3.0: - resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} - engines: {node: '>=12.20'} - - pvtsutils@1.3.6: - resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} - - pvutils@1.1.5: - resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} - engines: {node: '>=16.0.0'} - - qs@6.15.2: - resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} - engines: {node: '>=0.6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-dom@19.2.3: - resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} - peerDependencies: - react: ^19.2.3 - - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - react-json-view-lite@2.5.0: - resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} - engines: {node: '>=18'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - - react-loadable-ssr-addon-v5-slorber@1.0.3: - resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - react-loadable: '*' - webpack: '>=4.41.1 || 5.x' - - react-medium-image-zoom@5.4.0: - resolution: {integrity: sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - react-router-config@5.1.1: - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' - - react-router-dom@5.3.4: - resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} - peerDependencies: - react: '>=15' - - react-router@5.3.4: - resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} - peerDependencies: - react: '>=15' - - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} - engines: {node: '>=0.10.0'} - - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - - recma-build-jsx@1.0.0: - resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - - recma-jsx@1.0.1: - resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - recma-parse@1.0.0: - resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - - recma-stringify@1.0.0: - resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - - reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - registry-auth-token@5.1.1: - resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} - engines: {node: '>=14'} - - registry-url@6.0.1: - resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} - engines: {node: '>=12'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.1: - resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} - hasBin: true - - rehype-parse@7.0.1: - resolution: {integrity: sha512-fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw==} - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - rehype-recma@1.0.0: - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - - relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} - - remark-directive@3.0.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - - remark-emoji@4.0.1: - resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - - remark-mdx@3.1.1: - resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} - hasBin: true - - resolve@1.22.12: - resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} - engines: {node: '>= 0.4'} - hasBin: true - - responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - robust-predicates@3.0.3: - resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - - rtlcss@4.3.0: - resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} - engines: {node: '>=12.0.0'} - hasBin: true - - run-applescript@7.1.0: - resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} - engines: {node: '>=18'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass-loader@16.0.6: - resolution: {integrity: sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - sass: ^1.3.0 - sass-embedded: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - webpack: - optional: true - - sass@1.97.1: - resolution: {integrity: sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==} - engines: {node: '>=14.0.0'} - hasBin: true - - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - schema-dts@1.1.5: - resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} - - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} - - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@5.5.0: - resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} - engines: {node: '>=18'} - - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.8.2: - resolution: {integrity: sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==} - engines: {node: '>=10'} - hasBin: true - - send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - serve-handler@6.1.7: - resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} - - serve-index@1.9.2: - resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} - engines: {node: '>= 0.8.0'} - - serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.4: - resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} - engines: {node: '>= 0.4'} - - side-channel-list@1.0.1: - resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - sitemap@7.1.3: - resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - - sort-css-media-queries@2.2.0: - resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} - engines: {node: '>= 6.3.0'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - - space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - srcset@4.0.0: - resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} - engines: {node: '>=12'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - style-to-js@1.1.21: - resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - - style-to-object@1.0.14: - resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - - stylehacks@6.1.1: - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - stylis@4.4.0: - resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} - - sucrase@3.35.1: - resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - - svgo@3.3.3: - resolution: {integrity: sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==} - engines: {node: '>=14.0.0'} - hasBin: true - - swc-loader@0.2.7: - resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} - peerDependencies: - '@swc/core': ^1.2.147 - webpack: '>=2' - - tailwindcss@3.4.19: - resolution: {integrity: sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==} - engines: {node: '>=14.0.0'} - hasBin: true - - tapable@2.3.3: - resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} - engines: {node: '>=6'} - - terser-webpack-plugin@5.6.1: - resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@minify-html/node': '*' - '@swc/core': '*' - '@swc/css': '*' - '@swc/html': '*' - clean-css: '*' - cssnano: '*' - csso: '*' - esbuild: '*' - html-minifier-terser: '*' - lightningcss: '*' - postcss: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@minify-html/node': - optional: true - '@swc/core': - optional: true - '@swc/css': - optional: true - '@swc/html': - optional: true - clean-css: - optional: true - cssnano: - optional: true - csso: - optional: true - esbuild: - optional: true - html-minifier-terser: - optional: true - lightningcss: - optional: true - postcss: - optional: true - uglify-js: - optional: true - - terser@5.48.0: - resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} - engines: {node: '>=10'} - hasBin: true - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - thingies@2.6.0: - resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} - engines: {node: '>=18'} - - tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} - - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - to-vfile@6.1.0: - resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tree-dump@1.1.0: - resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsyringe@4.10.0: - resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} - engines: {node: '>= 6.0.0'} - - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - - unist-util-find-after@3.0.0: - resolution: {integrity: sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==} - - unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-position-from-estree@2.0.0: - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} - - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} - - unist-util-visit@5.1.0: - resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-notifier@6.0.2: - resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} - engines: {node: '>=14.16'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-loader@4.1.1: - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@14.0.0: - resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - - value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vfile-location@3.2.0: - resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} - - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - - vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} - engines: {node: '>=10.13.0'} - - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - - web-namespaces@1.1.4: - resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} - - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true - - webpack-dev-middleware@7.4.5: - resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - - webpack-dev-server@5.2.4: - resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==} - engines: {node: '>= 18.12.0'} - hasBin: true - peerDependencies: - webpack: ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - - webpack-merge@6.0.1: - resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} - engines: {node: '>=18.0.0'} - - webpack-sources@3.5.0: - resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} - engines: {node: '>=10.13.0'} - - webpack@5.107.2: - resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - webpackbar@7.0.0: - resolution: {integrity: sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@rspack/core': '*' - webpack: 3 || 4 || 5 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - websocket-driver@0.7.5: - resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.11: - resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.21.0: - resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} - engines: {node: '>= 14.6'} - hasBin: true - - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - - zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@algolia/abtesting@1.19.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-core@1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-plugin-algolia-insights@1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)': - dependencies: - '@algolia/client-search': 5.46.1 - algoliasearch: 5.53.0 - - '@algolia/autocomplete-shared@1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)': - dependencies: - '@algolia/client-search': 5.46.1 - algoliasearch: 5.53.0 - - '@algolia/client-abtesting@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-analytics@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-common@5.46.1': {} - - '@algolia/client-common@5.53.0': {} - - '@algolia/client-insights@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-personalization@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-query-suggestions@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-search@5.46.1': - dependencies: - '@algolia/client-common': 5.46.1 - '@algolia/requester-browser-xhr': 5.46.1 - '@algolia/requester-fetch': 5.46.1 - '@algolia/requester-node-http': 5.46.1 - - '@algolia/client-search@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/events@4.0.1': {} - - '@algolia/ingestion@1.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/monitoring@1.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/recommend@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/requester-browser-xhr@5.46.1': - dependencies: - '@algolia/client-common': 5.46.1 - - '@algolia/requester-browser-xhr@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@algolia/requester-fetch@5.46.1': - dependencies: - '@algolia/client-common': 5.46.1 - - '@algolia/requester-fetch@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@algolia/requester-node-http@5.46.1': - dependencies: - '@algolia/client-common': 5.46.1 - - '@algolia/requester-node-http@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@alloc/quick-lru@5.2.0': {} - - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.6.0 - tinyexec: 1.2.4 - - '@babel/code-frame@7.29.7': - dependencies: - '@babel/helper-validator-identifier': 7.29.7 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.29.7': {} - - '@babel/core@7.29.7': - 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/core@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.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.7': - dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-compilation-targets@7.29.7': - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/traverse': 7.29.7 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.12 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.29.7': {} - - '@babel/helper-member-expression-to-functions@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-plugin-utils@7.29.7': {} - - '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-wrap-function': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.29.7': {} - - '@babel/helper-validator-identifier@7.29.7': {} - - '@babel/helper-validator-option@7.29.7': {} - - '@babel/helper-wrap-function@7.29.7': - dependencies: - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.29.7': - dependencies: - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/parser@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/template': 7.29.7 - - '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/preset-env@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) - '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) - '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) - babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/types': 7.29.7 - esutils: 2.0.3 - - '@babel/preset-react@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/runtime@7.29.7': {} - - '@babel/template@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/traverse@7.29.7': - 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.4.3 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.29.7': - dependencies: - '@babel/helper-string-parser': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - - '@braintree/sanitize-url@7.1.2': {} - - '@chevrotain/types@11.1.2': {} - - '@colors/colors@1.5.0': - optional: true - - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/color-helpers@5.1.0': {} - - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-tokenizer@3.0.4': {} - - '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)': - dependencies: - '@csstools/color-helpers': 5.1.0 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/utilities@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@discoveryjs/json-ext@0.5.7': {} - - '@docsearch/core@4.6.3(@types/react@19.2.17)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - optionalDependencies: - '@types/react': 19.2.17 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@docsearch/css@4.6.3': {} - - '@docsearch/react@4.6.3(@algolia/client-search@5.46.1)(@types/react@19.2.17)(algoliasearch@5.53.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@docsearch/core': 4.6.3(@types/react@19.2.17)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docsearch/css': 4.6.3 - optionalDependencies: - '@types/react': 19.2.17 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@docusaurus/babel@3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.5 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/babel@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.5 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/bundler@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@rspack/core@1.7.11)(@swc/core@1.15.40)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@babel/core': 7.29.7 - '@docusaurus/babel': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/cssnano-preset': 3.10.1 - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - css-loader: 6.11.0(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - cssnano: 6.1.2(postcss@8.5.6) - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.10.2(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - null-loader: 4.0.1(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - postcss: 8.5.6 - postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - postcss-preset-env: 10.6.1(postcss@8.5.6) - terser-webpack-plugin: 5.6.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - webpack: 5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6) - webpackbar: 7.0.0(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - csso - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/babel': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@rspack/core@1.7.11)(@swc/core@1.15.40)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.3) - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - core-js: 3.49.0 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - execa: 5.1.1 - fs-extra: 11.3.5 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.7(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - leven: 3.1.0 - lodash: 4.18.1 - open: 8.4.2 - p-map: 4.0.0 - prompts: 2.4.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.3))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - react-router: 5.3.4(react@19.2.3) - react-router-config: 5.1.1(react-router@5.3.4(react@19.2.3))(react@19.2.3) - react-router-dom: 5.3.4(react@19.2.3) - semver: 7.8.2 - serve-handler: 6.1.7 - tinypool: 1.1.1 - tslib: 2.8.1 - update-notifier: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.2.4(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - webpack-merge: 6.0.1 - optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/cssnano-preset@3.10.1': - dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-sort-media-queries: 5.2.0(postcss@8.5.6) - tslib: 2.8.1 - - '@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rspack/core': 1.7.11 - '@swc/core': 1.15.40 - '@swc/html': 1.15.40 - browserslist: 4.28.2 - lightningcss: 1.32.0 - semver: 7.8.2 - swc-loader: 0.2.7(@swc/core@1.15.40)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.40)(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/css' - - '@swc/helpers' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - postcss - - uglify-js - - webpack-cli - - '@docusaurus/logger@3.10.1': - dependencies: - chalk: 4.1.2 - tslib: 2.8.1 - - '@docusaurus/mdx-loader@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/mdx': 3.1.1 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.5.0 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - fs-extra: 11.3.5 - image-size: 2.0.2 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - rehype-raw: 7.0.0 - remark-directive: 3.0.1 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - stringify-object: 3.3.0 - tslib: 2.8.1 - unified: 11.0.5 - unist-util-visit: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - vfile: 6.0.3 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/module-type-aliases@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/plugin-client-redirects@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - eta: 2.2.0 - fs-extra: 11.3.5 - lodash: 4.18.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-blog@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - cheerio: 1.0.0-rc.12 - combine-promises: 1.2.0 - feed: 4.2.2 - fs-extra: 11.3.5 - lodash: 4.18.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - schema-dts: 1.1.5 - srcset: 4.0.0 - tslib: 2.8.1 - unist-util-visit: 5.1.0 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.3.5 - js-yaml: 4.2.0 - lodash: 4.18.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - schema-dts: 1.1.5 - tslib: 2.8.1 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-pages@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.5 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-css-cascade-layers@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-debug@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.5 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-json-view-lite: 2.5.0(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-analytics@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-gtag@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/gtag.js': 0.0.20 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-tag-manager@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-sitemap@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.5 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - sitemap: 7.1.3 - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-svgr@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/webpack': 8.1.0(typescript@5.9.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/preset-classic@3.10.1(@algolia/client-search@5.46.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-css-cascade-layers': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-debug': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-analytics': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-gtag': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-tag-manager': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-sitemap': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-svgr': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-search-algolia': 3.10.1(@algolia/client-search@5.46.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/react-loadable@6.0.0(react@19.2.3)': - dependencies: - '@types/react': 19.2.17 - react: 19.2.3 - - '@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.3) - clsx: 2.1.1 - copy-text-to-clipboard: 3.2.2 - infima: 0.2.0-alpha.45 - lodash: 4.18.1 - nprogress: 0.2.0 - postcss: 8.5.6 - prism-react-renderer: 2.4.1(react@19.2.3) - prismjs: 1.30.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-router-dom: 5.3.4(react@19.2.3) - rtlcss: 4.3.0 - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-common@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.4.1(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/theme-mermaid@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - mermaid: 11.15.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@docusaurus/plugin-content-docs' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-search-algolia@3.10.1(@algolia/client-search@5.46.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(@types/react@19.2.17)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)': - dependencies: - '@algolia/autocomplete-core': 1.19.8(@algolia/client-search@5.46.1)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@docsearch/react': 4.6.3(@algolia/client-search@5.46.1)(@types/react@19.2.17)(algoliasearch@5.53.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3) - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - algoliasearch: 5.53.0 - algoliasearch-helper: 3.29.1(algoliasearch@5.53.0) - clsx: 2.1.1 - eta: 2.2.0 - fs-extra: 11.3.5 - lodash: 4.18.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-translations@3.10.1': - dependencies: - fs-extra: 11.3.5 - tslib: 2.8.1 - - '@docusaurus/tsconfig@3.10.1': {} - - '@docusaurus/types@3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.17 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.17 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-validation@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.5 - joi: 17.13.3 - js-yaml: 4.2.0 - lodash: 4.18.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - fs-extra: 11.3.5 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 4.2.0 - lodash: 4.18.1 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - fs-extra: 11.3.5 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 4.2.0 - lodash: 4.18.1 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@fortawesome/fontawesome-common-types@6.7.2': {} - - '@fortawesome/fontawesome-svg-core@6.7.2': - dependencies: - '@fortawesome/fontawesome-common-types': 6.7.2 - - '@fortawesome/free-brands-svg-icons@6.7.2': - dependencies: - '@fortawesome/fontawesome-common-types': 6.7.2 - - '@fortawesome/free-regular-svg-icons@6.7.2': - dependencies: - '@fortawesome/fontawesome-common-types': 6.7.2 - - '@fortawesome/free-solid-svg-icons@6.7.2': - dependencies: - '@fortawesome/fontawesome-common-types': 6.7.2 - - '@fortawesome/react-fontawesome@0.2.6(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.2.3)': - dependencies: - '@fortawesome/fontawesome-svg-core': 6.7.2 - prop-types: 15.8.1 - react: 19.2.3 - - '@hapi/hoek@9.3.0': {} - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - - '@iconify/react@5.2.1(react@19.2.3)': - dependencies: - '@iconify/types': 2.0.0 - react: 19.2.3 - - '@iconify/types@2.0.0': {} - - '@iconify/utils@3.1.3': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - import-meta-resolve: 4.2.0 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.10 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 25.9.2 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-core@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-fsa@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-builtins@4.57.6(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-to-fsa@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-utils@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.6(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-print@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-snapshot@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@leichtgewicht/ip-codec@2.0.5': {} - - '@mdx-js/mdx@3.1.1': - dependencies: - '@types/estree': 1.0.9 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.14 - acorn: 8.16.0 - collapse-white-space: 2.1.0 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-util-scope: 1.0.0 - estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.6 - markdown-extensions: 2.0.0 - recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.16.0) - recma-stringify: 1.0.0 - rehype-recma: 1.0.0 - remark-mdx: 3.1.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - source-map: 0.7.6 - unified: 11.0.5 - unist-util-position-from-estree: 2.0.0 - unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.17 - react: 19.2.3 - - '@mermaid-js/parser@1.1.1': - dependencies: - '@chevrotain/types': 11.1.2 - - '@module-federation/error-codes@0.22.0': {} - - '@module-federation/runtime-core@0.22.0': - dependencies: - '@module-federation/error-codes': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@module-federation/runtime-tools@0.22.0': - dependencies: - '@module-federation/runtime': 0.22.0 - '@module-federation/webpack-bundler-runtime': 0.22.0 - - '@module-federation/runtime@0.22.0': - dependencies: - '@module-federation/error-codes': 0.22.0 - '@module-federation/runtime-core': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@module-federation/sdk@0.22.0': {} - - '@module-federation/webpack-bundler-runtime@0.22.0': - dependencies: - '@module-federation/runtime': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@napi-rs/wasm-runtime@1.0.7': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 - optional: true - - '@noble/hashes@1.4.0': {} - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@parcel/watcher-android-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-x64@2.5.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.1': - optional: true - - '@parcel/watcher-win32-arm64@2.5.1': - optional: true - - '@parcel/watcher-win32-ia32@2.5.1': - optional: true - - '@parcel/watcher-win32-x64@2.5.1': - optional: true - - '@parcel/watcher@2.5.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 - optional: true - - '@peculiar/asn1-cms@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - '@peculiar/asn1-x509-attr': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-csr@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-ecc@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pfx@2.7.0': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-pkcs8': 2.7.0 - '@peculiar/asn1-rsa': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs8@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs9@2.7.0': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-pfx': 2.7.0 - '@peculiar/asn1-pkcs8': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - '@peculiar/asn1-x509-attr': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-rsa@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-schema@2.7.0': - dependencies: - '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-x509-attr@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-x509@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/utils@2.0.3': - dependencies: - tslib: 2.8.1 - - '@peculiar/x509@1.14.3': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-csr': 2.7.0 - '@peculiar/asn1-ecc': 2.7.0 - '@peculiar/asn1-pkcs9': 2.7.0 - '@peculiar/asn1-rsa': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - pvtsutils: 1.3.6 - reflect-metadata: 0.2.2 - tslib: 2.8.1 - tsyringe: 4.10.0 - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@3.0.2': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@polka/url@1.0.0-next.29': {} - - '@rspack/binding-darwin-arm64@1.7.11': - optional: true - - '@rspack/binding-darwin-x64@1.7.11': - optional: true - - '@rspack/binding-linux-arm64-gnu@1.7.11': - optional: true - - '@rspack/binding-linux-arm64-musl@1.7.11': - optional: true - - '@rspack/binding-linux-x64-gnu@1.7.11': - optional: true - - '@rspack/binding-linux-x64-musl@1.7.11': - optional: true - - '@rspack/binding-wasm32-wasi@1.7.11': - dependencies: - '@napi-rs/wasm-runtime': 1.0.7 - optional: true - - '@rspack/binding-win32-arm64-msvc@1.7.11': - optional: true - - '@rspack/binding-win32-ia32-msvc@1.7.11': - optional: true - - '@rspack/binding-win32-x64-msvc@1.7.11': - optional: true - - '@rspack/binding@1.7.11': - optionalDependencies: - '@rspack/binding-darwin-arm64': 1.7.11 - '@rspack/binding-darwin-x64': 1.7.11 - '@rspack/binding-linux-arm64-gnu': 1.7.11 - '@rspack/binding-linux-arm64-musl': 1.7.11 - '@rspack/binding-linux-x64-gnu': 1.7.11 - '@rspack/binding-linux-x64-musl': 1.7.11 - '@rspack/binding-wasm32-wasi': 1.7.11 - '@rspack/binding-win32-arm64-msvc': 1.7.11 - '@rspack/binding-win32-ia32-msvc': 1.7.11 - '@rspack/binding-win32-x64-msvc': 1.7.11 - - '@rspack/core@1.7.11': - dependencies: - '@module-federation/runtime-tools': 0.22.0 - '@rspack/binding': 1.7.11 - '@rspack/lite-tapable': 1.1.0 - - '@rspack/lite-tapable@1.1.0': {} - - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - - '@sideway/formula@3.0.1': {} - - '@sideway/pinpoint@2.0.0': {} - - '@sinclair/typebox@0.27.10': {} - - '@sindresorhus/is@4.6.0': {} - - '@sindresorhus/is@5.6.0': {} - - '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.29.7 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - '@slorber/remark-comment@1.0.0': - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-preset@8.1.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.7) - - '@svgr/core@8.1.0(typescript@5.9.3)': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.9.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@svgr/hast-util-to-babel-ast@8.0.0': - dependencies: - '@babel/types': 7.29.7 - entities: 4.5.0 - - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3)': - dependencies: - '@svgr/core': 8.1.0(typescript@5.9.3) - cosmiconfig: 8.3.6(typescript@5.9.3) - deepmerge: 4.3.1 - svgo: 3.3.3 - transitivePeerDependencies: - - typescript - - '@svgr/webpack@8.1.0(typescript@5.9.3)': - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3) - transitivePeerDependencies: - - supports-color - - typescript - - '@swc/core-darwin-arm64@1.15.40': - optional: true - - '@swc/core-darwin-x64@1.15.40': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.15.40': - optional: true - - '@swc/core-linux-arm64-gnu@1.15.40': - optional: true - - '@swc/core-linux-arm64-musl@1.15.40': - optional: true - - '@swc/core-linux-ppc64-gnu@1.15.40': - optional: true - - '@swc/core-linux-s390x-gnu@1.15.40': - optional: true - - '@swc/core-linux-x64-gnu@1.15.40': - optional: true - - '@swc/core-linux-x64-musl@1.15.40': - optional: true - - '@swc/core-win32-arm64-msvc@1.15.40': - optional: true - - '@swc/core-win32-ia32-msvc@1.15.40': - optional: true - - '@swc/core-win32-x64-msvc@1.15.40': - optional: true - - '@swc/core@1.15.40': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.26 - optionalDependencies: - '@swc/core-darwin-arm64': 1.15.40 - '@swc/core-darwin-x64': 1.15.40 - '@swc/core-linux-arm-gnueabihf': 1.15.40 - '@swc/core-linux-arm64-gnu': 1.15.40 - '@swc/core-linux-arm64-musl': 1.15.40 - '@swc/core-linux-ppc64-gnu': 1.15.40 - '@swc/core-linux-s390x-gnu': 1.15.40 - '@swc/core-linux-x64-gnu': 1.15.40 - '@swc/core-linux-x64-musl': 1.15.40 - '@swc/core-win32-arm64-msvc': 1.15.40 - '@swc/core-win32-ia32-msvc': 1.15.40 - '@swc/core-win32-x64-msvc': 1.15.40 - - '@swc/counter@0.1.3': {} - - '@swc/html-darwin-arm64@1.15.40': - optional: true - - '@swc/html-darwin-x64@1.15.40': - optional: true - - '@swc/html-linux-arm-gnueabihf@1.15.40': - optional: true - - '@swc/html-linux-arm64-gnu@1.15.40': - optional: true - - '@swc/html-linux-arm64-musl@1.15.40': - optional: true - - '@swc/html-linux-ppc64-gnu@1.15.40': - optional: true - - '@swc/html-linux-s390x-gnu@1.15.40': - optional: true - - '@swc/html-linux-x64-gnu@1.15.40': - optional: true - - '@swc/html-linux-x64-musl@1.15.40': - optional: true - - '@swc/html-win32-arm64-msvc@1.15.40': - optional: true - - '@swc/html-win32-ia32-msvc@1.15.40': - optional: true - - '@swc/html-win32-x64-msvc@1.15.40': - optional: true - - '@swc/html@1.15.40': - dependencies: - '@swc/counter': 0.1.3 - optionalDependencies: - '@swc/html-darwin-arm64': 1.15.40 - '@swc/html-darwin-x64': 1.15.40 - '@swc/html-linux-arm-gnueabihf': 1.15.40 - '@swc/html-linux-arm64-gnu': 1.15.40 - '@swc/html-linux-arm64-musl': 1.15.40 - '@swc/html-linux-ppc64-gnu': 1.15.40 - '@swc/html-linux-s390x-gnu': 1.15.40 - '@swc/html-linux-x64-gnu': 1.15.40 - '@swc/html-linux-x64-musl': 1.15.40 - '@swc/html-win32-arm64-msvc': 1.15.40 - '@swc/html-win32-ia32-msvc': 1.15.40 - '@swc/html-win32-x64-msvc': 1.15.40 - - '@swc/types@0.1.26': - dependencies: - '@swc/counter': 0.1.3 - - '@szmarczak/http-timer@5.0.1': - dependencies: - defer-to-connect: 2.0.1 - - '@tybys/wasm-util@0.10.2': - dependencies: - tslib: 2.8.1 - optional: true - - '@types/body-parser@1.19.6': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 25.9.2 - - '@types/bonjour@3.5.13': - dependencies: - '@types/node': 25.9.2 - - '@types/connect-history-api-fallback@1.5.4': - dependencies: - '@types/express-serve-static-core': 4.19.8 - '@types/node': 25.9.2 - - '@types/connect@3.4.38': - dependencies: - '@types/node': 25.9.2 - - '@types/d3-array@3.2.2': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.2 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.8': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.9 - - '@types/estree@1.0.9': {} - - '@types/express-serve-static-core@4.19.8': - dependencies: - '@types/node': 25.9.2 - '@types/qs': 6.15.1 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.15.1 - '@types/serve-static': 1.15.10 - - '@types/geojson@7946.0.16': {} - - '@types/gtag.js@0.0.20': {} - - '@types/hast@2.3.10': - dependencies: - '@types/unist': 2.0.11 - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/history@4.7.11': {} - - '@types/html-minifier-terser@6.1.0': {} - - '@types/http-cache-semantics@4.2.0': {} - - '@types/http-errors@2.0.5': {} - - '@types/http-proxy@1.17.17': - dependencies: - '@types/node': 25.9.2 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/json-schema@7.0.15': {} - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/mdx@2.0.14': {} - - '@types/mime@1.3.5': {} - - '@types/ms@2.1.0': {} - - '@types/node@17.0.45': {} - - '@types/node@25.9.2': - dependencies: - undici-types: 7.24.6 - - '@types/parse5@5.0.3': {} - - '@types/prismjs@1.26.5': {} - - '@types/qs@6.15.1': {} - - '@types/range-parser@1.2.7': {} - - '@types/react-router-config@5.0.11': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - '@types/react-router-dom@5.3.3': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - '@types/react-router@5.1.20': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - - '@types/react@19.2.17': - dependencies: - csstype: 3.2.3 - - '@types/retry@0.12.2': {} - - '@types/sax@1.2.7': - dependencies: - '@types/node': 17.0.45 - - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 25.9.2 - - '@types/send@1.2.1': - dependencies: - '@types/node': 25.9.2 - - '@types/serve-index@1.9.4': - dependencies: - '@types/express': 4.17.25 - - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 25.9.2 - '@types/send': 0.17.6 - - '@types/sockjs@0.3.36': - dependencies: - '@types/node': 25.9.2 - - '@types/trusted-types@2.0.7': - optional: true - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@types/ws@8.18.1': - dependencies: - '@types/node': 25.9.2 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.35': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@ungap/structured-clone@1.3.1': {} - - '@upsetjs/venn.js@2.0.0': - optionalDependencies: - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - '@webassemblyjs/ast@1.14.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - - '@webassemblyjs/helper-api-error@1.13.2': {} - - '@webassemblyjs/helper-buffer@1.14.1': {} - - '@webassemblyjs/helper-numbers@1.13.2': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - - '@webassemblyjs/helper-wasm-section@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 - - '@webassemblyjs/ieee754@1.13.2': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.13.2': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.13.2': {} - - '@webassemblyjs/wasm-edit@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 - - '@webassemblyjs/wasm-gen@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wasm-opt@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - - '@webassemblyjs/wasm-parser@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wast-printer@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - abbrev@1.1.1: {} - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn-import-phases@1.0.4(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - - acorn-walk@8.3.5: - dependencies: - acorn: 8.16.0 - - acorn@8.16.0: {} - - address@1.2.2: {} - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv-formats@2.1.1(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 - - ajv-keywords@3.5.2(ajv@6.15.0): - dependencies: - ajv: 6.15.0 - - ajv-keywords@5.1.0(ajv@8.20.0): - dependencies: - ajv: 8.20.0 - fast-deep-equal: 3.1.3 - - ajv@6.15.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.20.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - algoliasearch-helper@3.29.1(algoliasearch@5.53.0): - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 5.53.0 - - algoliasearch@5.53.0: - dependencies: - '@algolia/abtesting': 1.19.0 - '@algolia/client-abtesting': 5.53.0 - '@algolia/client-analytics': 5.53.0 - '@algolia/client-common': 5.53.0 - '@algolia/client-insights': 5.53.0 - '@algolia/client-personalization': 5.53.0 - '@algolia/client-query-suggestions': 5.53.0 - '@algolia/client-search': 5.53.0 - '@algolia/ingestion': 1.53.0 - '@algolia/monitoring': 1.53.0 - '@algolia/recommend': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-html-community@0.0.8: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.3: {} - - ansis@3.17.0: {} - - any-promise@1.3.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.2 - - aproba@2.1.0: {} - - arg@5.0.2: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - array-flatten@1.1.1: {} - - array-union@2.1.0: {} - - asn1js@3.0.10: - dependencies: - pvtsutils: 1.3.6 - pvutils: 1.1.5 - tslib: 2.8.1 - - astring@1.9.0: {} - - autocomplete.js@0.37.1: - dependencies: - immediate: 3.3.0 - - autoprefixer@10.4.23(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001761 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@babel/core': 7.29.7 - find-cache-dir: 4.0.0 - schema-utils: 4.3.3 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - babel-plugin-dynamic-import-node@2.3.3: - dependencies: - object.assign: 4.1.7 - - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - bail@1.0.5: {} - - bail@2.0.2: {} - - balanced-match@1.0.2: {} - - baseline-browser-mapping@2.10.34: {} - - baseline-browser-mapping@2.9.11: {} - - batch@0.6.1: {} - - bcp-47-match@1.0.3: {} - - big.js@5.2.2: {} - - binary-extensions@2.3.0: {} - - body-parser@1.20.5: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.15.2 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - bonjour-service@1.4.0: - dependencies: - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - - boolbase@1.0.0: {} - - boxen@6.2.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - boxen@7.1.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - brace-expansion@1.1.12: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@1.1.15: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.9.11 - caniuse-lite: 1.0.30001761 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) - - browserslist@4.28.2: - dependencies: - baseline-browser-mapping: 2.10.34 - caniuse-lite: 1.0.30001797 - electron-to-chromium: 1.5.368 - node-releases: 2.0.47 - update-browserslist-db: 1.2.3(browserslist@4.28.2) - - buffer-from@1.1.2: {} - - bundle-name@4.1.0: - dependencies: - run-applescript: 7.1.0 - - bytes@3.0.0: {} - - bytes@3.1.2: {} - - bytestreamjs@2.0.1: {} - - cacheable-lookup@7.0.0: {} - - cacheable-request@10.2.14: - dependencies: - '@types/http-cache-semantics': 4.2.0 - get-stream: 6.0.1 - http-cache-semantics: 4.2.0 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.1.1 - responselike: 3.0.0 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.9: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - callsites@3.1.0: {} - - camel-case@4.1.2: - dependencies: - pascal-case: 3.1.2 - tslib: 2.8.1 - - camelcase-css@2.0.1: {} - - camelcase@6.3.0: {} - - camelcase@7.0.1: {} - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001797 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001761: {} - - caniuse-lite@1.0.30001797: {} - - ccount@2.0.1: {} - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.6.2: {} - - char-regex@1.0.2: {} - - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - character-entities@2.0.2: {} - - character-reference-invalid@2.0.1: {} - - cheerio-select@2.1.0: - dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@1.0.0-rc.12: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - htmlparser2: 8.0.2 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - - chrome-trace-event@1.0.4: {} - - ci-info@3.9.0: {} - - clean-css@5.3.3: - dependencies: - source-map: 0.6.1 - - clean-stack@2.2.0: {} - - cli-boxes@3.0.0: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clsx@2.1.1: {} - - collapse-white-space@2.1.0: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - color-support@1.1.3: {} - - colord@2.9.3: {} - - colorette@2.0.20: {} - - combine-promises@1.2.0: {} - - comma-separated-tokens@1.0.8: {} - - comma-separated-tokens@2.0.3: {} - - commander@10.0.1: {} - - commander@2.20.3: {} - - commander@4.1.1: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - common-path-prefix@3.0.0: {} - - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - concat-map@0.0.1: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - configstore@6.0.0: - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - - connect-history-api-fallback@2.0.0: {} - - consola@3.4.2: {} - - console-control-strings@1.1.0: {} - - content-disposition@0.5.2: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - convert-source-map@2.0.0: {} - - cookie-signature@1.0.7: {} - - cookie@0.7.2: {} - - copy-text-to-clipboard@3.2.2: {} - - copy-webpack-plugin@11.0.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - fast-glob: 3.3.3 - glob-parent: 6.0.2 - globby: 13.2.2 - normalize-path: 3.0.0 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - core-js-compat@3.49.0: - dependencies: - browserslist: 4.28.2 - - core-js@3.49.0: {} - - core-util-is@1.0.3: {} - - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - - cosmiconfig@8.3.6(typescript@5.9.3): - dependencies: - import-fresh: 3.3.1 - js-yaml: 4.2.0 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.9.3 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - - css-blank-pseudo@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - css-declaration-sorter@7.4.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-has-pseudo@7.0.3(postcss@8.5.6): - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 - - css-loader@6.11.0(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) - postcss-modules-scope: 3.2.1(postcss@8.5.6) - postcss-modules-values: 4.0.0(postcss@8.5.6) - postcss-value-parser: 4.2.0 - semver: 7.8.2 - optionalDependencies: - '@rspack/core': 1.7.11 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - cssnano: 6.1.2(postcss@8.5.6) - jest-worker: 29.7.0 - postcss: 8.5.6 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - optionalDependencies: - clean-css: 5.3.3 - - css-prefers-color-scheme@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-selector-parser@1.4.1: {} - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@6.2.2: {} - - cssdb@8.9.0: {} - - cssesc@3.0.0: {} - - cssnano-preset-advanced@6.1.2(postcss@8.5.6): - dependencies: - autoprefixer: 10.4.23(postcss@8.5.6) - browserslist: 4.28.2 - cssnano-preset-default: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-discard-unused: 6.0.5(postcss@8.5.6) - postcss-merge-idents: 6.0.3(postcss@8.5.6) - postcss-reduce-idents: 6.0.3(postcss@8.5.6) - postcss-zindex: 6.0.2(postcss@8.5.6) - - cssnano-preset-default@6.1.2(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - css-declaration-sorter: 7.4.0(postcss@8.5.6) - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-calc: 9.0.1(postcss@8.5.6) - postcss-colormin: 6.1.0(postcss@8.5.6) - postcss-convert-values: 6.1.0(postcss@8.5.6) - postcss-discard-comments: 6.0.2(postcss@8.5.6) - postcss-discard-duplicates: 6.0.3(postcss@8.5.6) - postcss-discard-empty: 6.0.3(postcss@8.5.6) - postcss-discard-overridden: 6.0.2(postcss@8.5.6) - postcss-merge-longhand: 6.0.5(postcss@8.5.6) - postcss-merge-rules: 6.1.1(postcss@8.5.6) - postcss-minify-font-values: 6.1.0(postcss@8.5.6) - postcss-minify-gradients: 6.0.3(postcss@8.5.6) - postcss-minify-params: 6.1.0(postcss@8.5.6) - postcss-minify-selectors: 6.0.4(postcss@8.5.6) - postcss-normalize-charset: 6.0.2(postcss@8.5.6) - postcss-normalize-display-values: 6.0.2(postcss@8.5.6) - postcss-normalize-positions: 6.0.2(postcss@8.5.6) - postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) - postcss-normalize-string: 6.0.2(postcss@8.5.6) - postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) - postcss-normalize-unicode: 6.1.0(postcss@8.5.6) - postcss-normalize-url: 6.0.2(postcss@8.5.6) - postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) - postcss-ordered-values: 6.0.2(postcss@8.5.6) - postcss-reduce-initial: 6.1.0(postcss@8.5.6) - postcss-reduce-transforms: 6.0.2(postcss@8.5.6) - postcss-svgo: 6.0.3(postcss@8.5.6) - postcss-unique-selectors: 6.0.4(postcss@8.5.6) - - cssnano-utils@4.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - cssnano@6.1.2(postcss@8.5.6): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.6) - lilconfig: 3.1.3 - postcss: 8.5.6 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - csstype@3.2.3: {} - - cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.34.0 - - cytoscape-fcose@2.2.0(cytoscape@3.34.0): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.34.0 - - cytoscape@3.34.0: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - - d3-color@3.1.0: {} - - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.1.0 - - d3-dispatch@3.0.1: {} - - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - - d3-ease@3.0.1: {} - - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.2: {} - - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 - - d3-hierarchy@3.1.2: {} - - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 - - d3-path@1.0.9: {} - - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.2 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-selection@3.0.0: {} - - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} - - d3-transition@3.0.1(d3-selection@3.0.0): - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - - d3-zoom@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.2 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.14: - dependencies: - d3: 7.9.0 - lodash-es: 4.18.1 - - dayjs@1.11.21: {} - - debounce@1.2.1: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decode-named-character-reference@1.2.0: - dependencies: - character-entities: 2.0.2 - - decode-named-character-reference@1.3.0: - dependencies: - character-entities: 2.0.2 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - deep-extend@0.6.0: {} - - deepmerge@4.3.1: {} - - default-browser-id@5.0.1: {} - - default-browser@5.5.0: - dependencies: - bundle-name: 4.1.0 - default-browser-id: 5.0.1 - - defer-to-connect@2.0.1: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-lazy-prop@2.0.0: {} - - define-lazy-prop@3.0.0: {} - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - delaunator@5.1.0: - dependencies: - robust-predicates: 3.0.3 - - depd@1.1.2: {} - - depd@2.0.0: {} - - dequal@2.0.3: {} - - destroy@1.2.0: {} - - detect-libc@1.0.3: - optional: true - - detect-libc@2.1.2: {} - - detect-node@2.1.0: {} - - detect-port@1.6.1: - dependencies: - address: 1.2.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - didyoumean@1.2.2: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - direction@1.0.4: {} - - dlv@1.1.3: {} - - dns-packet@5.6.1: - dependencies: - '@leichtgewicht/ip-codec': 2.0.5 - - docusaurus-lunr-search@3.6.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - autocomplete.js: 0.37.1 - clsx: 2.1.1 - gauge: 3.0.2 - hast-util-select: 4.0.2 - hast-util-to-text: 2.0.1 - hogan.js: 3.0.2 - lunr: 2.3.9 - lunr-languages: 1.14.0 - mark.js: 8.11.1 - minimatch: 3.1.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - rehype-parse: 7.0.1 - to-vfile: 6.1.0 - unified: 9.2.2 - unist-util-is: 4.1.0 - - docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@rspack/core@1.7.11)(sass@1.97.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(postcss@8.5.6))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.3))(@rspack/core@1.7.11)(@swc/core@1.15.40)(postcss@8.5.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - sass: 1.97.1 - sass-loader: 16.0.6(@rspack/core@1.7.11)(sass@1.97.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - transitivePeerDependencies: - - '@rspack/core' - - node-sass - - sass-embedded - - webpack - - dom-converter@0.2.0: - dependencies: - utila: 0.4.0 - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - dompurify@3.4.8: - optionalDependencies: - '@types/trusted-types': 2.0.7 - - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer@0.1.2: {} - - eastasianwidth@0.2.0: {} - - ee-first@1.1.1: {} - - electron-to-chromium@1.5.267: {} - - electron-to-chromium@1.5.368: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - emojis-list@3.0.0: {} - - emoticon@4.1.0: {} - - encodeurl@2.0.0: {} - - enhanced-resolve@5.23.0: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.3 - - entities@2.2.0: {} - - entities@4.5.0: {} - - entities@6.0.1: {} - - error-ex@1.3.4: - dependencies: - is-arrayish: 0.2.1 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@2.1.0: {} - - es-object-atoms@1.1.2: - dependencies: - es-errors: 1.3.0 - - es-toolkit@1.47.0: {} - - esast-util-from-estree@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - unist-util-position-from-estree: 2.0.0 - - esast-util-from-js@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 - esast-util-from-estree: 2.0.0 - vfile-message: 4.0.3 - - escalade@3.2.0: {} - - escape-goat@4.0.0: {} - - escape-html@1.0.3: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - - esprima@4.0.1: {} - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@4.3.0: {} - - estraverse@5.3.0: {} - - estree-util-attach-comments@3.0.0: - dependencies: - '@types/estree': 1.0.9 - - estree-util-build-jsx@3.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-walker: 3.0.3 - - estree-util-is-identifier-name@3.0.0: {} - - estree-util-scope@1.0.0: - dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - - estree-util-to-js@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.6 - - estree-util-value-to-estree@3.5.0: - dependencies: - '@types/estree': 1.0.9 - - estree-util-visit@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.9 - - esutils@2.0.3: {} - - eta@2.2.0: {} - - etag@1.8.1: {} - - eval@0.1.8: - dependencies: - '@types/node': 25.9.2 - require-like: 0.1.2 - - eventemitter3@4.0.7: {} - - events@3.3.0: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - express@4.22.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.5 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.13 - proxy-addr: 2.0.7 - qs: 6.15.2 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend@3.0.2: {} - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-uri@3.1.2: {} - - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - - fault@2.0.1: - dependencies: - format: 0.2.2 - - faye-websocket@0.11.4: - dependencies: - websocket-driver: 0.7.5 - - fdir@6.5.0(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - - feed@4.2.2: - dependencies: - xml-js: 1.6.11 - - file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - finalhandler@1.3.2: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - find-cache-dir@4.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - flat@5.0.2: {} - - follow-redirects@1.16.0: {} - - form-data-encoder@2.1.4: {} - - format@0.2.2: {} - - forwarded@0.2.0: {} - - fraction.js@5.3.4: {} - - fresh@0.5.2: {} - - fs-extra@11.3.5: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - gauge@3.0.2: - dependencies: - aproba: 2.1.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - - gensync@1.0.0-beta.2: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.4 - math-intrinsics: 1.1.0 - - get-own-enumerable-property-symbols@3.0.2: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.2 - - get-stream@6.0.1: {} - - github-slugger@1.5.0: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob-to-regex.js@1.2.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - glob-to-regexp@0.4.1: {} - - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - globby@13.2.2: - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 - - gopd@1.2.0: {} - - got@12.6.1: - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - - graceful-fs@4.2.10: {} - - graceful-fs@4.2.11: {} - - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.2 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - - gzip-size@6.0.0: - dependencies: - duplexer: 0.1.2 - - hachure-fill@0.5.2: {} - - handle-thing@2.0.1: {} - - has-flag@4.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} - - has-unicode@2.0.1: {} - - has-yarn@3.0.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hasown@2.0.4: - dependencies: - function-bind: 1.1.2 - - hast-util-from-parse5@6.0.1: - dependencies: - '@types/parse5': 5.0.3 - hastscript: 6.0.0 - property-information: 5.6.0 - vfile: 4.2.1 - vfile-location: 3.2.0 - web-namespaces: 1.1.4 - - hast-util-from-parse5@8.0.3: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.2.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - - hast-util-has-property@1.0.4: {} - - hast-util-is-element@1.1.0: {} - - hast-util-parse-selector@2.2.5: {} - - hast-util-parse-selector@4.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.1 - hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.1 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.1 - parse5: 7.3.0 - unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-select@4.0.2: - dependencies: - bcp-47-match: 1.0.3 - comma-separated-tokens: 1.0.8 - css-selector-parser: 1.4.1 - direction: 1.0.4 - hast-util-has-property: 1.0.4 - hast-util-is-element: 1.1.0 - hast-util-to-string: 1.0.4 - hast-util-whitespace: 1.0.4 - not: 0.1.0 - nth-check: 2.1.1 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - unist-util-visit: 2.0.3 - zwitch: 1.0.5 - - hast-util-to-estree@3.1.3: - dependencies: - '@types/estree': 1.0.9 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-attach-comments: 3.0.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.2.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color - - hast-util-to-jsx-runtime@2.3.6: - dependencies: - '@types/estree': 1.0.9 - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.2.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - vfile-message: 4.0.3 - transitivePeerDependencies: - - supports-color - - hast-util-to-parse5@8.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 7.2.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-to-string@1.0.4: {} - - hast-util-to-text@2.0.1: - dependencies: - hast-util-is-element: 1.1.0 - repeat-string: 1.6.1 - unist-util-find-after: 3.0.0 - - hast-util-whitespace@1.0.4: {} - - hast-util-whitespace@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hastscript@6.0.0: - dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - - hastscript@9.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.2.0 - space-separated-tokens: 2.0.2 - - he@1.2.0: {} - - history@4.10.1: - dependencies: - '@babel/runtime': 7.29.7 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 - - hogan.js@3.0.2: - dependencies: - mkdirp: 0.3.0 - nopt: 1.0.10 - - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - - hpack.js@2.1.6: - dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - - html-escaper@2.0.2: {} - - html-minifier-terser@6.1.0: - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 8.3.0 - he: 1.2.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.48.0 - - html-minifier-terser@7.2.0: - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 10.0.1 - entities: 4.5.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.48.0 - - html-tags@3.3.1: {} - - html-void-elements@3.0.0: {} - - html-webpack-plugin@5.6.7(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.18.1 - pretty-error: 4.0.0 - tapable: 2.3.3 - optionalDependencies: - '@rspack/core': 1.7.11 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - htmlparser2@6.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 - - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - - http-cache-semantics@4.2.0: {} - - http-deceiver@1.2.7: {} - - http-errors@1.8.1: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - - http-errors@2.0.1: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 - - http-parser-js@0.5.10: {} - - http-proxy-middleware@2.0.9(@types/express@4.17.25): - dependencies: - '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.8 - optionalDependencies: - '@types/express': 4.17.25 - transitivePeerDependencies: - - debug - - http-proxy@1.18.1: - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.16.0 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - - http2-wrapper@2.2.1: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - - human-signals@2.1.0: {} - - hyperdyperid@1.2.0: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - - icss-utils@5.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - ignore@5.3.2: {} - - image-size@2.0.2: {} - - immediate@3.3.0: {} - - immutable@5.1.4: {} - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-lazy@4.0.0: {} - - import-meta-resolve@4.2.0: {} - - imurmurhash@0.1.4: {} - - indent-string@4.0.0: {} - - infima@0.2.0-alpha.45: {} - - inherits@2.0.4: {} - - ini@1.3.8: {} - - ini@2.0.0: {} - - inline-style-parser@0.2.7: {} - - internmap@1.0.1: {} - - internmap@2.0.3: {} - - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - - ipaddr.js@1.9.1: {} - - ipaddr.js@2.4.0: {} - - is-alphabetical@2.0.1: {} - - is-alphanumerical@2.0.1: - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-arrayish@0.2.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-buffer@2.0.5: {} - - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-core-module@2.16.2: - dependencies: - hasown: 2.0.4 - - is-decimal@2.0.1: {} - - is-docker@2.2.1: {} - - is-docker@3.0.0: {} - - is-extendable@0.1.1: {} - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-hexadecimal@2.0.1: {} - - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - - is-installed-globally@0.4.0: - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - - is-network-error@1.3.2: {} - - is-npm@6.1.0: {} - - is-number@7.0.0: {} - - is-obj@1.0.1: {} - - is-obj@2.0.0: {} - - is-path-inside@3.0.3: {} - - is-plain-obj@2.1.0: {} - - is-plain-obj@3.0.0: {} - - is-plain-obj@4.1.0: {} - - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-regexp@1.0.0: {} - - is-stream@2.0.1: {} - - is-typedarray@1.0.0: {} - - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - - is-wsl@3.1.1: - dependencies: - is-inside-container: 1.0.0 - - is-yarn-global@0.4.1: {} - - isarray@0.0.1: {} - - isarray@1.0.0: {} - - isexe@2.0.0: {} - - isobject@3.0.1: {} - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 25.9.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.2 - - jest-worker@27.5.1: - dependencies: - '@types/node': 25.9.2 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest-worker@29.7.0: - dependencies: - '@types/node': 25.9.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jiti@1.21.7: {} - - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 - - js-tokens@4.0.0: {} - - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - js-yaml@4.2.0: - dependencies: - argparse: 2.0.1 - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: {} - - json5@2.2.3: {} - - jsonfile@6.2.1: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - katex@0.16.47: - dependencies: - commander: 8.3.0 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - khroma@2.1.0: {} - - kind-of@6.0.3: {} - - kleur@3.0.3: {} - - latest-version@7.0.0: - dependencies: - package-json: 8.1.1 - - launch-editor@2.14.1: - dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.4 - - layout-base@1.0.2: {} - - layout-base@2.0.1: {} - - leven@3.1.0: {} - - lightningcss-android-arm64@1.32.0: - optional: true - - lightningcss-darwin-arm64@1.32.0: - optional: true - - lightningcss-darwin-x64@1.32.0: - optional: true - - lightningcss-freebsd-x64@1.32.0: - optional: true - - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true - - lightningcss-linux-arm64-gnu@1.32.0: - optional: true - - lightningcss-linux-arm64-musl@1.32.0: - optional: true - - lightningcss-linux-x64-gnu@1.32.0: - optional: true - - lightningcss-linux-x64-musl@1.32.0: - optional: true - - lightningcss-win32-arm64-msvc@1.32.0: - optional: true - - lightningcss-win32-x64-msvc@1.32.0: - optional: true - - lightningcss@1.32.0: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 - - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - - loader-runner@4.3.2: {} - - loader-utils@2.0.4: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash-es@4.18.1: {} - - lodash.debounce@4.0.8: {} - - lodash.memoize@4.1.2: {} - - lodash.uniq@4.5.0: {} - - lodash@4.18.1: {} - - longest-streak@3.1.0: {} - - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - - lower-case@2.0.2: - dependencies: - tslib: 2.8.1 - - lowercase-keys@3.0.0: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - lunr-languages@1.14.0: {} - - lunr@2.3.9: {} - - mark.js@8.11.1: {} - - markdown-extensions@2.0.0: {} - - markdown-table@3.0.4: {} - - marked@16.4.2: {} - - math-intrinsics@1.1.0: {} - - mdast-util-directive@3.1.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.2 - transitivePeerDependencies: - - supports-color - - mdast-util-find-and-replace@3.0.2: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - - mdast-util-from-markdown@2.0.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-from-markdown@2.0.3: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.3.0 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-frontmatter@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - micromark-extension-frontmatter: 2.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-autolink-literal@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 - - mdast-util-gfm-footnote@2.1.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-strikethrough@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-table@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-task-list-item@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm@3.1.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.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.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-expression@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@3.2.0: + '@radix-ui/react-arrow@1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.3 - transitivePeerDependencies: - - supports-color + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-collapsible@1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-collection@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - mdast-util-mdx@3.0.0: + '@radix-ui/react-compose-refs@1.1.5(@types/react@19.3.0)(react@19.3.1)': dependencies: - mdast-util-from-markdown: 2.0.3 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - mdast-util-mdxjs-esm@2.0.1: + '@radix-ui/react-context@1.3.0(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-dialog@1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-dismissable-layer': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-focus-guards': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-focus-scope': 1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-portal': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + aria-hidden: 1.2.6 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - mdast-util-phrasing@4.1.0: + '@radix-ui/react-direction@1.2.0(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.1 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - mdast-util-to-hast@13.2.1: + '@radix-ui/react-dismissable-layer@1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.1 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - mdast-util-to-markdown@2.1.2: + '@radix-ui/react-focus-guards@1.2.0(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.1.0 - zwitch: 2.0.4 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - mdast-util-to-string@4.0.0: + '@radix-ui/react-focus-scope@1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@types/mdast': 4.0.4 - - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} - - media-typer@0.3.0: {} + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - memfs@4.57.6(tslib@2.8.1): + '@radix-ui/react-id@1.1.4(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-to-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - merge-descriptors@1.0.3: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-navigation-menu@1.4.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-collection': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-dismissable-layer': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-visually-hidden': 1.2.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popover@1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-dismissable-layer': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-focus-guards': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-focus-scope': 1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-popper': 1.4.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-portal': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + aria-hidden: 1.2.6 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popper@1.4.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.9(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-arrow': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-rect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-size': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/rect': 1.1.3 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - mermaid@11.15.0: + '@radix-ui/react-portal@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@braintree/sanitize-url': 7.1.2 - '@iconify/utils': 3.1.3 - '@mermaid-js/parser': 1.1.1 - '@types/d3': 7.4.3 - '@upsetjs/venn.js': 2.0.0 - cytoscape: 3.34.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0) - cytoscape-fcose: 2.2.0(cytoscape@3.34.0) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.14 - dayjs: 1.11.21 - dompurify: 3.4.8 - es-toolkit: 1.47.0 - katex: 0.16.47 - khroma: 2.1.0 - marked: 16.4.2 - roughjs: 4.6.6 - stylis: 4.4.0 - ts-dedent: 2.2.0 - uuid: 14.0.0 - - methods@1.1.2: {} + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - micromark-core-commonmark@2.0.3: + '@radix-ui/react-presence@1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-factory-destination: 2.0.1 - micromark-factory-label: 2.0.1 - micromark-factory-space: 2.0.1 - micromark-factory-title: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-html-tag-name: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - micromark-extension-directive@3.0.2: + '@radix-ui/react-primitive@2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-roving-focus@1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-collection': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-scroll-area@1.4.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-callback-ref': 1.1.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - micromark-extension-frontmatter@2.0.0: + '@radix-ui/react-slot@1.5.0(@types/react@19.3.0)(react@19.3.1)': dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-tabs@1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': + dependencies: + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-context': 1.3.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-roving-focus': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-use-controllable-state': 1.3.0(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - micromark-extension-gfm-autolink-literal@2.1.0: + '@radix-ui/react-use-callback-ref@1.1.5(@types/react@19.3.0)(react@19.3.1)': dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm-footnote@2.1.0: + '@radix-ui/react-use-controllable-state@1.3.0(@types/react@19.3.0)(react@19.3.1)': dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/primitive': 1.2.0 + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm-strikethrough@2.1.0: + '@radix-ui/react-use-effect-event@0.0.5(@types/react@19.3.0)(react@19.3.1)': dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm-table@2.1.1: + '@radix-ui/react-use-is-hydrated@0.1.3(@types/react@19.3.0)(react@19.3.1)': dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm-tagfilter@2.0.0: + '@radix-ui/react-use-layout-effect@1.1.4(@types/react@19.3.0)(react@19.3.1)': dependencies: - micromark-util-types: 2.0.2 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm-task-list-item@2.1.0: + '@radix-ui/react-use-previous@1.1.4(@types/react@19.3.0)(react@19.3.1)': dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-gfm@3.0.0: + '@radix-ui/react-use-rect@1.1.4(@types/react@19.3.0)(react@19.3.1)': dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/rect': 1.1.3 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-mdx-expression@3.0.1: + '@radix-ui/react-use-size@1.1.5(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.1) + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - micromark-extension-mdx-jsx@3.0.2: + '@radix-ui/react-visually-hidden@1.2.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + '@radix-ui/react-primitive': 2.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) - micromark-extension-mdx-md@2.0.0: + '@radix-ui/rect@1.1.3': {} + + '@shikijs/core@4.6.0': dependencies: - micromark-util-types: 2.0.2 + '@shikijs/primitive': 4.6.0 + '@shikijs/types': 4.6.0 + '@shikijs/vscode-textmate': 10.1.0 + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.6 - micromark-extension-mdxjs-esm@3.0.0: + '@shikijs/engine-javascript@4.6.0': dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + '@shikijs/types': 4.6.0 + '@shikijs/vscode-textmate': 10.1.0 + oniguruma-to-es: 4.3.6 - micromark-extension-mdxjs@3.0.0: + '@shikijs/engine-oniguruma@4.6.0': dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - micromark-extension-mdx-expression: 3.0.1 - micromark-extension-mdx-jsx: 3.0.2 - micromark-extension-mdx-md: 2.0.0 - micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 + '@shikijs/types': 4.6.0 + '@shikijs/vscode-textmate': 10.1.0 - micromark-factory-destination@2.0.1: + '@shikijs/langs@4.6.0': dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@shikijs/types': 4.6.0 - micromark-factory-label@2.0.1: + '@shikijs/primitive@4.6.0': dependencies: - devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@shikijs/types': 4.6.0 + '@shikijs/vscode-textmate': 10.1.0 + '@types/hast': 3.0.5 - micromark-factory-mdx-expression@2.0.3: + '@shikijs/themes@4.6.0': dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + '@shikijs/types': 4.6.0 - micromark-factory-space@1.1.0: + '@shikijs/transformers@4.6.0': dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 + '@shikijs/core': 4.6.0 + '@shikijs/types': 4.6.0 - micromark-factory-space@2.0.1: + '@shikijs/types@4.6.0': dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 + '@shikijs/vscode-textmate': 10.1.0 + '@types/hast': 3.0.5 - micromark-factory-title@2.0.1: + '@shikijs/vscode-textmate@10.1.0': {} + + '@standard-schema/spec@1.1.0': {} + + '@swc/helpers@0.5.23': dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + tslib: 2.9.1 - micromark-factory-whitespace@2.0.1: + '@tailwindcss/node@4.3.3': dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.26.0 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.2 + tailwindcss: 4.3.3 + + '@tailwindcss/oxide-android-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + optional: true - micromark-util-character@1.2.0: + '@tailwindcss/oxide@4.3.3': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-x64': 4.3.3 + '@tailwindcss/oxide-freebsd-x64': 4.3.3 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.3 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-x64-musl': 4.3.3 + '@tailwindcss/oxide-wasm32-wasi': 4.3.3 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 + + '@tailwindcss/postcss@4.3.3': + dependencies: + '@alloc/quick-lru': 5.3.0 + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + postcss: 8.5.28 + tailwindcss: 4.3.3 + + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + '@types/d3-selection': 3.0.12 - micromark-util-character@2.1.1: + '@types/d3-brush@3.0.6': dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@types/d3-selection': 3.0.12 - micromark-util-chunked@2.0.1: + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': dependencies: - micromark-util-symbol: 2.0.1 + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 - micromark-util-classify-character@2.0.1: + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@types/d3-selection': 3.0.12 - micromark-util-combine-extensions@2.0.1: + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.2 + '@types/d3-dsv': 3.0.7 - micromark-util-decode-numeric-character-reference@2.0.2: + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.1': dependencies: - micromark-util-symbol: 2.0.1 + '@types/geojson': 7946.0.16 - micromark-util-decode-string@2.0.1: + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': dependencies: - decode-named-character-reference: 1.2.0 - micromark-util-character: 2.1.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-symbol: 2.0.1 + '@types/d3-color': 3.1.3 - micromark-util-encode@2.0.1: {} + '@types/d3-path@3.1.1': {} - micromark-util-events-to-acorn@2.0.3: + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.4': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': dependencies: - '@types/estree': 1.0.9 - '@types/unist': 3.0.3 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + '@types/d3-time': 3.0.4 - micromark-util-html-tag-name@2.0.1: {} + '@types/d3-selection@3.0.12': {} - micromark-util-normalize-identifier@2.0.1: + '@types/d3-shape@3.2.0': dependencies: - micromark-util-symbol: 2.0.1 + '@types/d3-path': 3.1.1 - micromark-util-resolve-all@2.0.1: + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': dependencies: - micromark-util-types: 2.0.2 + '@types/d3-selection': 3.0.12 - micromark-util-sanitize-uri@2.0.1: + '@types/d3-zoom@3.0.9': dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.12 - micromark-util-subtokenize@2.1.0: + '@types/d3@7.4.3': dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.1 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.4 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.12 + '@types/d3-shape': 3.2.0 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.9 - micromark-util-symbol@1.1.0: {} + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 - micromark-util-symbol@2.0.1: {} + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.10 - micromark-util-types@1.1.0: {} + '@types/estree@1.0.10': {} - micromark-util-types@2.0.2: {} + '@types/geojson@7946.0.16': {} - micromark@4.0.2: + '@types/hast@3.0.5': dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - transitivePeerDependencies: - - supports-color + '@types/unist': 3.0.3 - micromatch@4.0.8: + '@types/mdast@4.0.4': dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.33.0: {} + '@types/unist': 3.0.3 - mime-db@1.52.0: {} + '@types/mdx@2.0.14': {} - mime-db@1.54.0: {} + '@types/ms@2.1.0': {} - mime-types@2.1.18: + '@types/node@26.6.6': dependencies: - mime-db: 1.33.0 + undici-types: 8.9.0 - mime-types@2.1.35: + '@types/react-dom@19.3.0(@types/react@19.3.0)': dependencies: - mime-db: 1.52.0 + '@types/react': 19.3.0 - mime-types@3.0.2: + '@types/react@19.3.0': dependencies: - mime-db: 1.54.0 + csstype: 3.2.3 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true - mime@1.6.0: {} + '@typescript/typescript-linux-loong64@7.0.2': + optional: true - mimic-fn@2.1.0: {} + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true - mimic-response@3.1.0: {} + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true - mimic-response@4.0.0: {} + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true - mini-css-extract-plugin@2.10.2(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - schema-utils: 4.3.3 - tapable: 2.3.3 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) + '@typescript/typescript-linux-s390x@7.0.2': + optional: true - minimalistic-assert@1.0.1: {} + '@typescript/typescript-linux-x64@7.0.2': + optional: true - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.12 + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true - minimatch@3.1.5: - dependencies: - brace-expansion: 1.1.15 + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true - minimist@1.2.8: {} + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true - mkdirp@0.3.0: {} + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true - mrmime@2.0.1: {} + '@typescript/typescript-sunos-x64@7.0.2': + optional: true - ms@2.0.0: {} + '@typescript/typescript-win32-arm64@7.0.2': + optional: true - ms@2.1.3: {} + '@typescript/typescript-win32-x64@7.0.2': + optional: true - multicast-dns@7.2.5: - dependencies: - dns-packet: 5.6.1 - thunky: 1.1.0 + '@ungap/structured-clone@1.4.0': {} - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) - nanoid@3.3.11: {} + '@yuku-core/binding-android-arm64@0.19.0': + optional: true - negotiator@0.6.3: {} + '@yuku-core/binding-darwin-arm64@0.19.0': + optional: true - negotiator@0.6.4: {} + '@yuku-core/binding-darwin-x64@0.19.0': + optional: true - neo-async@2.6.2: {} + '@yuku-core/binding-freebsd-x64@0.19.0': + optional: true - no-case@3.0.4: - dependencies: - lower-case: 2.0.2 - tslib: 2.8.1 + '@yuku-core/binding-linux-arm-gnu@0.19.0': + optional: true - node-addon-api@7.1.1: + '@yuku-core/binding-linux-arm-musl@0.19.0': optional: true - node-emoji@2.2.0: - dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 + '@yuku-core/binding-linux-arm64-gnu@0.19.0': + optional: true - node-releases@2.0.27: {} + '@yuku-core/binding-linux-arm64-musl@0.19.0': + optional: true - node-releases@2.0.47: {} + '@yuku-core/binding-linux-x64-gnu@0.19.0': + optional: true - nopt@1.0.10: - dependencies: - abbrev: 1.1.1 + '@yuku-core/binding-linux-x64-musl@0.19.0': + optional: true - normalize-path@3.0.0: {} + '@yuku-core/binding-win32-arm64@0.19.0': + optional: true - normalize-url@8.1.1: {} + '@yuku-core/binding-win32-x64@0.19.0': + optional: true - not@0.1.0: {} + '@yuku-toolchain/types@0.19.0': {} - npm-run-path@4.0.1: + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - path-key: 3.1.1 + acorn: 8.19.0 - nprogress@0.2.0: {} + acorn@8.19.0: {} - nth-check@2.1.1: + aria-hidden@1.2.6: dependencies: - boolbase: 1.0.0 + tslib: 2.9.1 - null-loader@4.0.1(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) + astring@1.9.0: {} - object-assign@4.1.1: {} + bail@2.0.2: {} - object-hash@3.0.0: {} + baseline-browser-mapping@2.11.34: {} - object-inspect@1.13.4: {} + caniuse-lite@1.0.30001820: {} - object-keys@1.1.1: {} + ccount@2.0.1: {} - object.assign@4.1.7: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - has-symbols: 1.1.0 - object-keys: 1.1.1 + character-entities-html4@2.1.0: {} - obuf@1.1.2: {} + character-entities-legacy@3.0.0: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 + character-entities@2.0.2: {} - on-headers@1.1.0: {} + character-reference-invalid@2.0.1: {} - onetime@5.1.2: + chevrotain@13.2.0: dependencies: - mimic-fn: 2.1.0 + '@chevrotain/cst-dts-gen': 13.2.0 + '@chevrotain/gast': 13.2.0 + '@chevrotain/regexp-to-ast': 13.2.0 + '@chevrotain/types': 13.2.0 + '@chevrotain/utils': 13.2.0 - open@10.2.0: + chokidar@6.0.0: dependencies: - default-browser: 5.5.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + readdirp: 5.1.1 - open@8.4.2: + class-variance-authority@0.7.1: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - - opener@1.5.2: {} + clsx: 2.1.1 - p-cancelable@3.0.0: {} + client-only@0.0.1: {} - p-finally@1.0.0: {} + clsx@2.1.1: {} - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.2 + cn@0.5.2: {} - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 + collapse-white-space@2.1.0: {} - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 + comma-separated-tokens@2.0.3: {} - p-queue@6.6.2: - dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 + commander@15.0.0: {} - p-retry@6.2.1: - dependencies: - '@types/retry': 0.12.2 - is-network-error: 1.3.2 - retry: 0.13.1 + commander@7.2.0: {} - p-timeout@3.2.0: - dependencies: - p-finally: 1.0.0 + compute-scroll-into-view@3.1.1: {} - package-json@8.1.1: + cose-base@1.0.3: dependencies: - got: 12.6.1 - registry-auth-token: 5.1.1 - registry-url: 6.0.1 - semver: 7.8.2 - - package-manager-detector@1.6.0: {} + layout-base: 1.0.2 - param-case@3.0.4: + cose-base@2.2.0: dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + layout-base: 2.0.1 - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 + csstype@3.2.3: {} - parse-entities@4.0.2: + cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.4): dependencies: - '@types/unist': 2.0.11 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.3.0 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 + cose-base: 1.0.3 + cytoscape: 3.34.4 - parse-json@5.2.0: + cytoscape-fcose@2.2.0(cytoscape@3.34.4): dependencies: - '@babel/code-frame': 7.29.7 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 + cose-base: 2.2.0 + cytoscape: 3.34.4 - parse-numeric-range@1.3.0: {} + cytoscape@3.34.4: {} - parse5-htmlparser2-tree-adapter@7.1.0: + d3-array@2.12.1: dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 - - parse5@6.0.1: {} + internmap: 1.0.1 - parse5@7.3.0: + d3-array@3.2.4: dependencies: - entities: 6.0.1 + internmap: 2.0.3 - parseurl@1.3.3: {} + d3-axis@3.0.0: {} - pascal-case@3.1.2: + d3-brush@3.0.0: dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - path-data-parser@0.1.0: {} - - path-exists@5.0.0: {} - - path-is-inside@1.0.2: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-to-regexp@0.1.13: {} + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) - path-to-regexp@1.9.0: + d3-chord@3.0.1: dependencies: - isarray: 0.0.1 - - path-to-regexp@3.3.0: {} - - path-type@4.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@2.3.2: {} - - picomatch@4.0.3: {} - - pify@2.3.0: {} + d3-path: 3.1.0 - pirates@4.0.7: {} + d3-color@3.1.0: {} - pkg-dir@7.0.0: + d3-contour@4.0.2: dependencies: - find-up: 6.3.0 + d3-array: 3.2.4 - pkijs@3.4.0: + d3-delaunay@6.0.4: dependencies: - '@noble/hashes': 1.4.0 - asn1js: 3.0.10 - bytestreamjs: 2.0.1 - pvtsutils: 1.3.6 - pvutils: 1.1.5 - tslib: 2.8.1 + delaunator: 5.1.0 - points-on-curve@0.2.0: {} + d3-dispatch@3.0.1: {} - points-on-path@0.2.1: + d3-drag@3.0.0: dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + d3-dsv@3.0.1: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 - postcss-calc@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + d3-ease@3.0.1: {} - postcss-clamp@4.1.0(postcss@8.5.6): + d3-fetch@3.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-dsv: 3.0.1 - postcss-color-functional-notation@7.0.12(postcss@8.5.6): + d3-force@3.0.0: dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 - postcss-color-hex-alpha@10.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-format@3.1.2: {} - postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): + d3-geo@3.1.1: dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-array: 3.2.4 - postcss-colormin@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-hierarchy@3.1.2: {} - postcss-convert-values@6.1.0(postcss@8.5.6): + d3-interpolate@3.0.1: dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-color: 3.1.0 - postcss-custom-media@11.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 + d3-path@1.0.9: {} - postcss-custom-properties@14.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-path@3.1.0: {} - postcss-custom-selectors@8.0.5(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + d3-polygon@3.0.1: {} - postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + d3-quadtree@3.0.1: {} - postcss-discard-comments@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + d3-random@3.0.1: {} - postcss-discard-duplicates@6.0.3(postcss@8.5.6): + d3-sankey@0.12.3: dependencies: - postcss: 8.5.6 + d3-array: 2.12.1 + d3-shape: 1.3.7 - postcss-discard-empty@6.0.3(postcss@8.5.6): + d3-scale-chromatic@3.1.0: dependencies: - postcss: 8.5.6 + d3-color: 3.1.0 + d3-interpolate: 3.0.1 - postcss-discard-overridden@6.0.2(postcss@8.5.6): + d3-scale@4.0.2: dependencies: - postcss: 8.5.6 + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 - postcss-discard-unused@6.0.5(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + d3-selection@3.0.0: {} - postcss-double-position-gradients@6.0.4(postcss@8.5.6): + d3-shape@1.3.7: dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-path: 1.0.9 - postcss-focus-visible@10.0.1(postcss@8.5.6): + d3-shape@3.2.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + d3-path: 3.1.0 - postcss-focus-within@9.0.1(postcss@8.5.6): + d3-time-format@4.1.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + d3-time: 3.1.0 - postcss-font-variant@5.0.0(postcss@8.5.6): + d3-time@3.1.0: dependencies: - postcss: 8.5.6 + d3-array: 3.2.4 - postcss-gap-properties@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + d3-timer@3.0.1: {} - postcss-image-set-function@7.0.0(postcss@8.5.6): + d3-transition@3.0.1(d3-selection@3.0.0): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 - postcss-import@15.1.0(postcss@8.5.6): + d3-zoom@3.0.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.11 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) - postcss-import@16.1.1(postcss@8.5.6): + d3@7.9.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.11 + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 - postcss-js@4.1.0(postcss@8.5.6): + dagre-d3-es@7.0.14: dependencies: - camelcase-css: 2.0.1 - postcss: 8.5.6 + d3: 7.9.0 + lodash-es: 4.18.1 - postcss-lab-function@7.0.12(postcss@8.5.6): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + dayjs@1.11.23: {} - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.0): + debug@4.4.3: dependencies: - lilconfig: 3.1.3 - optionalDependencies: - jiti: 1.21.7 - postcss: 8.5.6 - yaml: 2.8.0 + ms: 2.1.3 - postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): + decode-named-character-reference@1.3.0: dependencies: - cosmiconfig: 8.3.6(typescript@5.9.3) - jiti: 1.21.7 - postcss: 8.5.6 - semver: 7.8.2 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - typescript + character-entities: 2.0.2 - postcss-logical@8.1.0(postcss@8.5.6): + delaunator@5.1.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + robust-predicates: 3.0.3 - postcss-merge-idents@6.0.3(postcss@8.5.6): - dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + dequal@2.0.3: {} - postcss-merge-longhand@6.0.5(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.6) + detect-libc@2.1.2: {} - postcss-merge-rules@6.1.1(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + detect-node-es@1.1.0: {} - postcss-minify-font-values@6.1.0(postcss@8.5.6): + devlop@1.1.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + dequal: 2.0.3 - postcss-minify-gradients@6.0.3(postcss@8.5.6): - dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + dompurify@3.4.17: + optionalDependencies: + '@types/trusted-types': 2.0.7 - postcss-minify-params@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + elkjs@0.9.3: {} - postcss-minify-selectors@6.0.4(postcss@8.5.6): + enhanced-resolve@5.26.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + graceful-fs: 4.2.11 + tapable: 2.3.3 - postcss-modules-extract-imports@3.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + es-toolkit@1.53.1: {} - postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + esast-util-from-estree@2.0.0: dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 - postcss-modules-scope@3.2.1(postcss@8.5.6): + esast-util-from-js@2.0.1: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@types/estree-jsx': 1.0.5 + acorn: 8.19.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 - postcss-modules-values@4.0.0(postcss@8.5.6): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 + esbuild@0.28.2: + 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 + + escape-string-regexp@5.0.0: {} - postcss-nested@6.2.0(postcss@8.5.6): + estree-util-attach-comments@3.0.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@types/estree': 1.0.10 - postcss-nesting@13.0.2(postcss@8.5.6): + estree-util-build-jsx@3.0.1: dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 - postcss-normalize-charset@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + estree-util-is-identifier-name@3.0.0: {} - postcss-normalize-display-values@6.0.2(postcss@8.5.6): + estree-util-scope@1.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree': 1.0.10 + devlop: 1.1.0 - postcss-normalize-positions@6.0.2(postcss@8.5.6): + estree-util-to-js@2.0.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 - postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): + estree-util-value-to-estree@3.5.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree': 1.0.10 - postcss-normalize-string@6.0.2(postcss@8.5.6): + estree-util-visit@2.0.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 - postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): + estree-walker@3.0.3: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree': 1.0.10 - postcss-normalize-unicode@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + extend@3.0.2: {} - postcss-normalize-url@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 - postcss-normalize-whitespace@6.0.2(postcss@8.5.6): + framer-motion@14.9.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + motion-dom: 14.9.0 + motion-utils: 14.7.0 + tslib: 2.9.1 + optionalDependencies: + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - postcss-opacity-percentage@3.0.0(postcss@8.5.6): + fumadocs-core@16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7): dependencies: - postcss: 8.5.6 + '@fumari/image-size': 0.1.1 + estree-util-value-to-estree: 3.5.0 + github-slugger: 2.0.0 + hast-util-from-dom: 5.0.1 + hast-util-to-estree: 3.1.3 + mdast-util-mdx: 3.0.0 + micromark: 4.0.3 + micromark-extension-gfm-table: 2.1.2 + npm-to-yarn: 3.2.0 + remark: 15.0.1 + remark-gfm: 4.0.1 + remark-rehype: 11.1.2 + scroll-into-view-if-needed: 3.1.0 + shiki: 4.6.0 + tinyglobby: 0.2.17 + unified: 11.0.5 + vfile: 6.0.3 + yaml: 2.9.1 + zbsearch: 4.0.1 + optionalDependencies: + '@mdx-js/mdx': 3.1.1 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/react': 19.3.0 + lucide-react: 1.66.0(@types/react@19.3.0)(react@19.3.1) + next: 16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + zod: 4.6.7 + transitivePeerDependencies: + - supports-color - postcss-ordered-values@6.0.2(postcss@8.5.6): + fumadocs-mdx@15.4.10(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react@19.3.1): dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@mdx-js/mdx': 3.1.1 + '@standard-schema/spec': 1.1.0 + chokidar: 6.0.0 + esbuild: 0.28.2 + estree-util-value-to-estree: 3.5.0 + fumadocs-core: 16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7) + github-slugger: 2.0.0 + magic-string: 1.4.5 + mdast-util-mdx: 3.0.0 + picocolors: 1.1.1 + picomatch: 4.0.7 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + vfile: 6.0.3 + yaml: 2.9.1 + yuku-analyzer: 0.19.0 + zod: 4.6.7 + optionalDependencies: + '@types/mdast': 4.0.4 + '@types/mdx': 2.0.14 + '@types/react': 19.3.0 + next: 16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + transitivePeerDependencies: + - supports-color - postcss-overflow-shorthand@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + fumadocs-ui@16.17.10(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(tailwindcss@4.3.3): + dependencies: + '@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@fumadocs/tailwind': 0.1.5(tailwindcss@4.3.3) + '@radix-ui/react-accordion': 1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-collapsible': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-dialog': 1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-direction': 1.2.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-navigation-menu': 1.4.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-popover': 1.3.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-scroll-area': 1.4.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@radix-ui/react-slot': 1.5.0(@types/react@19.3.0)(react@19.3.1) + '@radix-ui/react-tabs': 1.2.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + class-variance-authority: 0.7.1 + cn: 0.5.2 + fumadocs-core: 16.17.10(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1))(next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(zod@4.6.7) + lucide-react: 1.66.0(@types/react@19.3.0)(react@19.3.1) + motion: 14.9.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + next-themes: 0.4.6(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.1) + scroll-into-view-if-needed: 3.1.0 + shiki: 4.6.0 + optionalDependencies: + '@types/mdx': 2.0.14 + '@types/react': 19.3.0 + next: 16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + transitivePeerDependencies: + - '@types/react-dom' + - remix + - tailwindcss - postcss-page-break@3.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + get-nonce@1.0.1: {} - postcss-place@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + github-slugger@2.0.0: {} - postcss-preset-env@10.6.1(postcss@8.5.6): - dependencies: - '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6) - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) - '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6) - '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6) - '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6) - '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6) - '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6) - '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) - '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6) - '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6) - '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) - '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) - '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.6) - '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.6) - '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) - '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) - '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.6) - '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.6) - '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6) - '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) - autoprefixer: 10.4.23(postcss@8.5.6) - browserslist: 4.28.2 - css-blank-pseudo: 7.0.1(postcss@8.5.6) - css-has-pseudo: 7.0.3(postcss@8.5.6) - css-prefers-color-scheme: 10.0.0(postcss@8.5.6) - cssdb: 8.9.0 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 7.0.12(postcss@8.5.6) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) - postcss-custom-media: 11.0.6(postcss@8.5.6) - postcss-custom-properties: 14.0.6(postcss@8.5.6) - postcss-custom-selectors: 8.0.5(postcss@8.5.6) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) - postcss-double-position-gradients: 6.0.4(postcss@8.5.6) - postcss-focus-visible: 10.0.1(postcss@8.5.6) - postcss-focus-within: 9.0.1(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 6.0.0(postcss@8.5.6) - postcss-image-set-function: 7.0.0(postcss@8.5.6) - postcss-lab-function: 7.0.12(postcss@8.5.6) - postcss-logical: 8.1.0(postcss@8.5.6) - postcss-nesting: 13.0.2(postcss@8.5.6) - postcss-opacity-percentage: 3.0.0(postcss@8.5.6) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 10.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 8.0.1(postcss@8.5.6) - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-reduce-idents@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-reduce-initial@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - postcss: 8.5.6 - - postcss-reduce-transforms@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-selector-not@8.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-selector-parser@7.1.1: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-sort-media-queries@5.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - sort-css-media-queries: 2.2.0 - - postcss-svgo@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - svgo: 3.3.3 - - postcss-unique-selectors@6.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + graceful-fs@4.2.11: {} - postcss-value-parser@4.2.0: {} + hachure-fill@0.5.2: {} - postcss-zindex@6.0.2(postcss@8.5.6): + hast-util-from-dom@5.0.1: dependencies: - postcss: 8.5.6 + '@types/hast': 3.0.5 + hastscript: 9.0.3 + web-namespaces: 2.0.1 - postcss@8.5.6: + hast-util-parse-selector@4.0.0: dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 + '@types/hast': 3.0.5 - pretty-error@4.0.0: + hast-util-to-estree@3.1.3: dependencies: - lodash: 4.18.1 - renderkid: 3.0.0 - - pretty-time@1.1.0: {} + '@types/estree': 1.0.10 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color - prism-react-renderer@2.4.1(react@19.2.3): + hast-util-to-html@9.0.6: dependencies: - '@types/prismjs': 1.26.5 - clsx: 2.1.1 - react: 19.2.3 - - prismjs@1.30.0: {} - - process-nextick-args@2.0.1: {} + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 - prompts@2.4.2: + hast-util-to-jsx-runtime@2.3.7: dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + '@types/estree': 1.0.10 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-object: 2.0.2 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color - prop-types@15.8.1: + hast-util-whitespace@3.0.0: dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 + '@types/hast': 3.0.5 - property-information@5.6.0: + hastscript@9.0.3: dependencies: - xtend: 4.0.2 - - property-information@7.2.0: {} + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 - proto-list@1.2.4: {} + html-void-elements@3.0.0: {} - proxy-addr@2.0.7: + iconv-lite@0.6.3: dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - - punycode@2.3.1: {} + safer-buffer: 2.1.2 - pupa@3.3.0: - dependencies: - escape-goat: 4.0.0 + import-meta-resolve@4.2.0: {} - pvtsutils@1.3.6: - dependencies: - tslib: 2.8.1 + inline-style-parser@0.2.7: {} - pvutils@1.1.5: {} + inline-style-parser@0.2.9: {} - qs@6.15.2: - dependencies: - side-channel: 1.1.0 + internmap@1.0.1: {} - queue-microtask@1.2.3: {} + internmap@2.0.3: {} - quick-lru@5.1.1: {} + is-alphabetical@2.0.1: {} - randombytes@2.1.0: + is-alphanumerical@2.0.1: dependencies: - safe-buffer: 5.2.1 + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-decimal@2.0.1: {} - range-parser@1.2.0: {} + is-hexadecimal@2.0.1: {} - range-parser@1.2.1: {} + is-plain-obj@4.1.0: {} - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + jiti@2.7.0: {} - rc@1.2.8: + katex@0.18.10: dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 + commander: 15.0.0 - react-dom@19.2.3(react@19.2.3): - dependencies: - react: 19.2.3 - scheduler: 0.27.0 + khroma@2.1.0: {} - react-fast-compare@3.2.2: {} + layout-base@1.0.2: {} - react-is@16.13.1: {} + layout-base@2.0.1: {} - react-json-view-lite@2.5.0(react@19.2.3): - dependencies: - react: 19.2.3 + lightningcss-android-arm64@1.32.0: + optional: true - react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.3))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@babel/runtime': 7.29.7 - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) + lightningcss-darwin-arm64@1.32.0: + optional: true - react-medium-image-zoom@5.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3): - dependencies: - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + lightningcss-darwin-x64@1.32.0: + optional: true - react-router-config@5.1.1(react-router@5.3.4(react@19.2.3))(react@19.2.3): - dependencies: - '@babel/runtime': 7.29.7 - react: 19.2.3 - react-router: 5.3.4(react@19.2.3) + lightningcss-freebsd-x64@1.32.0: + optional: true - react-router-dom@5.3.4(react@19.2.3): - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.2.3 - react-router: 5.3.4(react@19.2.3) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true - react-router@5.3.4(react@19.2.3): - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - path-to-regexp: 1.9.0 - prop-types: 15.8.1 - react: 19.2.3 - react-is: 16.13.1 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + lightningcss-linux-arm64-gnu@1.32.0: + optional: true - react@19.2.3: {} + lightningcss-linux-arm64-musl@1.32.0: + optional: true - read-cache@1.0.0: - dependencies: - pify: 2.3.0 + lightningcss-linux-x64-gnu@1.32.0: + optional: true - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + lightningcss-linux-x64-musl@1.32.0: + optional: true - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 + lightningcss-win32-arm64-msvc@1.32.0: + optional: true - readdirp@3.6.0: + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: dependencies: - picomatch: 2.3.2 + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 - readdirp@4.1.2: {} + lodash-es@4.18.1: {} - recma-build-jsx@1.0.0: - dependencies: - '@types/estree': 1.0.9 - estree-util-build-jsx: 3.0.1 - vfile: 6.0.3 + longest-streak@3.1.0: {} - recma-jsx@1.0.1(acorn@8.16.0): + lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1): dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - estree-util-to-js: 2.0.0 - recma-parse: 1.0.0 - recma-stringify: 1.0.0 - unified: 11.0.5 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 - recma-parse@1.0.0: + magic-string@0.30.21: dependencies: - '@types/estree': 1.0.9 - esast-util-from-js: 2.0.1 - unified: 11.0.5 - vfile: 6.0.3 + '@jridgewell/sourcemap-codec': 1.6.0 - recma-stringify@1.0.0: + magic-string@1.4.5: dependencies: - '@types/estree': 1.0.9 - estree-util-to-js: 2.0.0 - unified: 11.0.5 - vfile: 6.0.3 + '@jridgewell/sourcemap-codec': 1.6.0 - reflect-metadata@0.2.2: {} - - regenerate-unicode-properties@10.2.2: - dependencies: - regenerate: 1.4.2 + markdown-extensions@2.0.0: {} - regenerate@1.4.2: {} + markdown-table@3.0.4: {} - regexpu-core@6.4.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 + marked@16.4.2: {} - registry-auth-token@5.1.1: + mdast-util-find-and-replace@3.0.4: dependencies: - '@pnpm/npm-conf': 3.0.2 + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.1.0 - registry-url@6.0.1: + mdast-util-from-markdown@2.1.0: dependencies: - rc: 1.2.8 - - regjsgen@0.8.0: {} + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.3 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - regjsparser@0.13.1: + mdast-util-gfm-autolink-literal@2.0.1: dependencies: - jsesc: 3.1.0 + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.4 + micromark-util-character: 2.1.1 - rehype-parse@7.0.1: + mdast-util-gfm-footnote@2.1.0: dependencies: - hast-util-from-parse5: 6.0.1 - parse5: 6.0.1 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color - rehype-raw@7.0.0: + mdast-util-gfm-strikethrough@2.0.1: dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 + transitivePeerDependencies: + - supports-color - rehype-recma@1.0.0: + mdast-util-gfm-table@2.0.0: dependencies: - '@types/estree': 1.0.9 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 transitivePeerDependencies: - supports-color - relateurl@0.2.7: {} - - remark-directive@3.0.1: + mdast-util-gfm-task-list-item@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 3.0.2 - unified: 11.0.5 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 transitivePeerDependencies: - supports-color - remark-emoji@4.0.1: + mdast-util-gfm@3.1.0: dependencies: - '@types/mdast': 4.0.4 - emoticon: 4.1.0 - mdast-util-find-and-replace: 3.0.2 - node-emoji: 2.2.0 - unified: 11.0.5 + mdast-util-from-markdown: 2.1.0 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.1 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.2.1 + transitivePeerDependencies: + - supports-color - remark-frontmatter@5.0.0: + mdast-util-mdx-expression@2.0.1: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - mdast-util-frontmatter: 2.0.1 - micromark-extension-frontmatter: 2.0.0 - unified: 11.0.5 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 transitivePeerDependencies: - supports-color - remark-gfm@4.0.1: + mdast-util-mdx-jsx@3.2.0: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 - micromark-extension-gfm: 3.0.0 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.5 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color - remark-mdx@3.1.1: + mdast-util-mdx@3.0.0: dependencies: - mdast-util-mdx: 3.0.0 - micromark-extension-mdxjs: 3.0.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.2.1 transitivePeerDependencies: - supports-color - remark-parse@11.0.0: + mdast-util-mdxjs-esm@2.0.1: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.2 - unified: 11.0.5 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.1 transitivePeerDependencies: - supports-color - remark-rehype@11.1.2: + mdast-util-phrasing@4.1.0: dependencies: - '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.1 - unified: 11.0.5 - vfile: 6.0.3 + unist-util-is: 6.0.1 - remark-stringify@11.0.0: + mdast-util-to-hast@13.2.1: dependencies: + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 - unified: 11.0.5 + '@ungap/structured-clone': 1.4.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.2.0 + vfile: 6.0.3 - renderkid@3.0.0: + mdast-util-to-markdown@2.2.1: dependencies: - css-select: 4.3.0 - dom-converter: 0.2.0 - htmlparser2: 6.1.0 - lodash: 4.18.1 - strip-ansi: 6.0.1 - - repeat-string@1.6.1: {} - - require-from-string@2.0.2: {} - - require-like@0.1.2: {} - - requires-port@1.0.0: {} - - resolve-alpn@1.2.1: {} - - resolve-from@4.0.0: {} - - resolve-pathname@3.0.0: {} + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-character: 2.1.1 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + unist-util-visit: 5.2.0 + zwitch: 2.0.4 - resolve@1.22.11: + mdast-util-to-string@4.0.0: dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + '@types/mdast': 4.0.4 - resolve@1.22.12: + mermaid@12.2.0: dependencies: - es-errors: 1.3.0 - is-core-module: 2.16.2 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.7 + '@mermaid-js/parser': 2.0.1 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + chevrotain: 13.2.0 + cytoscape: 3.34.4 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.4) + cytoscape-fcose: 2.2.0(cytoscape@3.34.4) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.23 + dompurify: 3.4.17 + elkjs: 0.9.3 + es-toolkit: 1.53.1 + katex: 0.18.10 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.3.0 + uuid: 14.0.3 - responselike@3.0.0: + micromark-core-commonmark@2.0.4: dependencies: - lowercase-keys: 3.0.0 - - retry@0.13.1: {} - - reusify@1.1.0: {} - - robust-predicates@3.0.3: {} + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.1.0 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-edit-map: 1.0.0 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - roughjs@4.6.6: + micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - rtlcss@4.3.0: + micromark-extension-gfm-footnote@2.1.0: dependencies: - escalade: 3.2.0 - picocolors: 1.1.1 - postcss: 8.5.6 - strip-json-comments: 3.1.1 - - run-applescript@7.1.0: {} + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - run-parallel@1.2.0: + micromark-extension-gfm-strikethrough@2.1.0: dependencies: - queue-microtask: 1.2.3 - - rw@1.3.3: {} - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} - - safer-buffer@2.1.2: {} + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - sass-loader@16.0.6(@rspack/core@1.7.11)(sass@1.97.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): + micromark-extension-gfm-table@2.1.2: dependencies: - neo-async: 2.6.2 - optionalDependencies: - '@rspack/core': 1.7.11 - sass: 1.97.1 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - sass@1.97.1: + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - chokidar: 4.0.3 - immutable: 5.1.4 - source-map-js: 1.2.1 - optionalDependencies: - '@parcel/watcher': 2.5.1 + micromark-util-types: 2.0.3 - sax@1.6.0: {} + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - scheduler@0.27.0: {} + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.2 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.3 - schema-dts@1.1.5: {} + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.10 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - schema-utils@3.3.0: + micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.15.0 - ajv-keywords: 3.5.2(ajv@6.15.0) + '@types/estree': 1.0.10 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + vfile-message: 4.0.3 - schema-utils@4.3.3: + micromark-extension-mdx-md@2.0.0: dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.20.0 - ajv-formats: 2.1.1(ajv@8.20.0) - ajv-keywords: 5.1.0(ajv@8.20.0) + micromark-util-types: 2.0.3 - search-insights@2.17.3: {} + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.10 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - section-matter@1.0.0: + micromark-extension-mdxjs@3.0.0: dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.3 - select-hose@2.0.0: {} + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - selfsigned@5.5.0: + micromark-factory-label@2.0.1: dependencies: - '@peculiar/x509': 1.14.3 - pkijs: 3.4.0 + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - semver-diff@4.0.0: + micromark-factory-mdx-expression@2.0.3: dependencies: - semver: 7.8.2 + '@types/estree': 1.0.10 + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - semver@6.3.1: {} + micromark-factory-space@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.3 - semver@7.8.2: {} + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - send@0.19.2: + micromark-factory-whitespace@2.0.1: dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - serialize-javascript@6.0.2: + micromark-util-character@2.1.1: dependencies: - randombytes: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - serve-handler@6.1.7: + micromark-util-chunked@2.0.1: dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.5 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 + micromark-util-symbol: 2.0.1 - serve-index@1.9.2: + micromark-util-classify-character@2.0.1: dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.8.1 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - serve-static@1.16.3: + micromark-util-combine-extensions@2.0.1: dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.2 - transitivePeerDependencies: - - supports-color + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.3 - set-function-length@1.2.2: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 + micromark-util-symbol: 2.0.1 - setprototypeof@1.2.0: {} + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - shallow-clone@3.0.1: + micromark-util-edit-map@1.0.0: dependencies: - kind-of: 6.0.3 + micromark-util-types: 2.0.3 - shallowequal@1.1.0: {} + micromark-util-encode@2.0.1: {} - shebang-command@2.0.0: + micromark-util-events-to-acorn@2.0.3: dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} + '@types/estree': 1.0.10 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + vfile-message: 4.0.3 - shell-quote@1.8.4: {} + micromark-util-html-tag-name@2.0.1: {} - side-channel-list@1.0.1: + micromark-util-normalize-identifier@2.0.1: dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 + micromark-util-symbol: 2.0.1 - side-channel-map@1.0.1: + micromark-util-resolve-all@2.0.1: dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + micromark-util-types: 2.0.3 - side-channel-weakmap@1.0.2: + micromark-util-sanitize-uri@2.0.1: dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - side-channel@1.1.0: + micromark-util-subtokenize@2.1.0: dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.1 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-symbol@2.0.1: {} - signal-exit@3.0.7: {} + micromark-util-types@2.0.3: {} + + micromark@4.0.3: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-edit-map: 1.0.0 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + transitivePeerDependencies: + - supports-color - sirv@2.0.4: + motion-dom@14.9.0: dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 - - sisteransi@1.0.5: {} + motion-utils: 14.7.0 - sitemap@7.1.3: - dependencies: - '@types/node': 17.0.45 - '@types/sax': 1.2.7 - arg: 5.0.2 - sax: 1.6.0 + motion-utils@14.7.0: {} - skin-tone@2.0.0: + motion@14.9.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: - unicode-emoji-modifier-base: 1.0.0 + framer-motion: 14.9.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + tslib: 2.9.1 + optionalDependencies: + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - slash@3.0.0: {} + ms@2.1.3: {} - slash@4.0.0: {} + nanoid@3.3.20: {} - snake-case@3.0.4: + next-themes@0.4.6(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - sockjs@0.3.24: + next@16.4.4(@types/node@26.6.6)(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.5 + '@next/env': 16.4.4 + '@swc/helpers': 0.5.23 + baseline-browser-mapping: 2.11.34 + caniuse-lite: 1.0.30001820 + postcss: 8.5.23 + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + styled-jsx: 5.1.6(react@19.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 16.4.4 + '@next/swc-darwin-x64': 16.4.4 + '@next/swc-linux-arm64-gnu': 16.4.4 + '@next/swc-linux-arm64-musl': 16.4.4 + '@next/swc-linux-x64-gnu': 16.4.4 + '@next/swc-linux-x64-musl': 16.4.4 + '@next/swc-win32-arm64-msvc': 16.4.4 + '@next/swc-win32-x64-msvc': 16.4.4 + sharp: 0.35.5(@types/node@26.6.6) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - babel-plugin-macros - sort-css-media-queries@2.2.0: {} + npm-to-yarn@3.2.0: {} - source-map-js@1.2.1: {} + oniguruma-parser@0.12.2: {} - source-map-support@0.5.21: + oniguruma-to-es@4.3.6: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} + oniguruma-parser: 0.12.2 + regex: 6.1.0 + regex-recursion: 6.0.2 - source-map@0.7.6: {} - - space-separated-tokens@1.1.5: {} - - space-separated-tokens@2.0.2: {} - - spdy-transport@3.0.0: - dependencies: - debug: 4.4.3 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color + package-manager-detector@1.9.0: {} - spdy@4.0.2: + parse-entities@4.0.2: dependencies: - debug: 4.4.3 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 - transitivePeerDependencies: - - supports-color - - sprintf-js@1.0.3: {} + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 - srcset@4.0.0: {} + path-data-parser@0.1.0: {} - statuses@1.5.0: {} + picocolors@1.1.1: {} - statuses@2.0.2: {} + picomatch@4.0.7: {} - std-env@3.10.0: {} + points-on-curve@0.2.0: {} - string-width@4.2.3: + points-on-path@0.2.1: dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 - string-width@5.1.2: + postcss@8.5.23: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.2.0 + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 - string_decoder@1.1.1: + postcss@8.5.28: dependencies: - safe-buffer: 5.1.2 + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 + property-information@7.2.0: {} - stringify-entities@4.0.4: + react-dom@19.3.1(react@19.3.1): dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 + react: 19.3.1 + scheduler: 0.28.0 - stringify-object@3.3.0: + react-remove-scroll-bar@2.3.8(@types/react@19.3.0)(react@19.3.1): dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 + react: 19.3.1 + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.1) + tslib: 2.9.1 + optionalDependencies: + '@types/react': 19.3.0 - strip-ansi@6.0.1: + react-remove-scroll@2.7.2(@types/react@19.3.0)(react@19.3.1): dependencies: - ansi-regex: 5.0.1 + react: 19.3.1 + react-remove-scroll-bar: 2.3.8(@types/react@19.3.0)(react@19.3.1) + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.1) + tslib: 2.9.1 + use-callback-ref: 1.3.3(@types/react@19.3.0)(react@19.3.1) + use-sidecar: 1.1.3(@types/react@19.3.0)(react@19.3.1) + optionalDependencies: + '@types/react': 19.3.0 - strip-ansi@7.2.0: + react-style-singleton@2.2.3(@types/react@19.3.0)(react@19.3.1): dependencies: - ansi-regex: 6.2.2 - - strip-bom-string@1.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-json-comments@2.0.1: {} + get-nonce: 1.0.1 + react: 19.3.1 + tslib: 2.9.1 + optionalDependencies: + '@types/react': 19.3.0 - strip-json-comments@3.1.1: {} + react@19.3.1: {} - style-to-js@1.1.21: - dependencies: - style-to-object: 1.0.14 + readdirp@5.1.1: {} - style-to-object@1.0.14: + recma-build-jsx@1.0.0: dependencies: - inline-style-parser: 0.2.7 + '@types/estree': 1.0.10 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 - stylehacks@6.1.1(postcss@8.5.6): + recma-jsx@1.0.1(acorn@8.19.0): dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - stylis@4.4.0: {} + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 - sucrase@3.35.1: + recma-parse@1.0.0: dependencies: - '@jridgewell/gen-mapping': 0.3.13 - commander: 4.1.1 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - tinyglobby: 0.2.15 - ts-interface-checker: 0.1.13 + '@types/estree': 1.0.10 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 - supports-color@7.2.0: + recma-stringify@1.0.0: dependencies: - has-flag: 4.0.0 + '@types/estree': 1.0.10 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 - supports-color@8.1.1: + regex-recursion@6.0.2: dependencies: - has-flag: 4.0.0 + regex-utilities: 2.3.0 - supports-preserve-symlinks-flag@1.0.0: {} + regex-utilities@2.3.0: {} - svg-parser@2.0.4: {} + regex@6.1.0: + dependencies: + regex-utilities: 2.3.0 - svgo@3.3.3: + rehype-recma@1.0.0: dependencies: - commander: 7.2.0 - css-select: 5.2.2 - css-tree: 2.3.1 - css-what: 6.2.2 - csso: 5.0.5 - picocolors: 1.1.1 - sax: 1.6.0 - - swc-loader@0.2.7(@swc/core@1.15.40)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@swc/core': 1.15.40 - '@swc/counter': 0.1.3 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - tailwindcss@3.4.19(yaml@2.8.0): - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.7 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.1.0(postcss@8.5.6) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.0) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.11 - sucrase: 3.35.1 + '@types/estree': 1.0.10 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.3 transitivePeerDependencies: - - tsx - - yaml - - tapable@2.3.3: {} + - supports-color - terser-webpack-plugin@5.6.1(@swc/core@1.15.40)(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): + remark-gfm@4.0.1: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - optionalDependencies: - '@swc/core': 1.15.40 - '@swc/html': 1.15.40 - lightningcss: 1.32.0 - postcss: 8.5.6 + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color - terser-webpack-plugin@5.6.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): + remark-mdx@3.1.1: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - optionalDependencies: - '@swc/core': 1.15.40 - clean-css: 5.3.3 - cssnano: 6.1.2(postcss@8.5.6) - html-minifier-terser: 7.2.0 - postcss: 8.5.6 + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color - terser-webpack-plugin@5.6.1(@swc/core@1.15.40)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): + remark-parse@11.0.0: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - optionalDependencies: - '@swc/core': 1.15.40 - postcss: 8.5.6 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.1.0 + micromark-util-types: 2.0.3 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color - terser@5.48.0: + remark-rehype@11.1.2: dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 - thenify-all@1.6.0: + remark-stringify@11.0.0: dependencies: - thenify: 3.3.1 + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.2.1 + unified: 11.0.5 - thenify@3.3.1: + remark@15.0.1: dependencies: - any-promise: 1.3.0 + '@types/mdast': 4.0.4 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color - thingies@2.6.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 + robust-predicates@3.0.3: {} - thunky@1.1.0: {} + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 - tiny-invariant@1.3.3: {} + rw@1.3.3: {} - tiny-warning@1.0.3: {} + safer-buffer@2.1.2: {} - tinyexec@1.2.4: {} + scheduler@0.28.0: {} - tinyglobby@0.2.15: + scroll-into-view-if-needed@3.1.0: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + compute-scroll-into-view: 3.1.1 - tinypool@1.1.1: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 + semver@7.8.6: {} - to-vfile@6.1.0: + sharp@0.35.5(@types/node@26.6.6): dependencies: - is-buffer: 2.0.5 - vfile: 4.2.1 + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.6 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.5 + '@img/sharp-darwin-x64': 0.35.5 + '@img/sharp-freebsd-wasm32': 0.35.5 + '@img/sharp-libvips-darwin-arm64': 1.3.4 + '@img/sharp-libvips-darwin-x64': 1.3.4 + '@img/sharp-libvips-linux-arm': 1.3.4 + '@img/sharp-libvips-linux-arm64': 1.3.4 + '@img/sharp-libvips-linux-ppc64': 1.3.4 + '@img/sharp-libvips-linux-riscv64': 1.3.4 + '@img/sharp-libvips-linux-s390x': 1.3.4 + '@img/sharp-libvips-linux-x64': 1.3.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 + '@img/sharp-linux-arm': 0.35.5 + '@img/sharp-linux-arm64': 0.35.5 + '@img/sharp-linux-ppc64': 0.35.5 + '@img/sharp-linux-riscv64': 0.35.5 + '@img/sharp-linux-s390x': 0.35.5 + '@img/sharp-linux-x64': 0.35.5 + '@img/sharp-linuxmusl-arm64': 0.35.5 + '@img/sharp-linuxmusl-x64': 0.35.5 + '@img/sharp-webcontainers-wasm32': 0.35.5 + '@img/sharp-win32-arm64': 0.35.5 + '@img/sharp-win32-ia32': 0.35.5 + '@img/sharp-win32-x64': 0.35.5 + '@types/node': 26.6.6 + + shiki@4.6.0: + dependencies: + '@shikijs/core': 4.6.0 + '@shikijs/engine-javascript': 4.6.0 + '@shikijs/engine-oniguruma': 4.6.0 + '@shikijs/langs': 4.6.0 + '@shikijs/themes': 4.6.0 + '@shikijs/types': 4.6.0 + '@shikijs/vscode-textmate': 10.1.0 + '@types/hast': 3.0.5 + + source-map-js@1.2.2: {} - toidentifier@1.0.1: {} + source-map@0.7.6: {} - totalist@3.0.1: {} + space-separated-tokens@2.0.2: {} - tree-dump@1.1.0(tslib@2.8.1): + stringify-entities@4.0.4: dependencies: - tslib: 2.8.1 - - trim-lines@3.0.1: {} - - trough@1.0.5: {} - - trough@2.2.0: {} - - ts-dedent@2.2.0: {} - - ts-interface-checker@0.1.13: {} - - tslib@1.14.1: {} - - tslib@2.8.1: {} + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 - tsyringe@4.10.0: + style-to-js@1.1.21: dependencies: - tslib: 1.14.1 - - type-fest@1.4.0: {} + style-to-object: 1.0.14 - type-fest@2.19.0: {} + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 - type-is@1.6.18: + style-to-object@2.0.2: dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + inline-style-parser: 0.2.9 - typedarray-to-buffer@3.1.5: + styled-jsx@5.1.6(react@19.3.1): dependencies: - is-typedarray: 1.0.0 + client-only: 0.0.1 + react: 19.3.1 - typescript@5.9.3: {} + stylis@4.4.0: {} - undici-types@7.24.6: {} + tailwindcss@4.3.3: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} + tapable@2.3.3: {} - unicode-emoji-modifier-base@1.0.0: {} + tinyexec@1.3.1: {} - unicode-match-property-ecmascript@2.0.0: + tinyglobby@0.2.17: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} - unicode-match-property-value-ecmascript@2.2.1: {} + ts-dedent@2.3.0: {} - unicode-property-aliases-ecmascript@2.2.0: {} + tslib@2.9.1: {} + + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + + undici-types@8.9.0: {} unified@11.0.5: dependencies: @@ -14335,26 +5185,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unified@9.2.2: - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - - unique-string@3.0.0: - dependencies: - crypto-random-string: 4.0.0 - - unist-util-find-after@3.0.0: - dependencies: - unist-util-is: 4.1.0 - - unist-util-is@4.1.0: {} - unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -14367,409 +5197,86 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-stringify-position@2.0.3: + unist-util-remove-position@5.0.0: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 + unist-util-visit: 5.2.0 unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@3.1.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - - unist-util-visit-parents@6.0.2: + unist-util-visit-parents@6.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@2.0.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 - - unist-util-visit@5.1.0: + unist-util-visit@5.2.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - - universalify@2.0.1: {} - - unpipe@1.0.0: {} - - update-browserslist-db@1.2.3(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 - escalade: 3.2.0 - picocolors: 1.1.1 + unist-util-visit-parents: 6.1.0 - update-browserslist-db@1.2.3(browserslist@4.28.2): + use-callback-ref@1.3.3(@types/react@19.3.0)(react@19.3.1): dependencies: - browserslist: 4.28.2 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-notifier@6.0.2: - dependencies: - boxen: 7.1.1 - chalk: 5.6.2 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.1.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.3.0 - semver: 7.8.2 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - url-loader@4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)))(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - loader-utils: 2.0.4 - mime-types: 2.1.35 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) + react: 19.3.1 + tslib: 2.9.1 optionalDependencies: - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - - util-deprecate@1.0.2: {} - - utila@0.4.0: {} - - utility-types@3.11.0: {} - - utils-merge@1.0.1: {} - - uuid@14.0.0: {} - - uuid@8.3.2: {} + '@types/react': 19.3.0 - value-equal@1.0.1: {} - - vary@1.1.2: {} - - vfile-location@3.2.0: {} - - vfile-location@5.0.3: + use-sidecar@1.1.3(@types/react@19.3.0)(react@19.3.1): dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 + detect-node-es: 1.1.0 + react: 19.3.1 + tslib: 2.9.1 + optionalDependencies: + '@types/react': 19.3.0 - vfile-message@2.0.4: - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 2.0.3 + uuid@14.0.3: {} vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - vfile@4.2.1: - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 - vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.3 - watchpack@2.5.1: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - - wbuf@1.7.3: - dependencies: - minimalistic-assert: 1.0.1 - - web-namespaces@1.1.4: {} - web-namespaces@2.0.1: {} - webpack-bundle-analyzer@4.10.2: - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.16.0 - acorn-walk: 8.3.5 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.11 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - colorette: 2.0.20 - memfs: 4.57.6(tslib@2.8.1) - mime-types: 3.0.2 - on-finished: 2.4.1 - range-parser: 1.2.1 - schema-utils: 4.3.3 - optionalDependencies: - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - tslib - - webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.8 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.4.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - express: 4.22.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.4.0 - launch-editor: 2.14.1 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 5.5.0 - serve-index: 1.9.2 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - ws: 8.21.0 - optionalDependencies: - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - tslib - - utf-8-validate - - webpack-merge@5.10.0: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-merge@6.0.1: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-sources@3.5.0: {} - - webpack@5.107.2(@swc/core@1.15.40)(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.6): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.40)(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.6))(html-minifier-terser@7.2.0)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.40)(postcss@8.5.6)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpackbar@7.0.0(@rspack/core@1.7.11)(webpack@5.107.2(@swc/core@1.15.40)(postcss@8.5.6)): - dependencies: - ansis: 3.17.0 - consola: 3.4.2 - pretty-time: 1.1.0 - std-env: 3.10.0 - optionalDependencies: - '@rspack/core': 1.7.11 - webpack: 5.107.2(@swc/core@1.15.40)(postcss@8.5.6) - - websocket-driver@0.7.5: - dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - - websocket-extensions@0.1.4: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - - wildcard@2.0.1: {} + yaml@2.9.1: {} - wrap-ansi@8.1.0: + yuku-analyzer@0.19.0: dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.2.0 - - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - ws@7.5.11: {} - - ws@8.21.0: {} + '@yuku-toolchain/types': 0.19.0 + yuku-ast: 0.19.0 + yuku-core: 0.19.0 - wsl-utils@0.1.0: + yuku-ast@0.19.0: dependencies: - is-wsl: 3.1.1 + '@yuku-toolchain/types': 0.19.0 - xdg-basedir@5.1.0: {} - - xml-js@1.6.11: + yuku-core@0.19.0: dependencies: - sax: 1.6.0 - - xtend@4.0.2: {} - - yallist@3.1.1: {} - - yaml@2.8.0: - optional: true - - yocto-queue@1.2.2: {} - - zwitch@1.0.5: {} + '@yuku-toolchain/types': 0.19.0 + optionalDependencies: + '@yuku-core/binding-android-arm64': 0.19.0 + '@yuku-core/binding-darwin-arm64': 0.19.0 + '@yuku-core/binding-darwin-x64': 0.19.0 + '@yuku-core/binding-freebsd-x64': 0.19.0 + '@yuku-core/binding-linux-arm-gnu': 0.19.0 + '@yuku-core/binding-linux-arm-musl': 0.19.0 + '@yuku-core/binding-linux-arm64-gnu': 0.19.0 + '@yuku-core/binding-linux-arm64-musl': 0.19.0 + '@yuku-core/binding-linux-x64-gnu': 0.19.0 + '@yuku-core/binding-linux-x64-musl': 0.19.0 + '@yuku-core/binding-win32-arm64': 0.19.0 + '@yuku-core/binding-win32-x64': 0.19.0 + + zbsearch@4.0.1: {} + + zod@4.6.7: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 82af3597..0e04bf39 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,10 +1,8 @@ allowBuilds: - '@parcel/watcher': true - '@swc/core': true - core-js: true - core-js-pure: true + '@tailwindcss/oxide': true + esbuild: true + sharp: true onlyBuiltDependencies: - - '@parcel/watcher' - - '@swc/core' - - core-js - - core-js-pure + - '@tailwindcss/oxide' + - esbuild + - sharp diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 00000000..a34a3d56 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,5 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + }, +}; diff --git a/public/img/eggs/aoede-aoede.png b/public/img/eggs/aoede-aoede.png new file mode 100644 index 0000000000000000000000000000000000000000..c51ac4c51b13ea2498f50efca1f9b404342b83c4 GIT binary patch literal 58009 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%0DXhS~p&n+<~62TzeOENAqJbGx4u92 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

    ;8U~8F^>$s&!j^D#bT?IP%Z-l*J|a`K-qOMP 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 literal 0 HcmV?d00001 diff --git a/public/img/eggs/atlbot-atlbot.png b/public/img/eggs/atlbot-atlbot.png new file mode 100644 index 0000000000000000000000000000000000000000..98acd942c12a5b6b93f4442f580da4fe41914987 GIT binary patch literal 21630 zcmYhj2{e@N8#g{mgu+-`EH$!)j7FBRg%L3b5h7a#*|P6T*#?zJ7;BVK)@)_pWgF{Q zvt=h+jD3A?-`{)Q|KB;~oZ)$%`?>CG`COm-a|wT>p?sP88Z`t0x%^NCr450Q5zhWy zqyV4jk0yjdAdi(EqU0ZYCa;WBc|IQ4m;1LXgTMu|8!*P08uh*>R|q7KLyaN_2R{aW zb+Zo;%EyuqY3H`X_+B*s9(-Z1d-2YIUb-7u3E|d#eTIwFcUptF?TSKgAzUU-5h8{C zaw>s@WGR>0w1u|MuX#+`p4aRq`*cf2fXDyAK1u-JIs+TXArNZ{CLRdnKH?Lc3<60c z3!#EQdM@#yA&@}KeY0~Ah-grwD+IC^H@eEvUu@OwWVmeUv%5C#h@^uY2{Z8onq9bX zVZ4t>3U53z}522!0 za`;)9);M)V4fXlmrktNF{YA7vmFLD2XaogBInXBoqIK7_E>Iv@V}T9B;d$xQDVno~Fc9u;swOKmz^(_U;=v8B9=ExS+ISu0oanUJzD8VxpTDmJ_~6Rxos^38OAW zt3o6gn0W4!f5GG3pQti_$;vX3M+GJ9e~CM}1}nl0xtX+FszzO_c=6(QIB)8nGKK?#r15*2To9s=-ja2cifA_9VT`;!=WR>Fhuwwe_Hp?URRDlPq4ib6mNCD?~0Iw z2xE<|sg2NRVWrutY2D(Dt}KE2Vc_S~I2qz96lbc+1MXvK^q$PAY3!-L~VBQVO+xd4>F5F-_TWHI9P@LYw(me`Now<4XM?VL+m0eA=v?`sm2g}54H7XXxXppY$>lA$oEqF z`}>(P`$xcjd59E`x~8fyL|;a2y_#G`M`9PbsV*Nn@B#2S-iX!|0^1!` zsS~@E?1BQ$^5<{zJC7xmCEro;BAaJ$syM(0?=qWrP-enW!L`HK1wiEbNG3P&g@r2iT3^CYUjKK zlgIeWGEu7w@beo0-w(7&h`BJ@*4syFA6zeA3O)V+9U2_*hq0Hvzoax%~WkmNAE2 zC4z6Q_FqAwfq4q{h_qZ#doloCJ_l_@hUH=6X}Sk)^`ML|eDMXwJ+X^XxMVP`e`v_$ zDKL0Fu%)%UnS#-6KEB0YgrD@ieyILI*Hq72u%}A1L#VBy?gc4RB;EZl>F}ElUotZ- z;iUIlTU$BTIQ5n=$PesTtO-i>$p176wWX!2JD^9zL0}*yIMvT=jMWjkMO7Jk8HVU(T>0B2=^kHL(Nk0^PsUZ*G`i2~*oVN-RnMxuOPBk< z5ruJHf(Q@s6v}rgSYK6?PW7|(4iwYf6v{u=pWyX<;LCe=WrRdWFfv8bl(0c@yfDpu z-x@CvU7{eE1v^&V7X&h&na?B8RFEW*#K27zC5$(y~No1L4>EHlbK z#O+%V#wJ`ju!7JLO;o_MpAO?Pqd)8$ZTL(LJefEJZwd*mp2YyI%|P}*RJirUh(57w z?ANCCUE#dEyym;&-$j{tu6&G(i$kNVw!x}y!#3eAnnc`R2pOgtrD!D5mUuF`o7W3m18y$ClqH_eY9KiZ3> zP~Omfl+Xinc6R<B%P}C4P+1Y~SHsE)>yVk}lYsWyrlO-D5@c#s#`dU7|_U2bH zzoR8aP`wD6xBUUOx%GD-XDF%5nGdX;HKJ8U^&3se;OTH}!0Eu;+}xr1!t1?2aVhH` zRaI4kcjA{dFdUr(8$9X$7PfU#>3K}|!c#kBNBY+KWNm!MT%rmp9#NdLG^F(W?chOg zOiauZ0#7i=;=%KON=ix)-a9J>1cCv+5nQe!36)vd_MYU)__QQFDgN?LT^AJ<)hR27 zE{B7rITVUH$-*8DE^prn_gBTT@}VU%fbpc*Xj_C6%6~2i(zC;g!m%fOFdbjnNiw1r zZ6@%7-@oixl6;`74AED&x3>}TcZ?4#gJ=tx zDQ^Ec(d>q|LVAxMH#heO^#zIK*RNmeU>BJ&U5>9bpWsVrSr?L7_KZx=^P%@RK^Ep! z{T7zs6$n->11k!};`Q|OPV7Mij;nk!QpUS+3e|!lJRIsZ*{LalJob-IMnLZUJ@`6} zb()@<@!BOeiSJRwCAJR25U%T7FBj}-_+m2vC^Fgx1~zT?BEbW)RKHEaT^w%7)?&#~ zvopVc|4tJ!sqxjhRYTE4$%O9&TbX%_hi5__<#E?VfarB2``Lh@=FYw^Gd_q-)!+Zb zKqIRdi}h#76fW08rEYpxBR+3!-}vi9#{XRxho z&~Nn7HnM5!mPCU(HYWV#OV>mfSzy-`Q8;`ta6_!7txVpRFSF`I16pp72qJ+O*Ae6_ z=6CQU(J(CfpLaD~QWqKK6MRNrUcP<=wRI6eC-z?^`GIZyY`7e+rlz)=&_(h)gG4gk zTV>yz!dt`fB(_ZNyloSu+31)U2DS0?p{Iv<@lC)>pwm>vh z)4&qhonAJ+7MZZ`pV@B!fJoG@ISC!5StWplh-bgagh^f+$azw!k%H{hRyDRm(x3+9 zN(PC3vXcr#dD`Yx_gx*;@h*aRLRViy`!#X5fKgX^tTYpb4OkPrkQA;w?Z3Fu&MU3? z{N>A+VPNR9@;|)fTBCqsSGNjhg6{J|W#+fN{eW#|!7JB&k`JO_>@5gi^aVM@8}-}= zeub^nb7Oi}9YhSs3FPq|Zd?dWv-vWi4jx#MGV0l7iXg_kDqqTX?9_-*0AZ3FaC+%8eO=vcTIg}h`fh+3vZubnW1WLTo%V0<=ayzrjHN3l zS?Ht3QCsj63_7T}y_O;;%&C5SZ5Y`oD`RY#wF7s$kp?pVBdzmwVWS?Z@-{}F~Bk;(;r!D+t}EY zFG+`KKYH}X#%RH|(q_n_w@i6e5w=T z6x|f8^i}GR)Y5-I%O2VlED64R4lZi#?q1K2tq8(7 zT49XJM}x7}Fz+ZV2gnEl=mklppQ9-Su@zBR|8|0Bx3w8;^V{G-^!*!;jP&$a;3<@} zbi)2LDr#!idqCMS$8^E}3zRrGX$w^BPO+4^M-;Sdp4tiu4c4%V7FQOj9>dztrKyh% z4GqnaG;G(XiQj?484JQR5hQ-#gRY{fJew##zvD{+@A&Q_5XS6C*FB{fnJs-O^;`IR zT@pt%H8uVfy5gDN5lr}-`}_Mi-~!?(S8ffa!mwZBjaHzUC>XN+_LedcV8s+%YU)X% zc6QW%5YQiX5Hz%$f=0;`z5YDqBP>n<9JvDO6b*oNDA7RNQylGu=pj$0SjWcD%Q|O; z^{2666o<@jflLZ;H{hK+dB=G@qS6#J*eT$ zdk|SP?6fTcgt6xT028QGv7i>yp()Qc&=0Tu_vc$R)b~#FHw@9-sI5<+g_(@FZqy{e zgz3-$)#Pqwze^eGa{=4ZLCr(o8Y^{5$yo69gEz&s&ln~84mXVD=qR~eJ2s*@>BibH+?_NkU zMJh`>C(zR8fF&~nNMo7V?>2lmAbSS+k1zm2)f)b=8_B|xj^1}Bi4T?94z1-iH8t52 zk~LBKyS8*zSy@@Tixbs8bKuc6BJ4b=rompZfIc9Ce_0}=iy%{G|1BBpw#nm-kBiew zqID?&DdvvVe0=!Vy#FDW6kOUFFmqvMX6EZ+32cz22Ch2}_Ut<0&7r&)4CYAR>sm0h zj7XXDWMX2vbR$EA;9L4X{Gebf1G4w5Ffam=X&wq1`?Nu@$n=K~A3h0@`hb%HjhI%U zI1_cX5lED-pa-h(G+d5LO`XWGXnD7A_C9xE*RVq+GT2rm6bH;ac`KtYJ3HGLk7&Ne zG;an7j904Pq{6LZ!2@+~LcLP4so(!nED7<8i~m&C*6vdz_|hPx)E8bY(ns3^pcOA< zT+#3BbN%U6YLX9l)r#=5zV^i0;(vRYQ<|!$tzA?HvOECtir3P1Y6!qdXrbTw45Neq ziy#L2$xrapNPw>#Y>kTDW0v3mC~2pcrfO?z-yNM-=I4)UA(d$V)g#K^$UeCVtKB(E zN0fy~K>?fD4Nnd|Rdt>W#z+@ZHs)bJK`UVOG`_ec`5M=PP+UbE@%~m;ucB!g4J<-u_woe zyUyiCyKs`w|9(aR_3B?B9aFKsKb0G0!T9_8`(*Z4t9~K*S<10HVwEQ2_owbv znE?;OLy%2ON^FPnCHVPm*rArwWynzp9QFY|E6WPBF(H7($`fI4rMA1*U?;8q9EL~( zO$`Vi-$sHkwsq!NfkzG~4cU&9HSAA+I`|1gk6+`Q3MP3_&!54sRI%`;4}XEnaCBc) z{WgldsChcl{j}cnpZI?SO;A(htMimQPRNvkyDoU(2=_i3F7y9~qvX*M%MEBXwGMT4 z_2cr!slBVId&QK{5ndS0xmR^^**Q6K8;8fXXsZb2)zP2puD`BY87;XYg}F0|zdwC1 zBf7>i3vy|qA}aF8zcz2@>)Vb7*UIrAz?q4VqSUQkef>6Mc=`&<1Mkb#VJ)m>MFmbN(Yf(V8z`o@XzyxzD>- z9*U5-RKG=@IY+Ny0aLU|d~9r$1yb!xvyvGGgZZ%vV66~AIu!?i{8^gjHeAk9RaJck z`mdTf_ez?N+7<~T|1;~GUGHiqzus%4kfjaJe9Sxyvj(sVu(uso#?rle_qq%83(sZU z(MQi97p~*>Z(`Q$Km?>>$+3%?05X^hrd}Oo6M32d@;E<0fk#|WV*)|s@RUqh8TBH3 z(Gj$RwL;*nKqGwg9e4*LKnj_$piF{T*@$dqJltJBwea%V_a}N8YNJ`+w#;0eC_|Gk z^V_3PEDXJk|G@`P51lo|SFoPg)u(Nq2WRJqS`fqdU(uWy3B%^T zkanlx{nY{ogpA9KqF0%pITvg*V(=gw)C)_HybBWe(V%36X#eHF{OW)A);jOBlQ3i! zmbwQ&>)151Nbv+;x}BFl=%D)#P$$|?pB@fx&UO66b-CmUnk1a3q+R*&{{6qFu!>>4 z&*bkIY=2~{?R7D`D?goPekB}}1u42zjsyQQVeBm>B%d(=VOZblfYTF&+DVfiE(=|t zrYUz6g^YlPRLc0y&>X?&K5Fk(5gBykA&T3-_H-R~w>CTbuL~d=iU1*^VL4w9*taM2 zy^_Px0w*ELNvM)OP?xn#OiZ+mjoA^bO>shm+}zv{uynil4y7r&gB`lxu7cRWUoE{^ z6z5(o#0wfs1I~p2kWg*^)JuXnCiw=_Lc{tT$aG&yPZ~kTbJFdaIQEVHu_VI;c%R*97sY`3MLJ`6Xc~u&n}9@u7h6DN3BEY+Rpv zYxz)*ql7(z=o-lB{EzcxnRFvpXK*mNvjp1}`(F~!kz25zAY1%&Dv}c2@UG6mE*kzE zm3hj)4Nv|0mTqcy^QC;~WXt(ibsn{Y5|vDdTs<0jEBh+V&=u3|fFvwT}FB=hG(nW1;Z7p`_ z#(ycmHqiihmHXEQL@&Wjy?!r{I(rP$xL{7z$~Mx}wQ^y~u~QkBqHfQa>GkyK6ooOK z1kpu_H3qnq8_l{RYY*MN^FX~cZI2&G3qA{7yv@%~6$Nkckxms)*q6nC3c#~xHnltb z@?j_q;%Il{Zdv#@DCPtHrr+LmXOR9vd+~!veAvN;Dr(R=PZ<#3#-T;QGgG8}7C^b= zfK&?F#xT}P6xS(4r;5Hv_&h@JC?~k~h^O0>T)oo`3U(+oOFMgsN)T>Uj3tcybe#OK z@q-L;h1syy|2W};2GZs_^f&_NlR!&;>i3oRNS3X8y;?-F;iv}hsOMQy4ty}w(NNlW zpy?WP--V9}*}c3i`?@GN?uQo%!|rb%-s)wzJekyG;Xyf>^Jbywi#~^$|75+UMTlI( zXF_mraA?%ONyX>))+RPKKtW19S}E>k0WHNw_X5f98iyr5GgGFo++~3V5I!Uw*fj#d z7;RM?^ionxh}q_LyC>(@CUrA0$^OUopa?2DiM>Uo&tY5N{ljk7y*eK?b;Amto}K-| z0+e?()Ry+MXV1dGJ3FDaTrg`GB+9gu}(*&VjAvhP1xGB|%`RbhR%tIj$DUJ6#_WqiOXuRkN7>ctR$QNFZ>X)B}7+Q@ux?lS5C$XORaq7BgZrfrf)r|GfR zx(VWN5*6OXV5ENccH?@q=h{rI9il;6pZN9ek@>|aG0W#u|oMZm@IyXN@>AzjlOp$hh63{~=SrCX>9Y z9YI+>hUIM=!-|GnIdl>!E>A^22PtYzmxIh<;@%7I-u}TsF(b=+Db)|fykqoGwDi4d zhRfgHUVnDJDG&5)f=02Lm)Rs<<`9>vQgAYOgwpjj9S(M;dHI^t#|e#7)}A-`j?!Zz zI&$tnM^sU1d&ei@rGpc1uZw5!)$0Kk_{i{ZXLWKJ6hI}AGvgV1=`m{#$S1c#Xc&~d zwjL#f^*nx~zWlBsK&DJ$CIp)cTKj-8Ku=Zyu&4{@$b=%R?$mLgofVuCYVO;&Z;i3q ztWYg7#80u5JnryTk9C`=C{H$W6azJhlFcYtUA&%=k@5PE-=Bw5v-23Ehs5oMUp~>* zWlr_IU=0`|fksZ$7V7lmSW`nqr7R6sU^ah?IPz{_N`pb(fTMcv>K!G0V&_IhMa8LP z0Adi^8fLhx29j(kpITt!(+bz6cmPjWU=^ZAE*8k{-WP_NSMRh3b!P=zghA)EsB14K ziOHy_s91YSd|e8$v4m}2KxhIW8E|$E6z2)ft{8i30R+vbiITRM6OF~Mt|a20S!|q} zd;xEercnJB%4$|7kypc{gxayrBy z#cIzaczth^2C1ltRwgn|D5a7Qu7(XKhBf~+-|R0MOs||7Qma)!Xji?@}*f$62hhh zKo2ui<_tBMXA$?WK#iNA*5C2FaqDSX;YDu%yA>>29hj64sjcmt*r1R0L(S%ZT+R_xI7G0Z%j>`z%PfWi)Yp8;LW1f^nKu*S&ZcSnOfmgMCV zLmJ*>{A=C(lQq(idG*BlV4JJg@DvojW3k(2;L3Z?h9>~>dj^f36kXHuL8p2vxRtep~N3TuR(l*$3x^r{-*P3@7Kkdoy8V`_ZPPstInu=bQ^{-Prd{1EuIKx?9Bu@rZSWxb=vxy{`h!ZF}== zQiY?;a()GFCc-5Y*L5Bey&cf)p&{vL_m%m<$3n6Y8xd80N=7SW!U7BP0)hQ$GR_9c z2q~$0NJC+i+9S5Xo)rn$*>jyi{01~SghqXaF5$!!QrM%f?hRX7woZQ#_unLyd=I!o zBUc|07J7v>(%apvJuj$0)qwuug*AWk$8*l$xc(0g)m=n9 zD4hP++;tg7#T60Zk~*wh--e(O*u`~SF!lH_zbp0e;|x1S7W5s~23O2}Nnl=NCU9B{ zbd}Cvtj1A{|70$}%>ble=M`duza1&OW_dO3-~2V+*lDIP=c-4sxZYS}nQ2BKa}y z{LL1OPd)UXhzeM3^-z^boRfIAVEkds8$7=|n|z@??zWn{wt|{3p!xyrY@uWv831jB0pH!niXUejoSRSwsGDfrCkDVqmOHQzv zj9K~dF(oeeSS*hfJXuY8vTdX8cdLfuzO=;dL9A%A^vcn7oyN~?BwTsW655oOnrNON zDN>Y{b~jn0MVK;5Wq`l$`fe=eYYDiCX6=*(f)D;S+^v35FIMNL|{D^K}_6& zX_aR|YnC0{-*7EubqK5w4vliW|><_4GUt| zmCxVpXobzOHJLt^{0pI;= zT<{!lc69ekl0E#QbON@L$cRiitolw7OVXysWnom4QxvXl=I4yV?yC*W?RyugjI&&Cx{)D)Ti#3gE}W3tW^EFiKKFePd9& zo!%8$&h_b@G2P}-*?%?9s@q+~0)sA>*W@g3)$oqJRIR1`9L^W^F>^@AQ1Ut(c?gyA zTil0)r3Q`JvVSYkHc?N{T?Xhigxhnk@FhD_M@F9as>q+Gmj#bhas{DUw5oSg$Py`c z;ZtSoRiQ3D|MG`z8Q&y`)}Hq0Ezs&mY{$~`UolgNv^H#%wDwfpm2IqihAjT>oCZ9D z?!RCg5&6hGBg%p0djn5b;-7aJjc{2l8!-^?C9kTv;mku=A9d<$AR{KQ=V-;zU-ncC zV##94l8BuN$si!}`L-1Eq zo-A$Y-%DsiaRJ{aDLn|^^oSkWW3s^ zJu6~>i%;!4^&7a*160!;Da*o)bgC7>>n6#?uq&531-xtz$LQJreI$%9il$u7Sg%^v zIWT#t_*?j4Z&ZS0r)#P;eYEj)f#;IY6bryUU!^8`+ilC(46g<9iQlZpNtMC(WuYVR zSygZA_QcKFUQ{2RBtNU3F!|FWM%D9u_?kIpbZnHic5pJlX@* zUfxtyR@rU=U@GEvhmXh_V?66rGxrRn^0JtO94~y$-}O_Bla*LiK0Azl_1Pk4Ne(MR z>nyD!Dzy-MkSG&HD04c#0~q|h|Ci{d&G5yj4};p@?u~EMm8;2$0vQH7u&E7UYmGcCbf{Nbw@u9I)xnCol z{}rG2*)@>NmuL}lEZg`~@6jzG9zMXTx?zp^(R?9F^wWZEsqAV^x@9+7I_%%92iy1N zNY?2v^Y&ZQt^{!cf{*>m-AoVuFQ3(EkW_PhRO!Bire zB0nu{wjH#bx+)_hau%SyRZ0a;`zr5b{hv)X$ zjwaZ|Xpfy8^7X+gQ5{W4!viU4f`u@+RB9|RpXFg$?pKM0a6hJG>HmV=Xk)f8YIDt5 zV(%eQGDF>#KZjYyZd%e(f;bTRl8$kj1yQO^petcs_?SC~m zO&|Zsd>j8saFxdK2K_Fmv#fecZcbNAh5f9N6 z-bB>%57;r6$)3#OYkF@2?SX}Uq$k{EC%CNhcU5$_#_6AVNXJt*+e$+b&0-ych(~!W z$BSguwNGX~6!57f0ojjTi~PGKP<=IMLSFEqIZIiHwqYWmni#S8zh)j?>%Y>w8K?4f zvBo9N&jCrJPf5*a7lva(L}4_p-2+KOc`&CA;X*C2tiDhb(YC&@{e^t{IzvS&^XLnf zzoY7XiXL(=*NOsw0ASD}hm#^ONW?`sEC`>1rph^6*~ZpPS<7be-`@n4 zzUYa*J$C=#8q3Xg4LH9K!8Q8>o8!B*aVz;7Ol61RS|2;qts;IvK{aYeHQH{9h(bB&?P>Rp;&Aj{4{?7^n4x zA=Q9BH6wQ`T8f73Glu&7mqeS`P*!;pS zX`ame$*CCM_MFR(w}#meM-1D8_x+@Jz6DbnEV}Eh+&$YBH5n>Rsr!e#>e7@+26esi zW`YGJjimBdSs z9uvLZHG7F~NqjaF%AB^k-ro11B(D9D%AE?2#h8vqaWAC>cjqrXujVfbxivBR<4(>( zN|tRjWhquDt0-Y$?v8W*ox~KxYCbE%97A^cCFIyexJ<LCYr=@VHacqrQVl4c{Vt5hggnqwS9<)nEW=zlD z=NmRD8FucxCh#|d?a0m_lh*!vY8)KSE|{LdICaBeKtT(X#PdnM6y~W#;W$^ zkV&`b=B*7b(qTET@RdKhs?{$RitK`mg0c4j8qkMFzt&NX>%KHNM9Z3f{_I)-J=JeX zM&VSpkr6H&S9FqDK8`zgRmx@(zl5BhczHW4p1Jb##yzqXYMr8<47|zVh)+ZE(y2a6n8KNdFgqk@`{|d8&yX+3VK%`y!|IPsgvwh9>k`DTP@Cgg_DB!ehgB+ zWx@};YwfvfaEdFQ(_3GDS}U2_eF#$FROI_5)xy;^*7FIW{07)En~iitOCClQx|Nmm9EiJgoPxj{}P_O9{mGj1BOTSO=(1$pPr!)uSx0C*F zMO*lOVUc5ELefkA^zcKhVHQ&q1~Vp02EPcK z|N6asIi1{v@gA>aXQPEFdx7!|#?U znMv@tU{WMz;piq)cFIcy)lr?4c99khO_uXb0MOLuhJVR=$9JkGvnt(~f4vg%L5H7X z)s-jDRv!Rm^6x;Useew)-O)4ghs6xpAjDK2$R%U(Z^y$k3s~x-(Gb(C;DayxAXA{&js-F4?E0J~FFU;8i)o(fuK)6*D|JXb|iCfnwIC zvWCZC%WXRb6hq;g8Ok6X?DYSZ#Ni%H`*T82jG)ls(fqk%a5vOGU+?2jrM{s1f((OP zZr;})J;$x19Gk`-+rtdo0@4r&{VA|KF;UEY$Z!IjCSg%(-xqF*F=C*vkyi?!CtX+riq&wn&|-KEwHk z@7JqNkD6`I#E3vJ-;@dL*0S5h@v!N`N?D=Lt%oY7YoI#)-o%Q17e=4TA0?`ItC}_E zxK9jMXNI@R_Ie+U;Y=niK?_;}3Z&C|TSNAFlx|do@cL$K;}U36|E^z1i)fFre{-WfplS7wqQEL@j|=$~?5q+R#9YR}I0R8!j)tfG&KTiF7$(%s5Y~ zYOb8zuBibsZ?V18@E#55@jBhJvAzDVfRQ&)?mDOYW(^`{7*=S?@|VGdRGEzJ{`y88 z7IKAGm1$RW%g0>Btj93LHe3Tftz4 zMBDW92U~}sf__YvR6Wk1m0@X&_&6P0`zC3C*RPsd8bRqesKpKIDE*hWOJ}?S;N}eu zu=zp}xDRZ!iS7*Cf}Bs15d>EbsUFys`{d-xkd_1YdbA8;Zt-8SSGLTI}R=|LZ zNI32whA0x?>$H=!TjNggW8{1wR?$oWZJ`$*$>p>z|6JU6NzI$Edtq(jtyrnR(O4$$<@k)wgV;1>CJ9|zugh6QWcPtOSs^k3bX;bCv71_k zL<_LH5Y#zpM#KJ@?vHX;`qGn>i0(uK2*i*9d^o5O)1sVv;9}glMl6Y2f@wP<86fx7 z0M$H=mF?9Ab}PkfcQwbTV%c# z&$P%+-77OJauH$<1rX)G%60}(3UX+kzsQR}`R}6S^)yUP|zx;q8as+u2vS^we?M`m(q5O#%|J z{vED7kU&K+zhH^3b?+Pkxi$Zj=_1hj0udPGk0}5F$!$*x3?EfgRHf0j<-r~UDG~&d z4zJHxEWIC`5|&Vh9; zP;$FoaHly3(E+c3z%%E2=U_Tc1cf#~v5Z)q)qfgL|JxBBzR$!YcwI3zVFpI4wvge5T@FQr4TVWg4Q)rY$!hpaSEYu`1Wq-X;bM%4|yl#;h$CH+R7# z_qProEE09=Ig;_dOQ{W!=M_#zeIalj^gfpmKTr0&qEq}wY>;Z_d6rpw6k;S9YZDQf z-;Z*=sZ(znPKdF$b)jemyTlY9Jb2Kzl$CZuiSe%kE|ow zt`oh?+s?3p=2b0!1C?2r&|@29l)9PbAFkHUPMJ!ey;$eVbN~v@M7j_gv(cIxhX16H zX4}%$a#!9TgLE3xLesGz^sKrligrmvB7iYB0~}~(Z7&b4D`oa8z$)roIV6xkQOc;k zwawsw2%sq4$8f2VtbHq=K5Bkr`h7ZRejr^$HZ;O^bKF`Jv4{&}&6b%ZOrzxaUq z_hLVTkl)+icBiU861x~|&)7>pRkQuYvt~wA2<)?6b1yj5pGuMP*kR~JVb;u$^lVaD zOOPJlSLacYrw_)FmewgQRO{A$=fF@0f1I>Pwlm&kK#5igk1fM!X9;e zZ4A@YIxJx6V9Cpz0RDKRy`!U&IQ6osjz9%uVjT^!c5i3~81wd7xdY}H+iHTv+$C|| za6}R~IuQ3e*ph5nay^N|Qh)>!{i@*&W2sL-pqjpLt{qttL-e9&z~3Kfhd@+2K+>^)4hY5>6McNLAo1G#@Lbkf0r}^w3-d;_0-H+N^*O z2HEtDi`$`u*^(eK)32z1r~LJgl4ZhGJc6t#0|;lffVAOBtacE9kqG$o_i&k~5=$R& zv4uxM)gmwNXP+Go+`KI=zUvU*u}#(9Hvw-b!FA?HlzLz8KM%a8fl&lx_V( z54kY;_0f_DZFl>al;iwQovS)!yXhzFJTI;vKZjtRTUxq#lpFp0Z*1(BE5~;hFlsQc zGOKaA&*=8oIpUY(f(@&W(j^jO8CbP%@D3mCh3Ovdq{o!;fmBU z%zU2x`^%SG%J%m5t*)|xaWUYcCW2q3$GR+<-wgrH1Q2i#)T`4dYj@p(%vp95;)&lV zcOf{FWL+CBv}glb!=FiA6fdiQ>O(_QL!;(BE&vVYHp^20+jjj?!b|;nq{EDfhCR}K zW$zi#H3D@^fl0OZHUn^#cS;Tp4gnaB4gwd@(G3ST1Y^wR5g)ZrySlpk3xQJlw^f?o zkG8Wz0EwA52qYNtIv|5pyuxXMcrs^oKX`?)n14r*{x#<;)YaZzA&EdRs%g{}foCle zIyu8Qy{UvUk@IS+_G!W?xE7bPx#AK*SKJ*w)%wrpdp37m)_^+)b3| zwgwT4`FfzWY6ONbFkF6^qnCFZ0HjYQwfwx_&@^T>&JKYdav*3?c4UD}3;I zElbh&G6Gb1Cji+1M0Kyj>C-Y;^@%FC4Eyx0C#=}G;o3mU5;|^ z?Y|@V#=z1G=Qq=u3l`^2n4N{hI3Qq}&@@>4Z~0kJf{7n1+0!Eu60Fk@MO?6D{aY?D zF{p^!cYnh-qlb2*A2fRno$7t9{dWVbHy*@^@#`VjBQS`_?(cQbnNb%nFd6+)3j;dk z=thEwTcO>EyA>vR%aP6x_zzH854bqR)7Ym6c{Ufq)icr^rw%5#0Op?R`ME-T^Z-UC{nM zisNaad9yiD@?EGUO))ThGmw-&Mx_E^oPlRXOs>9^U;!%~cR*f3rCJ{x(KuRfCKn>j zx-m7aU?fHwx^HBATn7Ys95>FU$dnt4bc)R05?yKu?d{${xE2J-3y+YW6>$;9_#>sH zeD>mmo;r+y>1I~&aR)=RpHKFF`EC}aChY}lK?LuaaC$=*s9N_Hygx48XldvR8F@aC zt-H?Ht1KxgdCCj3NZ5aTHqw~j_0rjSGx?5j#T)%%Oee7VpS^Gv_OBldXi}pKYDaGU z6mgM~hFm{IJ(q$Wdrj8(MHPUFt;!|omfJkk#adshs(k0Ec$5DrfCzQ~Zn}Cw^_!Y{ z*y~pFd7~_%L3B#WaoYVGaL0wN6i$cn3b*nlBQPrJYP!p^nqzp=oA|=nSBIMw?(#&C zIouIeB#)9ko5TWQM{Cl2=KvnTUZ8)QKr!h{QXdxw{|iE8l5jXl!jh}Tt&CTA7x`JZ z3k;gF;9TCNrlElcPw@Lvn)=AVV4ssX@+U03wPwz-BW+NqN6yiElU?cRBu8!z!}c@u(g4lX6sY}qfY*C%nHFQ8e-_tzj~^50qhG=9 ze%?r;aC!$A&~Lq#oKU6E zvyPbQba+y(VQF?nMus_>kE!Cm?J>|^(z6rBqH$SSc)Z3LA#(ucQGf2OJz6A1?O(-k zoT*P!v9UIJ!p6WWMTrJ5A$-Q75SZPcRLQ3k8@Q82g zk)@?2S}61#B|r$Pi!UWOU>VEdKzbrg?*(Jvc&I^5elFnK*ROlOz`+}~vcawhM00@a z`o!^PVD;m-IAKHzB`gXj?21gWnwy=Ke)8nWZqxtLG~P2lIy&05fr{6tk)VWft@!Vz zMQPY)y@r~GV2yw@%HVgPLF86ccn5&Dl;q~lOvE|9+dVb0?n%V{sxZoL0NJ6Xbg&x? zvkxZGGDiW(Bc6ceFrDW-nQ>P4}aiqrYuqz@W!h|BIo-@2v z?o1VJI`5j!0<59P7 z-}b)^8;ZE7(e#}P!;ul|%?0Am9SE-Tfg=45Sf?A1Ve-I9>t_mO`e=`!`ak91CWlE& zg7^{V3r;QX*gqKEiLV3_cUDHNJ+2RhiO98Z6?Ujl*FJw(-{IyXF!O1-`R`+#4?7+V zvjHU#NUTrbq(_)vHg`81g9g3pL9|bdfYLh#wq_uK_W6al!zs~pkM#*TZPm`_^B+Ks zY_%N?v97!Kn3ydCRBLmGxsMaTpA%>UgTA|bnQKkQ0Y3E6!l>s5K+~LtNNJ7`BsJO? zf*FxRH?V`3VeJ4O!!#wacQ?Z|q>_T(kuS%-QlchCCnZTG;@0crDbK1CZolpRjeovi zfcWE*w4NnSoSFzU^6_qKVqBctp$BirM!P1+zQQ6&aD0;AV?w>Y%m+<Q3vo z@Wbup1&6WBg&1pJneV~7VDO+3RMbp-P}6PcEh75uVax>XwIz`z4%E(#G*YahCPKE#3EWkW%AygJE(0h)Gkd%;Ca|ltFTD36Hf}V{^sRZ57l4A#f0L=@cray2JJh| zBJO{$u<-<^ON7FE$enGnglN@ocHaLmpFIANOHw}t8J<}^l|(;izbnoD%Gw+@DzLOt z14dBgPHiv?$?I}aHKbI(U72W0^pxdnm(Az*L(MbWTqA>ngBZ*+kDU>#$tHqrRh8Id zpyn>Dtvw}!9Xv#)bS-u1fWLOaQ7C9DgqZ9kur76-o9pdYWjegbndb4%qjqFF8!m-J z!oc*pH?;h!lu3};bZjamTgyHYT3$hV%*BLn5$rfXU}{2eLgNOXq;u7*XN_~px*~18 zv=VZj6r5PVeiH}+)ve^rj&*M1%Ba~IPicR&N5YHH2EkW5J3DazfH~eJg}GY2>a*Z6 zJbHFjcHNwZtEm{{oQGoqxMRUEv)`Uj<)I3PKhDuvYspqt> z=MQ-9FL~v4&pqed&-t9sa_;B-p6K-3l2hyGQG|)&F98`V@uC0Xj?YG@Oh#n#v69W{ zyKb2`<7M#wXp`B2cWA;#V&t7yU*y)FVahGf6WQo?n?;(_r>3S7YkgmxAUh>YAAG0> z9rA`W!N@ULP?dK=d8I4y4l{x8;Bk$xxmS(u?T+bCl2XA`>zZ2D8W33%d<@$n5B zbXQOvdDwBMx=y2yY4ojuIdQy9%|W|HWhC-_3TLcLkkTo)@G)#_&6;Ut&ak>>-)C|w zn$X`j{#Pf!L*fC65NG4gWVpH`n05$BxcFl$w-u)DcQ}GD!4dG-Y^%QwR6MM#&%ekx zVrRQ`L8IaoHeW{ycvr|n70z4goH4zu$jkie89$sWj$_R z58sESQ+f9;F~H5OPqpvgC1a0Tn&6)%oK}G@c7#XA=m$SON!p)h(>7{B_MM~e&w_M^ z03KZ#M0B=Zya0_l7DHc`iR1`h#%4bOi2Cg?)#&FAty_9xC)m< z>vo^JbH2m8y9>1(9TM_9goI%?04eL^$@J|0u(^7Hn6>6j0}2ZUbw(sI8SUcs&8reZ z=nrVN6Ok|hG**-q$p()&m5R;hJuZ6Dy|CIoZAF0yOgl;ZCR$4NsOTfD7ep180a(B_cj$YtgJ&M9w>mIRS1_Wl=*!F`gdQ9VUxEEjp}DJX zQt)+;V>5f-J0tiSyLSi82!)E`CPW$+r!Jkq8o zbdt3;0tW@EbbdqFgTQDf zL=bRQn7C}YBb96_cxr;$fda>A+H&thdz)W@c69!(v;|Pm3^qpzD4AZ!s;KfuYm+15 zf)cXl>=IrKZ%YcrC_idxXcMFyz&4A@c9>-LHsDdqb&NMueHl?ga6#h9Fv1<04mLJS z%92}9G2n3oqKMJ1txj(?*_-7gNp!KolU>?6Iy%P2$B#c28~_IDxeGBs1%W^%)%cjE zm@!Y=0VRv*A*loc@&HA~j-3F1U-YfQLXrqf6C9eSG`*hD${Xmm{d`~U=wpv&FMW(U zQ4t|+1BS;y-LF2RtEp@7a%rQf2Wyv!*5|wkf(WAk=DH5&>2nwTVGnal-@xF{DHhPfzE`9cMwQkKH|>B4A~^ZLF=w(2A`-qv_ET#5*?` z8!k{2O`k&f>Qj_I-{9Xc%Q|^)@$44@2V}$sWkuhRpX3RpxtE!>@jT`p}mE;F?BxhigDn-VC6Yjm7QV%{VoG zB;Mqw$JRqOH;He^Qe$rGs*ZYG5>%bXkRuHZXCxBI@n3P8{)a&;^SxOOfUQF82A!1< zHq_|$HYkiKDjA%{%E9FYlyw|Ty!>Khq#6)JLsU$R#0ApBDt?f#HLr&{ly5 zr`)Kj$gg&+Ii8Xc+Cy^X_lG@rH_9twOuQKOed)uxe;C!7;?(^u8~@oQL08T2&29Sa zL2_%ifQ0D+hLMQ+@325Yqty9N8sqE{`wv!qF{AbQ{OU%W=5{R;t*1Y{9OW?A*Vju5 zeM=ao)i`g?L-jb{WX0M>JA``2lYg@(nuY%x^`D%X(0z}ubL0F0F!)UBLDb4*`)0NL z8`zCgEtQ^@MW4$$a=UyM|C- zz-6*yPh3_>rN7)eB1EP8tq|zaIgg+kT(-su3p~R9G$f7@r=CvGO%uW=NEsp2Q>O+ZP*?P@ z=ed0ae!r;uK_{X4MRj^_6A6=eI>9gv3x7{2O~GCTyur|y~QCcFjX z&GoN(m=`7u(o}#|>&i!U_Ty7~cGI{`S?QZ{NPv1Ne~Re1Rv8!iGER)i4}gAzZXrK2o-$QhURm z4a)~%7RylSGpyni=*iq! z2Q)E9Y1-#r?-+LZW;GnMt>$4%LmpPqDA;h45N<6L^_B*nOYOZ}S}M1IEo5BZS@}am z>r^?Qjsg+WM#Z{0`O+9T?cAVJ(;1E<&!2DA&dkgJHws(upUQ{NGO2cs2`QYZ>1l2{ z!-@Yz&x`TKP2f%UAvWVlr1`E>x%yKj9-QFuGPq0T(_(xYMlG{X*3s4mtZ_Y!l6c?a z2wp@>$j!-#0eJvY!!WI<&xoK_s&&|l1ehrP;uJVopcW&f4iffEfLR{NeIECJo|8{* zRR%ikue6yDuN(mj@(jCc4&aW9*%xWD+B6;V1WnQ%uP?(v1)}}iD@Oq%;mq{ePX{?; z2GIL$W%ky3 zKd$IVADJCL4~|OL=O12I&GbxlOEXUkYJuJVWr%!DS0gh9<&ejIW;Sr#^G~3`!A4a< zAm8rd-oGzf02~3ta7`EHZ@t@1T`hFG(ixY`K8SrhI(xO5fK4MdTI_XaUIlhegAVtp z&Jt!={tTgz;nM7^C-1rc@GS9<*({=R*aQ(|$KsCB3EcEDj2n)Gv^MSD7X(YWf@ z@AW?XhE`=nu1ro&PJn&+Bzvb4@M>D2D!P^z0-a-Lc!vvokt_d`6s%pt02pZrMf~wd zFi9z`BUGr_vkP4FS&^|I1dJyCMXeE)@N1BWwc0Ns3nk9Hu(xh+Pk10v=_laD0iImO zO5BWZ{=kBL%)4-mlehJZ%`z?0G6C}cV9Ah4p>Li@B+9c5`Q#sb;duY4mgG;LK5bQZbgaz&uB_}b z@!M%I;G#AAkR(^F2Ftj}&ZDd=VZ-3JZ%rnSuZu?y&w*c9nMXc#!pGSy)jJ0o3 z>REIpDixfy(+7&Patg)VE!Y6*LR9!K#C@@;d1oNNLgQ*)xL(fKNOmZ5syu29csXPU?bO6-Y4B>^*fR3PFu(JOq)05--8pFm{ z$S(k*O&z}V5DjDw`P?}04+g`Rj2eKS9?h>bobF#~HnqPpZ~6eDGeE|P_h>}llXBvh2rHe1f5tru#~iFS%TL{`WTwQvzSY{h`dt`+ zynEkrwbpVa9T3b^bo?IVfgB%i5&FlPulwH?R!8^{n4yD&$rdEYPZ6|9UrY?r2BFSq zT-93o1C<=%Sy1`gH!_UD*dZfNv@u`Brit_$i|?_g$vL-TeigTcjss zG8$mUti?jjS*@G|nIX3u?sWLPQ7_eod8BU+XrOZLkww3N8}4ZHFYv=$o|w#Q`qFIc zrbnN1VH+hoPvBRxT!enYg*yr0Xm7ZmH-8Uhanp3a6S`ycQ`$v=laQ9A(9DR`os*I&sQ2-U|<_ zOl+6B{pJn<;fM(G(Z8Ach7uDVV{#{t;ke(|+k#WZA75~QvNK*3Y0wxE3wtI1PxgcG z*F9_Cwj+&@ba?da47kZc1DPBo3bWq>UF$xwc*;brniV>-)HIKDH)*K;N;T;<_@2Ji zxG3p=r&18j5sl@dg-xQ7Xxv=U6-xtuNvsmo2%OHYXY*z9j%I%=i`Gs~~gF#FYw6zvb|h91ql4G|h+#y!Y$EQvJJcghe# zBXd7qJf&fY^I&YIuOlIE&}}~}sDpBsQ-dq1@aHXCu3$ih2WLT2WHWmP4!E0;#||Hs ziZ$N$RFLP&GQs$T99+G9bS1i#P!v6TD!H=o7^kokSF34Wc@701M)wg?+KKFG+H3Qy zJ|gNDD7rm8u>#3RM`V_e8i~4babC!m5q7|x;dRL`qg)fI3tTpJyWRWT#W6a(M2*dj?)BS z^4fLmGl096u#di!>)?FFxRXuK+WZ_&CGc>x|E(m!Zn;JowH!Ct-6cl+%iFb~p0#$L z3!|cYqX;^!B^>46aj+bdZ%`G_{GVImU&wh_7=Xa8{P$BdVkQnvVh&o|Ni7+*-%9JlLo?GR z%x=fx8Wh6xp{pb?FyPR-r4s@a7@L|C(ppYEMCyQJxku4kc|e9$L8+Av z)Mj4@e_DA#_=aZ<6ga^4l;1BM$iu+T>sBQF53j}XY9VKz`{mcaVmxWbk8IKqNTsn# z-;oCo3Ig9S=^(cU^2RqRAkAE5jFXy^E&?W}f`I}cF>!(k9cXI94kIgo0pq631&V^N zxPKgPc$d;-Ri@7P$TCM_lnnCYH!*HYcB(2s7sSk-=@E9ZJtqfrKfUoKwfI(Aw z&~P2UT4RDY|2o{?Q@pALt8R;MV}Y_d%PiW%Z)&Y&$?pxLZxEfodu~4(ao0J2%xqi}#}9xFRg`W0WfdaVc_-hP&0dwZx}`l8MnJqV>M8J>`= z4MljkCe99C5=xeohUB-s&G7^(d`C8O-H5M8a;XF3WVE*9i9^bTg!=HQ;e0o>dy^`r z4sZD%hnfbswmVC#dYpb+d%>t zrL~idyPyb%mu(Wt8p@225W#9^{8apB@H=C0?kqcva9~}}Zmt1b+~2zm-DcWHSZ~1Z z(87F!@cfUF*Iq{nHu4ZY{5iZYLoA=Fh+s!7=j~Mul_*8dZ0Ezc0J1S?^rb$+k#%ya z(_rEnByFo#h34_}eKfmTvU1}D+2&HgVmCl>=EFWsf1Z~(-cOy}!FJyI(tpb*4H`wz zIOLw!awwc5pr7{Sh|tRa9#2F zdP|PBdH>w4T>29?=inTf#kQ**xIU|Pn5hT zrztr713n28j^d|td?vvp{gIZA_sr~-&JymKTZg`L7Hb1Q0fnh#6WQ$P=BuA1BSAia zHxGGe>bmuLV;*>@qf7O0lyb~5`lhcyvDlvA z1c&J(@bo7;ee>gVjO@cqUroq4j_%h257~gzTmIm!uxES^3L2B=Uh0s1i^-N}e4T%4 z-uTLWujKx6dG+QIN%Bt&kRd3yZ=Ul^TzanEqicy2?8r;;$Re6}Z_Jzccs(?<;g9k& z4fR2Ecq7L`(177cw>m=ycGw;P!6hOP#UJAJTf{WF2@?G9_ecoKv8=eRnCLW7Y45jZ zAB^>m3j&S~>$H(No%f?)ir|yg=vQ&q#|%(K6&Q=~!w_a#lAM48>WC~ZNHDdT=P_En(}+*~^p?5n2EtVTS_^$?WTX6ii+ucA zW&AgxP5{u_N13&ClytG4q+dHAUN*@@FFSLi!*$-8XvgAl=KYVt#navAT4%ri&V;>Y zQ@KwVanQ_{sMq)t@&=qR?28#v2MHt4hdnHse?n{L;WL;AE0nOCvz!-8A*^Dqy*+!7 zT3T8&@>?b5bT}}Jyt)GLjkufdt=7Fg?L{I`nKh$|o*Y+bdXrF5_&odlh;F7ma`)oR zh`IDa$hM(0r27xM3mJ-rt=I{1MQ)+&k|SIZJbv(bT?10*pG3vVAtjkc!9%_6qX_<@ z86^(9bJiAUl5%Su(xiN;y%w~;sJVmdx__r`6znLGz zDeO{EveqPzlciXIX-i+&%bXrPyEnk0@`oR>o?tOP_ggX}cgueL#91b2V+0|atLV4e zsOKYdW`slaJ8&2Nys2=sSPF##R(P6KzfksYxtEw{EO;2zW6*B#mG!=eMg$)%b^Id8 zA+$Jd?JK%pu49nQzh1u_I=&u1sF5;I2wf7W01sXBt65zC>26UJ`_TND$M8Y?9>ja~ zckkBYJc{Iyn-Ak=Sa&{mvsbHE<9I4vUfUNxeup4qVw|PmmiUWVLKJrs>>&Z!iI1B_ zh$iN$2Wk}|w2hw}`8(@9JrD06&sJ$R9&Y|}2L})Q7m52XG4vhhY5c$GBs4NS^gi%& zrFwk59F6g~WoUmK^eK9%IS$%+UGr#1(z$q>6!5!a2l0T+mc7yIYGTh+s6sQPq~m`a zIl_q-TtpvWCVcHE_)ceYYWwUqhwmQYx7ZbUKVtf_2~Fs9OY-q{9l?Lyv6r^d8svAa znv&TuI{6|8%1W+kC;o*uKc(YcHWB|b22k+Au_M=_t+?l5d6-1U`|LU5Yj?pLs>%AP z&y9Mggmfpp&gGjDp8Lg6D8OUaD~V7lVjMjDj7PVeK!mTAU)Yx{Co=yIgEneGa>aF1 zb|J<02w$?;u6GrM08X_9&-crf_$KT;i8~#{yxSBEib~hHN3#;d8!igdDB79q^CTX@ z;PnosbGQ-hG^~Fo#Ix;1LNLKJ+z~Ta)z&zW*nQM{MIMV6js-kpe1+bK+rp4`zL#l| z&4LmU_IG4;$9e%jK=qnbJI5(*S+IT+S_wsC8!lGELaKgu=!n1*Z5Hh31(WpbE8SRj zKKWWwzYP&#Wod`Dj3>Qk9mWTR!M=A_hK(oNHQtcqMSPl$^^ zwGH3AH{0q*4vlS(s3(qTa+IhVnUhXZI)Fu{LE1JFu5PU{ouqk{8`nHnaZ0w$iP>K_ z;Jm0(flb$%`L)eltLWYn@uzqAEzz3QVk2osH>?okEnDpHd-EZ}P?x$eEs<=&-3Yrl zAC{1k0!P`F+o&h(VvML5YfnMvtXS2#RxY)@x4i8vR=A{U!oCtR8okJrBQ_DYwR~m} z+t(PF7mmS3VIVfmyT0C`@5i$?Q`^{J_t9B1`KYkn#RF!*0>>1)A;Od4&_^=apU#4| zLC{m4I_yckJHCQzA}Lzd?AVuT9pn=tlOJfknD%Z4onP zS|$vj<02yat6+s3@NehgqRIIE9IjbIVp#E=hgP62EGKi>pZ-|go$Zg>PI6by@`|H1 z4AU8~l1$7~ohQrvy4P^jaUqv?g}>MW?CwLwi`J)23tX!v7e{kGPFODp z{_R_9{mOcAU}S+ty>F~K2H03~3A)o+Emz61Rqz35Z+EzhZ9*`6x_Z|4!7WKl3e zp3*jYG&rWM^UDGW7*1y|A6ewFq8GEjr=8`1b!?!BwGCjn>k#-ZcvXJ*e4s(_x_p|# zoF%P$-$afG&tA0F+O1tA1URa8UY4Q2g3lUZM~Yrcv~Y(Bm(ejHEa8wApTGltUVqBe z@Geb~YsGo_y5rfxBA4M-=+he-6LUIF?y*AWEt^@ZZ`Yaw;kkb@DkX!z0GSG>!QRL&=28v4qvlKsA81>_?0v<^cmtqR+}jd(9q zw2Bri(()#4ZGAGy>iYICMU77dZ(41xbeq3nlpGBy?{vjDPtOe5MKp(`0yfO{`+1Yh zATo2?ZF>0VGJZ^Rj9S0y6XN~K2Q}0ST;rxhAr8GpvkQC$89F^o-a`X67oTlPFSaPY zQpHxs@7B3mttPv~M&_n-;lKC)?BNSq&SWWKw3Dz!I4AxX&&!mSh2wny{YWQ%MI2nM zgQ7anbk~o^$rju*DlCOu??$?21QFiBurzxU#omw_z}sh(33=WTMhg72o~3?oT`SlH zW=D-W^$HEij0TfXMFVW6QF&^f^y7y z|82pX>O;BY@p=_i{`a0d+t!(VO1pr7N=MfyiXCTYx(y-q3@ zzQ`zS!?LPT=4Z|D-<(p(RdNu7anDj0y8OX`gEjE3sjS1=oVk2Ux9Kszed8d%a?!b2 z-dZyeQ6~taIj?Z)FLWGb6LCEi$sllZHGeJt^4)Rv{h%THv}(V6eiBlh?EUllmi-_E zcG^mOQ?TQ8ru#vnOc+(DCXy@4oodr`m8JL(C~=zT>+)QCvWR9=bDCN%og~jz;*-9) zDkCzXlK&_yEo2Ebx@jxC*k$CbN8K2t;OsRfRD-S~dES*vsIPL|sWMRg! zqbIFLmNmuFS8${x$f=OGz?w{JrpBJG3RXsK-08fuM^j}wh~4XzaBMPy5Mw_Qefrd+ z#>(j>uVXT#Otmt&xLyw$Jg}TyNiDDeb2`Ei*if^V@u#Ap5<)1%!ci)H7_D<(Nm2dV z7=ecO>*4g=jHn=_bu6W%%cEuBj2fOmYC(dN+7~;0o*g{*Rf(;0DDUV&7>l75_b8jz zc#>Hw$APGoU&8{|@`;3= zMeSsVTrSgwnrDK5c(I5bx$gX&-Lz7{9wkC#34t>hdASxSOCab>Rka!SqFk(4RPmzsIUqG z*%Iwt-chtW^#B$vJ3XRq6t%dBq1vNIdz4xqM{E%vglr})*T=H=S;wtED_SZO@f;aE z>s;iRVGjs+o)BNM>Ck8`J^%a2-8qdECx7S7dJV0j1N6AmE3=`EkU{b&o8|E=X<{WOz+BiK&LWP}rKX zIh9X%trGHXqmyM?qZw(2LJ|No^-R!%Hgi%Ajic2Yt@Hq=OHFrVvTmQ=4kfFYM*6^( zNA;%zOSe!C*j%&BA$M$#;Gib0i2sizBlQEJgbxID8AHd!$JY`Pw=`+`0DGvS*b=K9 zMd~LSa2{8{LDJ5o_uVBP!i{*kY+AgA+^;Z-~d zaa8o(m?hF9Dxaw`&k=;&LN=me7j+V?&v-f6hM>H(0=FL3L!;9;@1xnKj(N!eaHDOn z0lsXAq;;W3T#g|Z#H~P1@?iW4Dn3De=TmEX`Uz!(bjbXtdFMh%1cVHSk3P~B>aF`l zJe~^n@x%8KPGAiDAtR&m^_w4AulA~XsZeaFMPaqkM)@$8KC!*gcO>WA%VmV6$EoOV z&lI#Hh-CKpWBH~EyXOf&%z_spx*x|mxjtXusf25%0?ye|pCG1EM_RUxzH=r}*yxkS zNbhE>_fmH0`g**Exu%@f-uLi-XB5p_vnfZiy=s~Vw?#X>r*#zmBgi$hHq%m!Fvnf^ zv_s&HZnMjr7^Zh)Q;q9_E5W}%X8uWAkjg9?f)g{+XgR+eC}=e`mKRTu%CT)mq00Tg lkM6&6=E)-(0Py%oqw6u}ruw$z?{^Y-~GlN_m2Fy|FXv3J1c9ybFRIf_5Ro+88iH`rZPF{O;Q{j9CB3^ z1)a;!lFKuZ1po5NEIL|>gClqyqG#l0q@gZp6$PhG*fPc`*yo;un{*s{vWl1h6?UM6q` zyMdU!oSmQuNiP}JKk`am_J0opS(*QkxH-zOKKMN$vysMQW_cG^Ftae90Iv+@~=D!V1$h; z1m*^DfinNj3$k``cavdd{XNm&?XSgwV1G{pMf?Tu5+%?J1Op22@dN+Pd>JTxIVdUb z3I@5kxazsMILZFGd?ko0*we+;5y334DpEGx(_z|YGs#49ME zCm<+!c?e0E{9F8=qW=ijaIuBhdH+x0LXv|23ja6JU*Xcg-yr@C%pcT$ujxO=|1V&+ zHh=Sixw|_3u`RYXK(G_o84PtpTrv~*@62p%B<);Wok4E05ND7*7zl&fO9THI{9m8% z&!@h$#icEQfBW)ZkN)>o{=ano;r{=U{?DY?Nic$o#f8O%5dnabZLNBQe%p zSX>wpz(|aB7Zw*r1TYd~-G#-45dn0ty zyutrS zpr8Oyfd7Zi&)Q4H6_|=K0tW{`_4~vfo%K7z!NCo9tgff13{$_n{~wJ2|964P-|gb! z;y6Y0G)?j_N$BwPgP)no2k%XevNewKbWe8I&knXO&W?XCtRY{j=fR)7j>oH)^XHhG$b1O<}qPZc2InpuU&ZJAL^=LV{XanrCanY0i&6 zw^gonAHavK{Ny1Th~%TWh98gX;pEspVc@rY@->b0%4B?>j;sLWH598g(V zQBd$PmOJ1R2rHX}nhOe{M)tE)UWDKRlP__?<>4@gzC zCL{XOWy??1m0(*NZ;iH*{^TQ z;B>1#w4W#haJjKjstOPEyr%opVs&q-(sWHK+#;U?_W@LlJ&laIzs2Zz8-evB=mD%% zt1VeRZ8UnFq=-GoK@i2FfzhGLQj=flsr%6nGJJvX^c5+57Nxc@;Jn}V!GhyHEuYE)+-&$!~NPgm(zs`BP#h=sO`44O3VCiXZ8k|M)X zuO=_(n0V2DG^(3`;mb9g)pJ<0r{dQLWPHDycp5B5lkP6|z`Lg}GlGfy$Nd+{vg5OI zIbMWC?%Q`y^H1~hgOhhzzZ1z&(#=M9WP7zMR|T}}&ndf*2C701Ds&5H?KQQ4xE^np zIuq!K7SW+egmKr|Big<={e1Mg{HACq0gvSh8-o`!$=a`7_VpinJA1-T1EIJZ_;_78 z@azJnpT;nXD?s1gL@n~5r~YIQ&2poaaw@*8j<_!n%`Ygt5!bC+DQwvjk})0*xSh75 zKOg(;BnJ7a(t4kF6F&svlwV?X(8MnIVvdo^5k^9`&tT{wX_*o@llmWM^Fa z39J=8=M8$QmIDh$(?lvZ^IACIPG`+Nu;7S9I$lQ^6k2wA+8nS{0xQD8zI=DODef%1 zu^1r{XkbPa!g)|Vfa2BBzx%2u#6N01#_3f`t2GS?8mBM3e6Qtcp~Wp%ledleehaqh z4`UX~D5-x%HNS&UaynO~^{DTWhgZ)rYR|=Vgp>tW&%dR3N*;oK+@=iwKxT2>Xk{S7 zYq7B*sVy!_J1j?boYRrgxs;oKikomSrK2LrG(c*@=vkhGP7rUs2;Gm+yjr-Cb}pWW zN^k?tdPi(rw?aOI`>hF!A zSxaHGkXYb1y|ra__8=W0`@B1q@GR=udT%{K#{$Xq8WUch+q^pzp|ek;`D*eM2~)=S zDrxZpDf+B!$SDBrra*u<(X&|X)Wg%_PgMezzo0c1q7S#ssSOj8PG@J$!wm|^vy-(K z!~@wIR6#|tFR2A$lVAC$&0AH8;mrA^!{TxM<)tb8YBmmB@wdn=DE5L*T~n4xt(Z#7 zQW&Dz;mF9YRSEU%)dpGxcc;bxsW*qWT34q;xhOrt&LFW)cHR~0Fp;OuU<;UkRwWB0 zF5)>cqgGHCEHW{1cEF3LzcI6+@(1^I` zW@iraSyE(ryesGUROra=dV0Lg>?AClM_n788@W3c+6`FEf*A8^#eMx&`TUDB<#Yl) zO2}J((WTzUr@r5^HhC5Akjgr>j_Y1M?xvqKxhJHlmJZbry*5|AzA?*!OJwnapZSpR z-Y^BFrwJP}lzvLESfxeLWXJ*n+tCjbR&C?TVzXz2&~I?1JD#;Dy12Nwht5zp>ykXZ8nyuw>G>+rjSrvE54lZt!aT*0i@91C<2o# zo}>rjXK1P_cM{~((nJSkeeg4LG4QHVZr_r@M^!LnY@d7j;qDy8RCh{$^P8_)7a%GNV=Cxyq{Rv&UaK_9=>{SeR?H>cdL-z5yNK`}d+ zgzxECJwSn*qpwwYT0ME^*o(~0`c+-QR$qU#j#hd?yRhYDW`ln6l)R4Sy)@&V5zNO? zgV9Ta)o|m}VFm~H!sldh>O&5kRl%HF4vvrOdwy}D5#LrzR&X@b(z>Y|} zDf^;JYECz@E|BFJA%U* z+EKf2I>$2Um9E}ZY~%otLc?kS^TF;nE1ECz{Tuy1BI2x(x3`y%@JUvTygdOaBZQ`FU zG;wTAc+m{bpYK|AsmXJTTs@LjCRPoP4)elGV+*=ieYvHbqQm=!Q{D=8De zGv`jEO?zJP>sJfzzF~o#4+~Odqa`EGhr)!qjN0|a z{+BT|N%YuH5kc9gUndz$y@%x!qR)L22aX}^1_A61)DKN@E#@bbmPn)V7A!z)2I_Sv z_2=&u@&F@UbcB9{2^Vq~Q$#3@&h&&jQxf#z7h`l(o2y0n*!#Ha6cK9nyUb{bRy;l) zipS5$#k=1qMD^#MBQCR))dEtu%Yo3&nbTd~^Ls zp8LQVb3JtxrvW~`-Wi^CyYR1>WPU*{dJ69805Ga`(3R)6)V4)7q99}-*)C|4ZL0bCh z#srW2Spr$e%UMOl?805HXE#r;!7ZH<&d^@7&bUwtZ$Q6A0588mfUmB%yqnY}-#(3l zUv7=ja$<4HTNkA4E*B6);@Tpyf!~J~7NouXwh`m|de~gEcI}5|Z~4o& zhlNJ+I-iclJmk?uvc(l%`y`{WR=MkIA&X}+9lp4b%yT?`A}6&-*Ze1xfP-k=QG!fvN0k$;6@0csuc%}~L6&)wcj5e0V5iTpCZU?5@_?efHJqq$ zZ^~%F4pH9p@r)rGE$6?eztMD}WFu$RI?LWOdKn?YURZbsMwTGw+l0dL7eW%gUJmwYVsvAm{-Za?`KozE`w`{MA6pCn5b zJSIU~MI4go*lVyiK7oL&nMG+$lvYCWem1gD2Br%cfNQ%#GO6Y^rb5 zZ3E!i79;b62>4>QzkfY-WiM&tM3S}OEWKFBfbc7SgmKBX>N9UoE(G6D9ey`J_qH~y z<9)RqatDW(yXcIP4ZXW6GU_owDS)#X(@BtynsRY0tZ6E@}*)%&_d-DY7bbS11U11$ zRCMt}y#$e!gg0vL7fsF}Bl#YwEoFZ)Ti(5+qcwJ7!rSc__sPJ6D#(=8R{*ElD3sXS zm<&J|pg1R5>FjPwf?6!v30X0hy*Sr-;q6-{Zi3??2+5O&3nkD7L@IWe($Nf_+*dE! z;&(SqtHaMKxef}t&iQt;tpDoN@c{n@0juxR=DsXb zifFSAUYaH#L+;!lbd3K<^P*sphk#OeM8O0|`Sh`D{4ZS_7P{6Oh*dll{ znhw?e%g?^BQUz%~7(q2e+<1JaoVHT(70c>s+0+wLRi=cExU2JVE&s ze9ziC{BI#`oXA#kAtC+57IVRAPz4x9F3j{pOFBKU*Z*^YxA zhLvdY$-&7WPWti?*Fqe4Tf107t_L+|7 z?1sFdnpfl?p$1nV-3<;WTF9iM{bVJjGz+=M{pmY3P+p0*iZ2Ld0nhN@-h}V@W!Us+ zC#Wl5@K7)@-u_Ov_u@x?z)HI9#%C)LZ8f`Mx9Rdxh;ed%ueG~ss7d|mzM`{$f^JW> zT)+&wJMqLUQDvD}!CEK`Zz1TVF-|p!MZBQ%Ot8{ObAC%U=ex}iR#OuK6>8^6sX0hB z<;ka;>bHcqxgU|VjX%tszF82=t72qiQkGu~x3M%WRU}+qUm#@hVTkIuuPTePebY>b zEj;8+lEMTi-q40)MJbCV+_$+Tk|}fRR#VYi!YzIwMi(7eWGnU|nl5WlQSyGb)DM;%lQPi{j}i$-Q^R>6SFawDPRvR_YQmdrC2q3np#|;U!Ht4@h?=%4M?;lr#^Gwpk*( zt0GXM$krQ`RLG?3m9Nxgb$f1)TWW&Pfs;2Lha)v>VT7 z-GWoS9xs0V+CbQ7xO$|)EkpbVBe6^CUH%o~z7;&;6>y~luFv3v42yf#y_qcH5TlEPYJ#Eb~o*X2a)Ot>>E;4d_sItHc1+g-iyOImDIpe0tdapr_Pa`fT~P z0kLGFs6y{}k9eW3h5#nU_+x`)Cehux$y6dVf3c?60`ZTs9u)H#^Hr`22tM`g$6sQO z`W-1t(N;-62RkJ0yu0F^8Ec%Ko1*%7_Veg*XF6dirRmYOL1Ttv1wp^2Lz%JUAkz-< zYn|!p8FQi|E{)6ui9-WF?7j%4rhI8l7Rd5Q)9OOV1A!&Y<&={{6pzs-mVs$wRB4 F{{r1Y5}p76 literal 0 HcmV?d00001 diff --git a/public/img/eggs/bun-bun.png b/public/img/eggs/bun-bun.png new file mode 100644 index 0000000000000000000000000000000000000000..81c75551188734af6be6ed8637ac27fc33703ee3 GIT binary patch literal 9723 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 u@okHtA~YN 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 P5vhW#s!W-*+2{WO@a3Dp literal 0 HcmV?d00001 diff --git a/public/img/eggs/elixir-elixir.png b/public/img/eggs/elixir-elixir.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2c98479dedede0ff38932409cde1d071955ecd GIT binary patch literal 51413 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

    _85)Nuz$T(0M!Yq<*T;){^y5$ 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 z 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

    TU1v)&i40hv+R-J~dDt_WDmTEh9|H!IN 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 literal 0 HcmV?d00001 diff --git a/public/img/eggs/factorio-factorio.jpeg b/public/img/eggs/factorio-factorio.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4f078a3154438aa16bbbb1d05a94e8c2abfef23a GIT binary patch literal 9336 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 z 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 kOoLD#=>=PD5k-h0 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

    OV6fGiGDK_(u$vgIFu}BcHTb1;WR~ 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

    B=e=_hcio=H^0a5#R)Yw^KAW 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

    s`>K4u<_<=IP>?< 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

    uewP?&-$^qwmPFt87+RKA) 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 F007I6>GS{q literal 0 HcmV?d00001 diff --git a/public/img/plugins/system-status-monitor.webp b/public/img/plugins/system-status-monitor.webp new file mode 100644 index 0000000000000000000000000000000000000000..6f7edf0d7c473585f589720d698930bfb789c4bd GIT binary patch literal 15502 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

  • 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 literal 0 HcmV?d00001 diff --git a/static/migrate-panel.sh b/public/migrate-panel.sh similarity index 100% rename from static/migrate-panel.sh rename to public/migrate-panel.sh diff --git a/static/migrate-wings.sh b/public/migrate-wings.sh similarity index 100% rename from static/migrate-wings.sh rename to public/migrate-wings.sh diff --git a/static/update-panel.sh b/public/update-panel.sh similarity index 100% rename from static/update-panel.sh rename to public/update-panel.sh diff --git a/scripts/sync-eggs.mjs b/scripts/sync-eggs.mjs new file mode 100644 index 00000000..1f468d2a --- /dev/null +++ b/scripts/sync-eggs.mjs @@ -0,0 +1,696 @@ +#!/usr/bin/env node +/** + * Builds data/eggs.json for the /eggs page and the homepage games strip. + * + * Source: the egg index that pelican-eggs regenerates every day from its egg + * repositories (pelican-eggs/pelican-eggs.github.io, content/pelican.json). + * For each egg it reads the egg file for its Docker image and any icon built + * into the egg. Games are grouped by their folder in the egg repository (or by + * GAME_BY_PATH, for folders that hold eggs for several games) and + * looked up on Steam by exact name for their store artwork, the same way the + * community "Egg Images" plugin does. Steam results are kept in the output + * file, so later runs only look up games they haven't seen. + * + * Square icons (the `icon` field, used by the homepage games strip) come from + * the icon each game's publisher uploads to Steam: the app's client icon (a + * Windows .ico, up to 512px) or its 32px community icon, both on Steam's + * community CDN. The hashes in their addresses come from the public SteamCMD + * info API (api.steamcmd.net), so no API key is needed. Games on the homepage + * (FEATURED in lib/eggs.ts) get a small local copy in public/img/games; the + * rest keep the address of the 32px icon. Games that aren't on Steam use an + * original drawing from public/img/games, or an icon built into their own egg. + * + * Each egg file also gives its default Docker image (the first one it lists), + * the panel features it uses and its variable names (for search). Pelican Hub's + * public API (hub.pelican.dev/api/eggs) is matched to the eggs by uuid for each + * egg's Hub page, install count and last update. When the Hub can't be reached, + * the values from the previous run are kept. + * + * node scripts/sync-eggs.mjs # refresh everything + * node scripts/sync-eggs.mjs --if-online # used by `pnpm build`: never fails the build + */ +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const root = join(dirname(fileURLToPath(import.meta.url)), '..'); +const OUT = join(root, 'data/eggs.json'); +const ICONS = join(root, 'public/img/eggs'); +const GAME_ICONS = join(root, 'public/img/games'); +const INDEX_URL = 'https://raw.githubusercontent.com/pelican-eggs/pelican-eggs.github.io/main/content/pelican.json'; +const HUB_API = 'https://hub.pelican.dev/api/eggs'; +const STEAM_ICON_CDN = 'https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps'; +/** Largest side of a saved icon: 64 CSS pixels on a 2x screen. Smaller sources are not enlarged. */ +const ICON_PX = 128; +const soft = process.argv.includes('--if-online'); + +// Original drawings (public/img/games) for games that have no Steam page. +// Nothing of the publisher's is copied in; the script never overwrites these. +const DRAWN_ICONS = { + minecraft: '/img/games/minecraft.svg', + 'minecraft-bedrock': '/img/games/minecraft.svg', +}; + +const CATEGORY = { + Minecraft: 'minecraft', + 'Games Steamcmd': 'games', + 'Games Standalone': 'games', + Chatbots: 'bots', + Voice: 'voice', + Database: 'databases', + Software: 'software', + Storage: 'storage', + Monitoring: 'monitoring', + Generic: 'generic', +}; +const CATEGORY_NAMES = { + games: 'Games', + minecraft: 'Minecraft', + bots: 'Chat bots', + voice: 'Voice', + databases: 'Databases', + software: 'Software', + storage: 'Storage', + monitoring: 'Monitoring', + generic: 'Generic', +}; + +// Folder names that don't read or search well, mapped to the game's real name. +// Steam artwork is only used when this name matches a store entry exactly, so a +// wrong guess here means "no artwork", never the wrong game's artwork. +const STEAM_NAME = { + gmod: "Garry's Mod", + ark_survival_evolved: 'ARK: Survival Evolved', + ark_survival_ascended: 'ARK: Survival Ascended', + lotr_moria: 'The Lord of the Rings: Return to Moria', + mount_blade_II_bannerlord: 'Mount & Blade II: Bannerlord', + sonsoftheforest: 'Sons Of The Forest', + scpsl: 'SCP: Secret Laboratory', + team_fortress_2: 'Team Fortress 2', + team_fortress_2_classic: 'Team Fortress 2 Classic', + left4dead_2: 'Left 4 Dead 2', + left4dead: 'Left 4 Dead', + '7_days_to_die': '7 Days to Die', + nmrih: 'No More Room in Hell', + rdr: 'Red Dead Redemption 2', + // Left as one group on purpose: one open-source project whose single release ships + // its Red Alert, Tiberian Dawn and Dune 2000 mods, and needs none of the originals. + openra: 'OpenRA', + beamng: 'BeamNG.drive', + eft: 'Escape from Tarkov (SPT)', + // Both eggs run any GoldSrc game you point them at (CS 1.6 by default), so no one game's artwork. + hlds_server: 'Custom GoldSrc engine game (HLDS)', + cs2d: 'CS2D', + ksp: 'Kerbal Space Program', + // The same game in both repos (games-standalone/ddracenetwork, games-steamcmd/ddnet); "DDNet" on Steam. + ddracenetwork: 'DDNet', + ddnet: 'DDNet', + // Zandronum is a multiplayer port of the classic Doom and Doom II, not the 2016 "DOOM" a bare "Doom" matched. + doom: 'Doom + Doom II', + empyrion: 'Empyrion - Galactic Survival', + fof: 'Fistful of Frags', + foundry_vtt: 'Foundry Virtual Tabletop', + minetest: 'Luanti', + mohaa: 'Medal of Honor: Allied Assault', + neosvr: 'Neos VR', + neverwinter_nights_ee: 'Neverwinter Nights: Enhanced Edition', + openarena: 'OpenArena', + openrct2: 'OpenRCT2', + pavlov_vr: 'Pavlov', + post_scriptum: 'Squad 44', + sourcecoop: 'Source Co-op', + stormworks: 'Stormworks: Build and Rescue', + subnautica_nitrox_mod: 'Subnautica', + the_ship: 'The Ship: Murder Party', + thebattleforwesnoth: 'The Battle for Wesnoth', + trackmania2020: 'Trackmania', + urbanterror: 'Urban Terror', + venice_unleashed: 'Battlefield 3 (Venice Unleashed)', + vintage_story: 'Vintage Story', + world_of_padman: 'World of Padman', + citadel: 'Citadel: Forged with Fire', + classicube: 'ClassiCube', + hogwarp: 'Hogwarts Legacy', + holdfast: 'Holdfast: Nations At War', + losangelescrimes: 'Los Angeles Crimes', + supertuxkart: 'SuperTuxKart', + conan_exiles: 'Conan Exiles', + wine: 'Windows games (Wine)', + ftl_tachyon: 'FTL: Tachyon', + tiny_block: 'Tiny Block', + leaguesandbox: 'LeagueSandbox', + nazi_zombies_portable: 'Nazi Zombies: Portable', + daggerfall_online: 'Daggerfall Online', + path_of_titans: 'Path of Titans', + hytale: 'Hytale', + clone_hero: 'Clone Hero', + custom_source_engine: 'Custom Source engine game', +}; + +// Folders that hold eggs for more than one game. Keys are "//" +// prefixes (the longest match wins); values are the game the egg is for. Variants +// of one game (Rust Autowipe, Valheim Plus, Terraria TShock…) don't need an entry. +// An egg in one of these folders that no entry covers is shown on its own and the +// sync warns, so a new mod can't land under the wrong game. +const GAME_BY_PATH = { + // games-standalone/gta: multiplayer mods for different Grand Theft Auto games. + 'games-standalone/gta/fivem/': 'Grand Theft Auto V', // fivem.net: "a modification for Grand Theft Auto V" + 'games-standalone/gta/altv/': 'Grand Theft Auto V', // altv.mp: "multiplayer modification for Grand Theft Auto: V" + 'games-standalone/gta/ragemp/': 'Grand Theft Auto V', // RAGE Multiplayer: "multiplayer modification for Grand Theft Auto V" (egg README) + 'games-standalone/gta/ragecoop/': 'Grand Theft Auto V', // RAGECOOP-V: co-op for GTA V story mode, built on ScriptHookVDotNet + 'games-standalone/gta/samp/': 'Grand Theft Auto: San Andreas', // SA-MP: mod for the PC version of GTA: San Andreas + 'games-standalone/gta/openmp/': 'Grand Theft Auto: San Andreas', // open.mp: GTA San Andreas server, compatible with SA-MP + 'games-standalone/gta/mtasa/': 'Grand Theft Auto: San Andreas', // mtasa.com: "Multi Theft Auto: San Andreas" + // gtaconnected.com: "Works on GTA III, Vice City, San Andreas, and GTA IV". It is + // for no single game, so it is listed under its own name (with the games it runs on) + // rather than under one of them. + 'games-standalone/gta/gtac/': 'GTA Connected (GTA III, Vice City, San Andreas, IV)', + // games-steamcmd/counter_strike: two different Valve games. + 'games-steamcmd/counter_strike/counter_strike_2/': 'Counter-Strike 2', + 'games-steamcmd/counter_strike/counter_strike_source/': 'Counter-Strike: Source', + // games-steamcmd/truck-simulator: SCS Software's two truck games, each with its own dedicated server. + 'games-steamcmd/truck-simulator/euro-truck-simulator2/': 'Euro Truck Simulator 2', + 'games-steamcmd/truck-simulator/american-truck-simulator/': 'American Truck Simulator', + // games-steamcmd/arma: two Bohemia games (Reforger is its own game, not an Arma 3 version). + 'games-steamcmd/arma/arma3/': 'Arma 3', + 'games-steamcmd/arma/arma_reforger/': 'Arma Reforger', + // games-standalone/cubeengine: two different free shooters built on the Cube engines. + 'games-standalone/cubeengine/assaultcube/': 'AssaultCube', + 'games-standalone/cubeengine/cube2/': 'Cube 2: Sauerbraten', + // minecraft/proxy: Waterdog PE is a proxy for Bedrock Edition ("for Minecraft: Bedrock Edition"). + 'minecraft/proxy/bedrock/': 'Minecraft: Bedrock Edition', +}; +const MIXED_FOLDERS = new Set( + Object.keys(GAME_BY_PATH) + .filter((key) => key.startsWith('games-')) + .map((key) => key.split('/').slice(0, 2).join('/') + '/'), +); +const gameByPath = (path) => + Object.entries(GAME_BY_PATH) + .filter(([prefix]) => path.startsWith(prefix)) + .sort((a, b) => b[0].length - a[0].length)[0]?.[1] ?? null; + +// Display names whose Steam store entry is called something else. Only the +// artwork lookup uses these, and it still needs an exact match. +const STEAM_STORE_NAME = { + // Since 2025 Steam sells GTA V as "Enhanced" and "Legacy"; both are the game these mods run on. + 'Grand Theft Auto V': 'Grand Theft Auto V Enhanced', +}; + +const slugify = (s) => + s + .toLowerCase() + .replace(/&/g, 'and') + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-|-$/g, ''); +const humanize = (s) => + s + .replace(/[_-]+/g, ' ') + .replace(/\b([a-z])/g, (m) => m.toUpperCase()) + .trim(); +const norm = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, ''); + +async function getText(url, ms = 15000) { + const res = await fetch(url, { signal: AbortSignal.timeout(ms) }); + if (!res.ok) throw new Error(`${res.status} ${url}`); + return res.text(); +} + +async function pool(items, size, fn) { + let i = 0; + await Promise.all( + Array.from({ length: size }, async () => { + while (i < items.length) { + const n = i++; + await fn(items[n], n); + } + }), + ); +} + +/** Panel features the /eggs filters know about (lib/egg-helpers.ts has their labels). */ +const FEATURES = new Set(['eula', 'java_version', 'gsl_token', 'steam_disk_space', 'pid_limit']); + +/** Runtimes whose version range is worth naming when an egg offers several images. */ +const IMAGE_FAMILY = { + java: 'Java', + nodejs: 'Node.js', + node: 'Node.js', + python: 'Python', + dotnet: '.NET', + mariadb: 'MariaDB', + mongodb: 'MongoDB', + postgres: 'PostgreSQL', + redis: 'Redis', +}; + +/** "Java 8–25" for an egg offering java_8 … java_25, "3 images" otherwise; null for one image. */ +function imageNote(images) { + if (images.length < 2) return null; + const tags = images.map((image) => /:([a-z]+)_(\d+(?:\.\d+)*)$/.exec(image)); + const family = tags[0] && IMAGE_FAMILY[tags[0][1]]; + if (family && tags.every((t) => t && IMAGE_FAMILY[t[1]] === family)) { + const versions = tags.map((t) => t[2]).sort((a, b) => a.localeCompare(b, 'en', { numeric: true })); + return `${family} ${versions[0]}–${versions.at(-1)}`; + } + return `${images.length} images`; +} + +const unquote = (s) => s.trim().replace(/^(['"])(.*)\1$/, '$2'); + +/** The indented lines under a top-level YAML key ("docker_images:", "features:"). */ +function yamlBlock(text, key) { + const lines = text.split('\n'); + const start = lines.findIndex((line) => line.replace(/\s+$/, '') === `${key}:`); + if (start < 0) return []; + const block = []; + for (const line of lines.slice(start + 1)) { + if (!/^\s/.test(line)) break; + if (line.trim()) block.push(line); + } + return block; +} + +/** Pull what the page needs out of an egg file (JSON or YAML, either format). */ +function readEgg(text) { + const out = { uuid: null, images: [], icon: null, features: [], vars: [] }; + let data = null; + try { + data = JSON.parse(text); + } catch { + /* YAML: read the few fields we need with patterns */ + } + if (data) { + const egg = data.egg ?? data; + out.uuid = egg.uuid ?? null; + // The first image is the default: the panel picks it for new servers. + out.images = Object.values(egg.docker_images ?? {}).filter((v) => typeof v === 'string'); + if (!out.images.length && egg.image_docker) out.images = [egg.image_docker]; + out.features = Array.isArray(egg.features) ? egg.features : []; + out.vars = (Array.isArray(egg.variables) ? egg.variables : []).map((v) => v?.env_variable); + if (typeof egg.image === 'string' && egg.image.startsWith('data:image/')) out.icon = egg.image; + } else { + out.uuid = /^uuid:\s*['"]?([0-9a-f-]{36})/m.exec(text)?.[1] ?? null; + // " 'Java 25': 'ghcr.io/…:java_25'"; keys may hold a colon too ("ghcr.io/…:wine_latest: ghcr.io/…"). + out.images = yamlBlock(text, 'docker_images') + .map((line) => unquote(line.slice(line.lastIndexOf(': ') + 2))) + .filter(Boolean); + out.features = yamlBlock(text, 'features').map((line) => /^\s+-\s+(.+)$/.exec(line)?.[1]).map((f) => f && unquote(f)); + out.vars = [...text.matchAll(/^\s*(?:-\s+)?env_variable:\s*['"]?([A-Za-z0-9_]+)/gm)].map((m) => m[1]); + const icon = /^image:\s*['"]?(data:image\/[a-z+]+;base64,[A-Za-z0-9+/=]+)/m.exec(text); + if (icon) out.icon = icon[1]; + } + out.features = [...new Set(out.features.filter((f) => FEATURES.has(f)))].sort(); + out.vars = [...new Set(out.vars.filter((v) => typeof v === 'string' && v))]; + return out; +} + +/** Every egg on Pelican Hub, by uuid. Throws when any page fails, so a half list is never used. */ +async function hubEggs() { + const byUuid = new Map(); + let last = 1; + for (let page = 1; page <= last; page++) { + const data = JSON.parse(await getText(`${HUB_API}?per_page=100&page=${page}&sort=name`, 20000)); + if (!Array.isArray(data.data)) throw new Error(`unexpected Hub answer on page ${page}`); + last = Math.min(Number(data.last_page) || 1, 50); + for (const egg of data.data) { + if (!egg.uuid) continue; + if (!byUuid.has(egg.uuid)) byUuid.set(egg.uuid, []); + byUuid.get(egg.uuid).push(egg); + } + } + return byUuid; +} + +/** "#" is legal in a repo path but ends a URL ("…/generic/…/c#/egg.yaml"), so encode it. */ +const encodeEggUrl = (url) => url.replace(/#/g, '%23'); + +/** Steam store search, keeping only an exact name match. */ +async function steamLookup(name) { + // Steam's search finds nothing for a term with "+" in it ("DOOM + DOOM II"); the match below ignores it anyway. + const term = name.replace(/\s*\+\s*/g, ' '); + const url = `https://store.steampowered.com/api/storesearch/?term=${encodeURIComponent(term)}&cc=us&l=en`; + const data = JSON.parse(await getText(url, 10000)); + const hit = (data.items ?? []).find((item) => norm(item.name) === norm(name)); + if (!hit) return { steamAppId: null, art: null }; + return { steamAppId: hit.id, art: (await steamHeader(hit.id)) ?? hit.tiny_image ?? null }; +} + +/** The 460×215 store header (its address has a hash, so it must be asked for). */ +async function steamHeader(appId) { + try { + const url = `https://store.steampowered.com/api/appdetails?appids=${appId}&filters=basic`; + const data = JSON.parse(await getText(url, 10000)); + return data[appId]?.data?.header_image ?? null; + } catch { + return null; + } +} + +async function getBuffer(url, ms = 20000) { + const res = await fetch(url, { signal: AbortSignal.timeout(ms) }); + if (!res.ok) throw new Error(`${res.status} ${url}`); + return Buffer.from(await res.arrayBuffer()); +} + +/** The homepage's games, read from lib/eggs.ts so the list lives in one place. */ +function featuredSlugs() { + const source = readFileSync(join(root, 'lib/eggs.ts'), 'utf8'); + const list = /export const FEATURED\s*=\s*\[([^\]]*)\]/.exec(source)?.[1]; + if (!list) { + console.warn('eggs: FEATURED not found in lib/eggs.ts; no local icons this run'); + return new Set(); + } + return new Set([...list.matchAll(/['"]([^'"]+)['"]/g)].map((m) => m[1])); +} + +/** An icon built into the game's own egg (not a mod loader's or proxy's logo). */ +function ownEggIcon(game) { + return game.eggs.find((e) => e.icon && (game.eggs.length === 1 || norm(e.name) === norm(game.name)))?.icon ?? null; +} + +/** Hashes of an app's Steam icons, from the public SteamCMD info API. */ +async function steamIconHashes(appId) { + const data = JSON.parse(await getText(`https://api.steamcmd.net/v1/info/${appId}`, 15000)); + const common = data?.data?.[appId]?.common ?? {}; + return { icon: common.icon ?? null, clienticon: common.clienticon ?? null }; +} + +/** + * The largest picture in a Windows .ico file: PNG bytes, or raw RGBA decoded + * from the older bitmap format (sharp reads neither .ico nor bitmaps). + */ +function largestIcoFrame(buf) { + if (buf.length < 6 || buf.readUInt16LE(0) !== 0 || buf.readUInt16LE(2) !== 1) return null; + const isPng = (d) => d.length > 24 && d.readUInt32BE(0) === 0x89504e47; + let best = null; + for (let i = 0, count = buf.readUInt16LE(4); i < count; i++) { + const at = 6 + i * 16; + if (at + 16 > buf.length) break; + const size = buf.readUInt32LE(at + 8); + const offset = buf.readUInt32LE(at + 12); + const data = buf.subarray(offset, offset + size); + if (data.length < 40) continue; + const width = isPng(data) ? data.readUInt32BE(16) : data.readInt32LE(4); + const bpp = isPng(data) ? 32 : data.readUInt16LE(14); + if (!best || width > best.width || (width === best.width && bpp > best.bpp)) best = { width, bpp, data }; + } + if (!best) return null; + return isPng(best.data) ? { png: best.data } : { raw: decodeIcoBitmap(best.data) }; +} + +/** Decode an .ico bitmap (1/4/8/24/32 bits per pixel) to top-down RGBA. */ +function decodeIcoBitmap(d) { + const headerSize = d.readUInt32LE(0); + const width = d.readInt32LE(4); + const height = Math.abs(d.readInt32LE(8)) / 2; // the height counts the mask too + const bpp = d.readUInt16LE(14); + const compression = d.readUInt32LE(16); + if (width <= 0 || height <= 0 || ![1, 4, 8, 24, 32].includes(bpp) || ![0, 3].includes(compression)) return null; + let p = headerSize + (compression === 3 && headerSize === 40 ? 12 : 0); + const palette = []; + if (bpp <= 8) { + const colors = d.readUInt32LE(32) || 1 << bpp; + for (let i = 0; i < colors; i++, p += 4) palette.push([d[p + 2], d[p + 1], d[p]]); + } + const stride = Math.ceil((width * bpp) / 32) * 4; + const maskStride = Math.ceil(width / 32) * 4; + const maskStart = p + stride * height; + if (maskStart > d.length) return null; + const out = Buffer.alloc(width * height * 4); + let hasAlpha = false; + for (let y = 0; y < height; y++) { + const row = p + (height - 1 - y) * stride; // rows are stored bottom-up + for (let x = 0; x < width; x++) { + const o = (y * width + x) * 4; + let rgb; + let a = 255; + if (bpp === 32) { + rgb = [d[row + x * 4 + 2], d[row + x * 4 + 1], d[row + x * 4]]; + a = d[row + x * 4 + 3]; + if (a) hasAlpha = true; + } else if (bpp === 24) { + rgb = [d[row + x * 3 + 2], d[row + x * 3 + 1], d[row + x * 3]]; + } else { + const bit = x * bpp; + rgb = palette[(d[row + (bit >> 3)] >> (8 - bpp - (bit & 7))) & ((1 << bpp) - 1)] ?? [0, 0, 0]; + } + out[o] = rgb[0]; + out[o + 1] = rgb[1]; + out[o + 2] = rgb[2]; + out[o + 3] = a; + } + } + // Without a real alpha channel, transparency comes from the 1-bit mask after the pixels. + if (!hasAlpha && maskStart + maskStride * height <= d.length) { + for (let y = 0; y < height; y++) { + const row = maskStart + (height - 1 - y) * maskStride; + for (let x = 0; x < width; x++) { + if ((d[row + (x >> 3)] >> (7 - (x & 7))) & 1) out[(y * width + x) * 4 + 3] = 0; + else if (bpp === 32) out[(y * width + x) * 4 + 3] = 255; + } + } + } + return { data: out, width, height }; +} + +/** Save a game's Steam icon as a small square WebP; false when it has none. */ +async function saveSteamIcon(sharp, appId, hashes, file) { + let input = null; + if (hashes.clienticon) { + try { + const frame = largestIcoFrame(await getBuffer(`${STEAM_ICON_CDN}/${appId}/${hashes.clienticon}.ico`)); + if (frame?.png) input = sharp(frame.png); + else if (frame?.raw) { + const { data, width, height } = frame.raw; + input = sharp(data, { raw: { width, height, channels: 4 } }); + } + } catch { + /* fall back to the 32px community icon */ + } + } + if (!input && hashes.icon) input = sharp(await getBuffer(`${STEAM_ICON_CDN}/${appId}/${hashes.icon}.jpg`)); + if (!input) return false; + const { width = ICON_PX, height = ICON_PX } = await input.metadata(); + const side = Math.min(ICON_PX, Math.max(width, height)); // never enlarge; the browser scales small icons + await input + .resize(side, side, { fit: 'contain', background: { r: 0, g: 0, b: 0, alpha: 0 } }) + .webp({ quality: 90, alphaQuality: 90, effort: 6 }) + .toFile(file); + return true; +} + +async function loadSharp() { + try { + return (await import('sharp')).default; + } catch { + console.warn('eggs: sharp is not installed; featured icons stay remote this run'); + return null; + } +} + +async function main() { + const previous = existsSync(OUT) ? JSON.parse(readFileSync(OUT, 'utf8')) : null; + const known = new Map((previous?.games ?? []).map((g) => [g.slug, g])); + + const index = JSON.parse(await getText(INDEX_URL)); + const groups = new Map(); + + for (const nest of index.nests) { + const category = CATEGORY[nest.nest_type] ?? 'generic'; + for (const entry of nest.Eggs) { + const url = entry.download_url; + // .../pelican-eggs//refs/heads/main//egg-x.json + const repo = /\/pelican-eggs\/([^/]+)\/refs\/heads\//.exec(url)?.[1] ?? ''; + const parts = url.split('/refs/heads/main/')[1]?.split('/') ?? []; + const repoPath = `${repo}/${parts.join('/')}`; + const folder = category === 'minecraft' ? 'minecraft' : category === 'games' ? parts[0] : null; + const override = category === 'minecraft' || category === 'games' ? gameByPath(repoPath) : null; + const unlisted = !override && category === 'games' && MIXED_FOLDERS.has(`${repo}/${folder}/`); + if (unlisted) console.warn(`eggs: ${repoPath} is in a folder with several games but not in GAME_BY_PATH; listed on its own`); + const gameName = + override ?? + (category === 'minecraft' + ? parts[0] === 'bedrock' + ? 'Minecraft: Bedrock Edition' + : 'Minecraft' + : folder && !unlisted + ? STEAM_NAME[folder] ?? humanize(folder) + : entry.egg.name); + const slug = gameName === 'Minecraft: Bedrock Edition' ? 'minecraft-bedrock' : slugify(gameName); + if (!groups.has(slug)) groups.set(slug, { slug, name: gameName, category, folder, eggs: [] }); + groups.get(slug).eggs.push({ + name: entry.egg.name, + description: (entry.egg.description ?? '').replace(/\s+/g, ' ').trim().slice(0, 220), + url: encodeEggUrl(url), + image: null, + imageNote: null, + icon: null, + features: [], + vars: [], + hubUrl: null, + installs: null, + updatedAt: null, + }); + } + } + + // Egg files: Docker images, features, variables and built-in icon. + const allEggs = [...groups.values()].flatMap((g) => g.eggs.map((e) => ({ g, e }))); + const uuids = new Map(); + mkdirSync(ICONS, { recursive: true }); + let read = 0; + await pool(allEggs, 16, async ({ g, e }) => { + try { + const egg = readEgg(await getText(e.url)); + e.image = egg.images[0] ?? null; + e.imageNote = imageNote(egg.images); + e.features = egg.features; + e.vars = egg.vars; + if (egg.uuid) uuids.set(e, egg.uuid); + if (egg.icon) { + const [, ext, b64] = /^data:image\/([a-z+]+);base64,(.+)$/.exec(egg.icon) ?? []; + if (b64) { + const file = `${slugify(g.slug + '-' + e.name)}.${ext === 'svg+xml' ? 'svg' : ext}`; + writeFileSync(join(ICONS, file), Buffer.from(b64, 'base64')); + e.icon = `/img/eggs/${file}`; + } + } + read++; + } catch { + /* keep the egg without extras */ + } + }); + + // Pelican Hub: each egg's page, install count and last update, matched by uuid. + // Offline or rate-limited: keep what the previous run found. + const knownEggs = new Map((previous?.games ?? []).flatMap((g) => g.eggs.map((e) => [encodeEggUrl(e.url), e]))); + let hubFetchedAt = previous?.hubFetchedAt ?? null; + let hubMatched = 0; + try { + const hub = await hubEggs(); + hubFetchedAt = new Date().toISOString(); + // Two eggs in the index can carry the same uuid (one copied from another); then + // only the one whose name matches the Hub's gets the link, never a guess. + const sharing = new Map(); + for (const uuid of uuids.values()) sharing.set(uuid, (sharing.get(uuid) ?? 0) + 1); + for (const { e } of allEggs) { + const uuid = uuids.get(e); + const candidates = (uuid && hub.get(uuid)) || []; + const byName = candidates.find((h) => norm(h.name) === norm(e.name)); + const hit = byName ?? (sharing.get(uuid) === 1 && candidates.length === 1 ? candidates[0] : null); + if (!hit) continue; + e.hubUrl = hit.url; + e.installs = Number(hit.install_count) || 0; + e.updatedAt = hit.updated_at ?? null; + hubMatched++; + } + } catch (error) { + console.warn(`eggs: Pelican Hub not reached (${error.message}); keeping the previous Hub data`); + for (const { e } of allEggs) { + const old = knownEggs.get(e.url); + if (!old) continue; + e.hubUrl = old.hubUrl ?? null; + e.installs = old.installs ?? null; + e.updatedAt = old.updatedAt ?? null; + } + } + + // Steam artwork for games, cached from the previous run. + const games = [...groups.values()]; + let looked = 0; + await pool( + games.filter((g) => g.category === 'games'), + 4, + async (g) => { + const cached = known.get(g.slug); + // Reuse earlier matches; try again for games that had none. + if (cached?.steamAppId) { + g.steamAppId = cached.steamAppId; + g.art = cached.art; + // Older runs kept the small capsule image; upgrade it to the header once. + if (!g.art || g.art.includes('capsule_231x87')) g.art = (await steamHeader(g.steamAppId)) ?? g.art; + return; + } + try { + Object.assign(g, await steamLookup(STEAM_STORE_NAME[g.name] ?? g.name)); + looked++; + } catch { + g.steamAppId = null; + g.art = null; + } + }, + ); + + // Square icons. Featured games get a local WebP (once; the file is the cache); + // other Steam games keep the address of their 32px community icon. + const featured = featuredSlugs(); + const sharp = featured.size ? await loadSharp() : null; + mkdirSync(GAME_ICONS, { recursive: true }); + let iconLookups = 0; + let iconFiles = 0; + await pool(games, 4, async (g) => { + g.steamAppId ??= null; + g.icon = DRAWN_ICONS[g.slug] ?? null; + if (g.icon) return; + if (!g.steamAppId) { + g.icon = ownEggIcon(g); + return; + } + const file = join(GAME_ICONS, `${g.slug}.webp`); + if (existsSync(file)) { + g.icon = `/img/games/${g.slug}.webp`; + return; + } + const cached = known.get(g.slug); + const cachedRemote = cached?.steamAppId === g.steamAppId && cached.icon?.startsWith(STEAM_ICON_CDN) ? cached.icon : null; + if (cachedRemote && !(featured.has(g.slug) && sharp)) { + g.icon = cachedRemote; + return; + } + try { + const hashes = await steamIconHashes(g.steamAppId); + iconLookups++; + if (featured.has(g.slug) && sharp && (await saveSteamIcon(sharp, g.steamAppId, hashes, file).catch(() => false))) { + g.icon = `/img/games/${g.slug}.webp`; + iconFiles++; + return; + } + g.icon = hashes.icon ? `${STEAM_ICON_CDN}/${g.steamAppId}/${hashes.icon}.jpg` : null; + } catch { + g.icon = cachedRemote; + } + }); + + for (const g of games) { + // No store artwork: fall back to an original drawing, or an icon built into the game's own egg. + g.art ??= DRAWN_ICONS[g.slug] ?? ownEggIcon(g); + delete g.folder; + g.eggs.sort((a, b) => a.name.localeCompare(b.name)); + } + games.sort((a, b) => b.eggs.length - a.eggs.length || a.name.localeCompare(b.name)); + + const categories = Object.entries(CATEGORY_NAMES) + .map(([id, name]) => ({ id, name, count: games.filter((g) => g.category === id).reduce((n, g) => n + g.eggs.length, 0) })) + .filter((c) => c.count > 0); + + const out = { generatedAt: new Date().toISOString(), source: INDEX_URL, hubFetchedAt, categories, games }; + mkdirSync(dirname(OUT), { recursive: true }); + writeFileSync(OUT, JSON.stringify(out, null, 1) + '\n'); + console.log( + `eggs: ${allEggs.length} eggs (${read} files read) in ${games.length} groups; ` + + `${allEggs.filter(({ e }) => e.hubUrl).length} on Pelican Hub (${hubMatched} matched this run), ` + + `${allEggs.filter(({ e }) => e.installs).length} with installs; ` + + `${games.filter((g) => g.art).length} with artwork (${looked} Steam lookups), ` + + `${games.filter((g) => g.icon).length} with square icons (${iconLookups} icon lookups, ${iconFiles} saved) → data/eggs.json`, + ); +} + +main().catch((error) => { + if (soft && existsSync(OUT)) { + console.warn(`eggs: could not refresh (${error.message}); using the saved data/eggs.json`); + process.exit(0); + } + console.error(error); + process.exit(1); +}); diff --git a/sidebars.ts b/sidebars.ts deleted file mode 100644 index 4974b621..00000000 --- a/sidebars.ts +++ /dev/null @@ -1,90 +0,0 @@ -import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; - -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ -const sidebars: SidebarsConfig = { - Sidebar: [ - 'welcome', - { - type: 'category', - label: 'Panel', - collapsed: false, - items: [ - 'panel/getting-started', - 'panel/webserver-config', - 'panel/panel-setup', - 'panel/optional-config', - 'panel/update', - { - type: 'category', - label: 'Advanced', - items: [ - 'panel/advanced/redis', - 'panel/advanced/mysql', - 'panel/advanced/artisan', - 'panel/advanced/docker', - 'panel/advanced/podman', - 'panel/advanced/cloudflare-tunnel', - 'panel/advanced/api-docs', - 'panel/advanced/plugins', - ] - } - ], - }, - { - type: 'category', - label: 'Wings', - items: [ - 'wings/install', - 'wings/optional-config', - 'wings/update' - ], - }, - { - type: 'category', - label: 'Eggs', - items: [ - 'eggs/creating-a-custom-egg', - 'eggs/creating-a-custom-yolk', - ], - }, - { - type: 'category', - label: 'Guides', - items: [ - 'guides/docker', - 'guides/mounts', - 'guides/ssl', - 'guides/php-upgrade', - 'guides/database-hosts', - 'guides/change-panel-domain', - 'guides/uninstalling', - 'guides/migrating-from-pterodactyl', - 'guides/translating', - 'guides/troubleshooting', - - { - type: 'category', - label: 'Disk Quotas', - items: [ - 'guides/disk-quotas/about', - 'guides/disk-quotas/ext4-xfs', - ] - } - ], - }, - 'versioning', - 'comparison', - 'contributors', - ], -}; - -export default sidebars; diff --git a/source.config.ts b/source.config.ts new file mode 100644 index 00000000..4e396fc0 --- /dev/null +++ b/source.config.ts @@ -0,0 +1,81 @@ +import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config'; +import { rehypeCodeDefaultOptions } from 'fumadocs-core/mdx-plugins/rehype-code'; +import { remarkAdmonition } from 'fumadocs-core/mdx-plugins/remark-admonition'; +import { remarkMdxMermaid } from 'fumadocs-core/mdx-plugins/remark-mdx-mermaid'; +import { transformerMetaHighlight } from '@shikijs/transformers'; +import lastModified from 'fumadocs-mdx/plugins/last-modified'; +import type { Root } from 'mdast'; +import { visit } from 'unist-util-visit'; +import { transformerSetup } from './lib/shiki-setup'; + +// The documentation under /docs. +export const docs = defineDocs({ + dir: 'content/docs', + docs: { schema: frontmatterSchema }, + meta: { schema: metaSchema }, +}); + +// Stand-alone pages outside the docs, like /faq. (/support is app/(landing)/support/page.tsx.) +export const pages = defineDocs({ + dir: 'content/pages', + docs: { schema: frontmatterSchema }, + meta: { schema: metaSchema }, +}); + +const codeDefaults = rehypeCodeDefaultOptions; + +// Language names the pages used on Docusaurus (Prism) that Shiki calls +// something else, or doesn't ship. Writers can keep using either name. +const LANGUAGE_ALIASES: Record = { + NGINX: 'nginx', + apacheconf: 'apache', + unit: 'ini', + caddy: 'plaintext', + caddyfile: 'plaintext', +}; + +function remarkLanguageAliases() { + return (tree: Root) => { + visit(tree, 'code', (node) => { + if (node.lang && node.lang in LANGUAGE_ALIASES) node.lang = LANGUAGE_ALIASES[node.lang]; + }); + }; +} + +export default defineConfig({ + plugins: [lastModified()], + mdxOptions: { + remarkPlugins: (plugins) => [ + // `:::note` ... `:::` blocks become a , coloured the same way as + // (components/mdx/admonition.tsx). + [ + remarkAdmonition, + { + typeMap: { + note: 'info', + info: 'info', + tip: 'success', + caution: 'warning', + warning: 'warning', + danger: 'error', + }, + }, + ], + remarkMdxMermaid, + remarkLanguageAliases, + ...plugins, + ], + rehypeCodeOptions: { + ...codeDefaults, + themes: { light: 'github-light', dark: 'github-dark' }, + fallbackLanguage: 'plaintext', + transformers: [ + ...(codeDefaults.transformers ?? []), + // ```nginx {5,11} highlights lines 5 and 11, like it did on Docusaurus. + transformerMetaHighlight(), + // ```nginx setup fills the reader's own values in (see components/setup). + transformerSetup(), + ], + }, + }, +}); diff --git a/src/components/HomepageFeatures/look.tsx b/src/components/HomepageFeatures/look.tsx deleted file mode 100644 index 04aab731..00000000 --- a/src/components/HomepageFeatures/look.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import React, {JSX} from 'react'; -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; -import Zoom from 'react-medium-image-zoom'; -import 'react-medium-image-zoom/dist/styles.css'; -import { useColorMode } from '@docusaurus/theme-common'; - -type FeatureItem = { - title: string; - light: string; - dark: string -}; - -const FeatureList: FeatureItem[] = [ - { - title: 'Client Area', - light: 'https://peli.nyc3.digitaloceanspaces.com/docs/serverconsoled.gif', - dark: 'https://peli.nyc3.digitaloceanspaces.com/docs/serverconsolel.gif' }, - { - title: 'Panel Settings', - light: 'https://peli.nyc3.digitaloceanspaces.com/docs/panelsettingsd.gif', - dark: 'https://peli.nyc3.digitaloceanspaces.com/docs/panelsettingsl.gif' }, - { - title: 'Create Server', - light: 'https://peli.nyc3.digitaloceanspaces.com/docs/createserverd.gif', - dark: 'https://peli.nyc3.digitaloceanspaces.com/docs/createserverl.gif' }, -]; - -function Feature({title, light, dark}: FeatureItem) { - const {colorMode} = useColorMode(); - let image: string; - - if (colorMode === 'dark') { - image = light; - } else { - image = dark; - } - - return ( -
    -
    - - {title} -
    -
    - ); - } - -export default function HomepageLook(): JSX.Element { - return ( -
    -
    -

    Shots of the Screen

    -
    - {FeatureList.map((props, idx) => ( - - ))} -
    -
    -
    - ); -} - diff --git a/src/components/HomepageFeatures/sponsors.tsx b/src/components/HomepageFeatures/sponsors.tsx deleted file mode 100644 index 49f1797a..00000000 --- a/src/components/HomepageFeatures/sponsors.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import React, {JSX} from 'react'; -import clsx from 'clsx'; -import styles from './styles.module.css'; -import 'react-medium-image-zoom/dist/styles.css'; -import {useColorMode} from "@docusaurus/theme-common"; - -type SponsorItem = { - sponsor: string; - logo: string; - logoDM: string; - url: string; - desc: string; -}; - -const SponsorList: SponsorItem[] = [ - /* { - sponsor: 'Name of Sponsor', - logo: '/img/homepage/sponsor/image.png', - url: 'https://example.com', - desc: '', - }, */ - { - sponsor: 'DataForest', - logo: '/img/homepage/sponsor/df-cloud-logo.svg', - logoDM: '/img/homepage/sponsor/df-cloud-logo-darkmode.svg', - url: 'https://cloud.dataforest.net/?mtm_campaign=pelican&mtm_kwd=main', - desc: '', -}, - { - sponsor: 'DreamHost', - logo: '/img/homepage/sponsor/dreamhost-logo.png', - logoDM: '/img/homepage/sponsor/dreamhost-logo-darkmode.png', - url: 'https://www.dreamhost.com/hosting/vps/pelican/', - desc: '', -}, -]; - -function Sponsor({sponsor, logo, logoDM, url, desc}: SponsorItem) { - - const {colorMode} = useColorMode(); - let image: string; - - if (colorMode === 'dark') { - image = logoDM; - } else { - image = logo; - } - - return ( -
    - {sponsor} - - ); - } - -export default function HomepageSponsor(): JSX.Element { - return ( -
    -
    -

    Project Sponsors

    -
    - {SponsorList.map((props, idx) => ( - - ))} -
    -

    - A heartfelt thank you to our sponsors, whose generous support keeps Pelican flying. -

    -
    -
    - ); -} - diff --git a/src/components/HomepageFeatures/styles.module.css b/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2e..00000000 --- a/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/src/components/HomepageFeatures/what.tsx b/src/components/HomepageFeatures/what.tsx deleted file mode 100644 index 02e88c2b..00000000 --- a/src/components/HomepageFeatures/what.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React, {JSX} from 'react'; -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; - -type FeatureItem = { - title: string; - img: string; -}; - -const FeatureList: FeatureItem[] = [ - { - title: 'Node Overview', - img: 'img/homepage/1.png', }, - { - title: 'User Overview', - img: 'img/homepage/2.png', }, - { - title: 'Create Node', - img: 'img/homepage/3.png', }, - { - title: 'Editing an Egg', - img: 'img/homepage/4.png', }, - { - title: 'Editing a Server', - img: 'img/homepage/5.png', }, - { - title: 'Creating an API Key', - img: 'img/homepage/6.png', }, -]; - -function Feature({title, img}: FeatureItem) { - return ( -
    -
    - {title} -
    -
    - -
    -
    - ); -} - -export default function HomepageWhat(): JSX.Element { - return ( -
    -
    -

    What is Pelican?

    -

    - Pelican is the ultimate, free game server control panel offering high flying security. - It's a breeze to manage your servers with our sleek and user-friendly interface. - And thanks to Docker, they all run in their own safe space. -

    -
    -
    - ); -} diff --git a/src/components/HomepageFeatures/why.tsx b/src/components/HomepageFeatures/why.tsx deleted file mode 100644 index ae5b9b3f..00000000 --- a/src/components/HomepageFeatures/why.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import React, {JSX} from 'react'; -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; -import { Icon } from '@iconify/react/dist/iconify.js'; -import Link from "@docusaurus/Link"; - -type FeatureItem = { - title: string; - icon: string; - description: JSX.Element; -}; - -const FeatureList: FeatureItem[] = [ - { - title: 'Updated Interface', - icon: 'tabler:app-window', - description: ( - <> - Intuitive interface, one click installations, comprehensive documentation, active community support, automatic updates. - - ), - }, - { - title: 'Free to Use & Open Source', - icon: 'tabler:currency-dollar-off', - description: ( - <> - Pelican is 100% free to use forever for your self, friends, family, and others. All of our code is completely open source on GitHub. - - ) - }, - { - title: 'Eggs', - icon: 'tabler:eggs', - description: ( - <> - <>We support - Minecraft<>, - Terraria<>, - Palworld<>, - Valheim<>, - Enshrouded<>, - Factorio<>, - and so much more. - Check our eggs out, we like them scrambled! - - ), - }, - { - title: 'Powered by Docker', - icon: 'tabler:brand-docker', - description: ( - <> - Each server is ran in its own container and completely isolated. - This allows you to use almost any of your machines with Pelican. - - ), - }, - { - title: 'Scaleable to the Sky', - icon: 'tabler:server-2', - description: ( - <> - Whether you're some friends that want to play together, or a gaming community, we've got you covered. - - ) - }, - { - title: 'Security', - icon: 'tabler:lock-check', - description: ( - <> - Pelican takes security extremely seriously and natively supports SSL, 2FA, AES-256 encryption, and more. - - ) - }, -]; - -function Feature({title, icon, description}: FeatureItem) { - return ( -
    -
    - -
    -
    - {title} -

    {description}

    -
    -
    - ); -} - -export default function HomepageWhy(): JSX.Element { - return ( -
    -
    -

    Why use Pelican?

    -
    - {FeatureList.map((props, idx) => ( - - ))} -
    -
    -
    - ); -} diff --git a/src/css/custom.scss b/src/css/custom.scss deleted file mode 100644 index 06b688ed..00000000 --- a/src/css/custom.scss +++ /dev/null @@ -1,172 +0,0 @@ -/* You can override the default Infima variables here. */ -:root { - --ifm-color-primary-lightester: rgb(240, 249, 255); - --ifm-color-primary-lightest: rgb(224, 242, 254); - --ifm-color-primary-lighter: rgb(186, 230, 253); - --ifm-color-primary-light: rgb(125, 211, 252); - --ifm-color-primary: rgb(56, 189, 248); - --ifm-color-primary-dark: rgb(14, 165, 233); - --ifm-color-primary-darker: rgb(2, 132, 199); - --ifm-color-primary-darkest: rgb(3, 105, 161); - --ifm-color-primary-darkester: rgb(7, 89, 133); - --ifm-color-primary-darkestest: rgb(12, 74, 110); - --ifm-color-primary-darkestester: rgb(8, 47, 73); - - --ifm-color-info-dark: rgb(14, 165, 233); - --ifm-color-info-darker: rgb(2, 132, 199); - --ifm-color-info-darkest: rgb(3, 105, 161); - --ifm-color-info-light: rgb(125, 211, 252); - --ifm-color-info-lighter: rgb(186, 230, 253); - --ifm-color-info-lightest: rgb(240, 249, 255); - - --ifm-container-width-xl: 1600px; - --ifm-container-width: 1280px; - - --ifm-code-font-size: 95%; -} - -[data-theme='light'] { - --docusaurus-highlighted-code-line-bg: var(--ifm-color-primary-lighter); - - .hero--primary { - --ifm-hero-background-color: var(--ifm-color-primary-dark); - } - - .hero .hero__subtitle { - color: white; - } -} - -/* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme='dark'] { - --ifm-heading-color: white; - --docusaurus-highlighted-code-line-bg: var(--ifm-color-primary-darkestest); - - .hero--primary { - --ifm-hero-background-color: var(--ifm-color-primary-darkest); - } - - .hero--dark { - --ifm-hero-background-color: #303846; - --ifm-hero-text-color: rgb(83, 78, 78); - } - - .hero__subtitle { - color: white; - } -} - -.footer { - text-align: center; -} - -.main-wrapper { - min-height: calc(100vh - 60px); -} - -html[data-theme='dark'] .github-link { - align-items: center; - display: flex; - - &:before { - align-self: center; - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjZTNlM2UzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDBDMy41OCAwIDAgMy41OCAwIDhjMCAzLjU0IDIuMjkgNi41MyA1LjQ3IDcuNTkuNC4wNy41NS0uMTcuNTUtLjM4IDAtLjE5LS4wMS0uODItLjAxLTEuNDktMi4wMS4zNy0yLjUzLS40OS0yLjY5LS45NC0uMDktLjIzLS40OC0uOTQtLjgyLTEuMTMtLjI4LS4xNS0uNjgtLjUyLS4wMS0uNTMuNjMtLjAxIDEuMDguNTggMS4yMy44Mi43MiAxLjIxIDEuODcuODcgMi4zMy42Ni4wNy0uNTIuMjgtLjg3LjUxLTEuMDctMS43OC0uMi0zLjY0LS44OS0zLjY0LTMuOTUgMC0uODcuMzEtMS41OS44Mi0yLjE1LS4wOC0uMi0uMzYtMS4wMi4wOC0yLjEyIDAgMCAuNjctLjIxIDIuMi44Mi42NC0uMTggMS4zMi0uMjcgMi0uMjcuNjggMCAxLjM2LjA5IDIgLjI3IDEuNTMtMS4wNCAyLjItLjgyIDIuMi0uODIuNDQgMS4xLjE2IDEuOTIuMDggMi4xMi41MS41Ni44MiAxLjI3LjgyIDIuMTUgMCAzLjA3LTEuODcgMy43NS0zLjY1IDMuOTUuMjkuMjUuNTQuNzMuNTQgMS40OCAwIDEuMDctLjAxIDEuOTMtLjAxIDIuMiAwIC4yMS4xNS40Ni41NS4zOEE4LjAxMyA4LjAxMyAwIDAwMTYgOGMwLTQuNDItMy41OC04LTgtOHoiLz48L3N2Zz4=") 0 0/contain; - content: ''; - display: inline-flex; - height: 32px; - width: 32px; - margin-right: 0.25rem; - color: var(--ifm-navbar-link-color); - } - - &:hover { - &:before { - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjMzhiZGY4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDBDMy41OCAwIDAgMy41OCAwIDhjMCAzLjU0IDIuMjkgNi41MyA1LjQ3IDcuNTkuNC4wNy41NS0uMTcuNTUtLjM4IDAtLjE5LS4wMS0uODItLjAxLTEuNDktMi4wMS4zNy0yLjUzLS40OS0yLjY5LS45NC0uMDktLjIzLS40OC0uOTQtLjgyLTEuMTMtLjI4LS4xNS0uNjgtLjUyLS4wMS0uNTMuNjMtLjAxIDEuMDguNTggMS4yMy44Mi43MiAxLjIxIDEuODcuODcgMi4zMy42Ni4wNy0uNTIuMjgtLjg3LjUxLTEuMDctMS43OC0uMi0zLjY0LS44OS0zLjY0LTMuOTUgMC0uODcuMzEtMS41OS44Mi0yLjE1LS4wOC0uMi0uMzYtMS4wMi4wOC0yLjEyIDAgMCAuNjctLjIxIDIuMi44Mi42NC0uMTggMS4zMi0uMjcgMi0uMjcuNjggMCAxLjM2LjA5IDIgLjI3IDEuNTMtMS4wNCAyLjItLjgyIDIuMi0uODIuNDQgMS4xLjE2IDEuOTIuMDggMi4xMi41MS41Ni44MiAxLjI3LjgyIDIuMTUgMCAzLjA3LTEuODcgMy43NS0zLjY1IDMuOTUuMjkuMjUuNTQuNzMuNTQgMS40OCAwIDEuMDctLjAxIDEuOTMtLjAxIDIuMiAwIC4yMS4xNS40Ni41NS4zOEE4LjAxMyA4LjAxMyAwIDAwMTYgOGMwLTQuNDItMy41OC04LTgtOHoiLz48L3N2Zz4=") 0 0/contain; - } - } -} - -html[data-theme='light'] .github-link { - align-items: center; - display: flex; - - &:before { - align-self: center; - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjMWMxZTIxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDBDMy41OCAwIDAgMy41OCAwIDhjMCAzLjU0IDIuMjkgNi41MyA1LjQ3IDcuNTkuNC4wNy41NS0uMTcuNTUtLjM4IDAtLjE5LS4wMS0uODItLjAxLTEuNDktMi4wMS4zNy0yLjUzLS40OS0yLjY5LS45NC0uMDktLjIzLS40OC0uOTQtLjgyLTEuMTMtLjI4LS4xNS0uNjgtLjUyLS4wMS0uNTMuNjMtLjAxIDEuMDguNTggMS4yMy44Mi43MiAxLjIxIDEuODcuODcgMi4zMy42Ni4wNy0uNTIuMjgtLjg3LjUxLTEuMDctMS43OC0uMi0zLjY0LS44OS0zLjY0LTMuOTUgMC0uODcuMzEtMS41OS44Mi0yLjE1LS4wOC0uMi0uMzYtMS4wMi4wOC0yLjEyIDAgMCAuNjctLjIxIDIuMi44Mi42NC0uMTggMS4zMi0uMjcgMi0uMjcuNjggMCAxLjM2LjA5IDIgLjI3IDEuNTMtMS4wNCAyLjItLjgyIDIuMi0uODIuNDQgMS4xLjE2IDEuOTIuMDggMi4xMi41MS41Ni44MiAxLjI3LjgyIDIuMTUgMCAzLjA3LTEuODcgMy43NS0zLjY1IDMuOTUuMjkuMjUuNTQuNzMuNTQgMS40OCAwIDEuMDctLjAxIDEuOTMtLjAxIDIuMiAwIC4yMS4xNS40Ni41NS4zOEE4LjAxMyA4LjAxMyAwIDAwMTYgOGMwLTQuNDItMy41OC04LTgtOHoiLz48L3N2Zz4=") 0 0/contain; - content: ''; - display: inline-flex; - height: 32px; - width: 32px; - margin-right: 0.25rem; - color: var(--ifm-navbar-link-color); - } - - &:hover { - &:before { - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSIjMzhiZGY4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDBDMy41OCAwIDAgMy41OCAwIDhjMCAzLjU0IDIuMjkgNi41MyA1LjQ3IDcuNTkuNC4wNy41NS0uMTcuNTUtLjM4IDAtLjE5LS4wMS0uODItLjAxLTEuNDktMi4wMS4zNy0yLjUzLS40OS0yLjY5LS45NC0uMDktLjIzLS40OC0uOTQtLjgyLTEuMTMtLjI4LS4xNS0uNjgtLjUyLS4wMS0uNTMuNjMtLjAxIDEuMDguNTggMS4yMy44Mi43MiAxLjIxIDEuODcuODcgMi4zMy42Ni4wNy0uNTIuMjgtLjg3LjUxLTEuMDctMS43OC0uMi0zLjY0LS44OS0zLjY0LTMuOTUgMC0uODcuMzEtMS41OS44Mi0yLjE1LS4wOC0uMi0uMzYtMS4wMi4wOC0yLjEyIDAgMCAuNjctLjIxIDIuMi44Mi42NC0uMTggMS4zMi0uMjcgMi0uMjcuNjggMCAxLjM2LjA5IDIgLjI3IDEuNTMtMS4wNCAyLjItLjgyIDIuMi0uODIuNDQgMS4xLjE2IDEuOTIuMDggMi4xMi41MS41Ni44MiAxLjI3LjgyIDIuMTUgMCAzLjA3LTEuODcgMy43NS0zLjY1IDMuOTUuMjkuMjUuNTQuNzMuNTQgMS40OCAwIDEuMDctLjAxIDEuOTMtLjAxIDIuMiAwIC4yMS4xNS40Ni41NS4zOEE4LjAxMyA4LjAxMyAwIDAwMTYgOGMwLTQuNDItMy41OC04LTgtOHoiLz48L3N2Zz4=") 0 0/contain; - } - } -} -html[data-theme='dark'] .discord-link { - align-items: center; - display: flex; - - &:before { - align-self: center; - background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0cHgiIHdpZHRoPSIyNHB4IiB2aWV3Qm94PSIwIDAgNzEgNTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjEwNDUgNC44OTc4QzU1LjU3OTIgMi44MjE0IDUwLjcyNjUgMS4yOTE2IDQ1LjY1MjcgMC40MTU0MkM0NS41NjAzIDAuMzk4NTEgNDUuNDY4IDAuNDQwNzY5IDQ1LjQyMDQgMC41MjUyODlDNDQuNzk2MyAxLjYzNTMgNDQuMTA1IDMuMDgzNCA0My42MjA5IDQuMjIxNkMzOC4xNjM3IDMuNDA0NiAzMi43MzQ1IDMuNDA0NiAyNy4zODkyIDQuMjIxNkMyNi45MDUgMy4wNTgxIDI2LjE4ODYgMS42MzUzIDI1LjU2MTcgMC41MjUyODlDMjUuNTE0MSAwLjQ0MzU4OSAyNS40MjE4IDAuNDAxMzMgMjUuMzI5NCAwLjQxNTQyQzIwLjI1ODQgMS4yODg4IDE1LjQwNTcgMi44MTg2IDEwLjg3NzYgNC44OTc4QzEwLjgzODQgNC45MTQ3IDEwLjgwNDggNC45NDI5IDEwLjc4MjUgNC45Nzk1QzEuNTc3OTUgMTguNzMwOSAtMC45NDM1NjEgMzIuMTQ0MyAwLjI5MzQwOCA0NS4zOTE0QzAuMjk5MDA1IDQ1LjQ1NjIgMC4zMzUzODYgNDUuNTE4MiAwLjM4NTc2MSA0NS41NTc2QzYuNDU4NjYgNTAuMDE3NCAxMi4zNDEzIDUyLjcyNDkgMTguMTE0NyA1NC41MTk1QzE4LjIwNzEgNTQuNTQ3NyAxOC4zMDUgNTQuNTEzOSAxOC4zNjM4IDU0LjQzNzhDMTkuNzI5NSA1Mi41NzI4IDIwLjk0NjkgNTAuNjA2MyAyMS45OTA3IDQ4LjUzODNDMjIuMDUyMyA0OC40MTcyIDIxLjk5MzUgNDguMjczNSAyMS44Njc2IDQ4LjIyNTZDMTkuOTM2NiA0Ny40OTMxIDE4LjA5NzkgNDYuNiAxNi4zMjkyIDQ1LjU4NThDMTYuMTg5MyA0NS41MDQxIDE2LjE3ODEgNDUuMzA0IDE2LjMwNjggNDUuMjA4MkMxNi42NzkgNDQuOTI5MyAxNy4wNTEzIDQ0LjYzOTEgMTcuNDA2NyA0NC4zNDYxQzE3LjQ3MSA0NC4yOTI2IDE3LjU2MDYgNDQuMjgxMyAxNy42MzYyIDQ0LjMxNTFDMjkuMjU1OCA0OS42MjAyIDQxLjgzNTQgNDkuNjIwMiA1My4zMTc5IDQ0LjMxNTFDNTMuMzkzNSA0NC4yNzg1IDUzLjQ4MzEgNDQuMjg5OCA1My41NTAyIDQ0LjM0MzNDNTMuOTA1NyA0NC42MzYzIDU0LjI3NzkgNDQuOTI5MyA1NC42NTI5IDQ1LjIwODJDNTQuNzgxNiA0NS4zMDQgNTQuNzczMiA0NS41MDQxIDU0LjYzMzMgNDUuNTg1OEM1Mi44NjQ2IDQ2LjYxOTcgNTEuMDI1OSA0Ny40OTMxIDQ5LjA5MjEgNDguMjIyOEM0OC45NjYyIDQ4LjI3MDcgNDguOTEwMiA0OC40MTcyIDQ4Ljk3MTggNDguNTM4M0M1MC4wMzggNTAuNjAzNCA1MS4yNTU0IDUyLjU2OTkgNTIuNTk1OSA1NC40MzVDNTIuNjUxOSA1NC41MTM5IDUyLjc1MjYgNTQuNTQ3NyA1Mi44NDUgNTQuNTE5NUM1OC42NDY0IDUyLjcyNDkgNjQuNTI5IDUwLjAxNzQgNzAuNjAxOSA0NS41NTc2QzcwLjY1NTEgNDUuNTE4MiA3MC42ODg3IDQ1LjQ1OSA3MC42OTQzIDQ1LjM5NDJDNzIuMTc0NyAzMC4wNzkxIDY4LjIxNDcgMTYuNzc1NyA2MC4xOTY4IDQuOTgyM0M2MC4xNzcyIDQuOTQyOSA2MC4xNDM3IDQuOTE0NyA2MC4xMDQ1IDQuODk3OFpNMjMuNzI1OSAzNy4zMjUzQzIwLjIyNzYgMzcuMzI1MyAxNy4zNDUxIDM0LjExMzYgMTcuMzQ1MSAzMC4xNjkzQzE3LjM0NTEgMjYuMjI1IDIwLjE3MTcgMjMuMDEzMyAyMy43MjU5IDIzLjAxMzNDMjcuMzA4IDIzLjAxMzMgMzAuMTYyNiAyNi4yNTMyIDMwLjEwNjYgMzAuMTY5M0MzMC4xMDY2IDM0LjExMzYgMjcuMjggMzcuMzI1MyAyMy43MjU5IDM3LjMyNTNaTTQ3LjMxNzggMzcuMzI1M0M0My44MTk2IDM3LjMyNTMgNDAuOTM3MSAzNC4xMTM2IDQwLjkzNzEgMzAuMTY5M0M0MC45MzcxIDI2LjIyNSA0My43NjM2IDIzLjAxMzMgNDcuMzE3OCAyMy4wMTMzQzUwLjkgMjMuMDEzMyA1My43NTQ1IDI2LjI1MzIgNTMuNjk4NiAzMC4xNjkzQzUzLjY5ODYgMzQuMTEzNiA1MC45IDM3LjMyNTMgNDcuMzE3OCAzNy4zMjUzWiIgZmlsbD0iI2UzZTNlMyIvPjwvc3ZnPg==") 0 0/contain; - content: ''; - display: inline-flex; - height: 32px; - width: 32px; - margin-right: 0.25rem; - color: var(--ifm-navbar-link-color); - } - - &:hover { - &:before { - background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0cHgiIHdpZHRoPSIyNHB4IiB2aWV3Qm94PSIwIDAgNzEgNTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjEwNDUgNC44OTc4QzU1LjU3OTIgMi44MjE0IDUwLjcyNjUgMS4yOTE2IDQ1LjY1MjcgMC40MTU0MkM0NS41NjAzIDAuMzk4NTEgNDUuNDY4IDAuNDQwNzY5IDQ1LjQyMDQgMC41MjUyODlDNDQuNzk2MyAxLjYzNTMgNDQuMTA1IDMuMDgzNCA0My42MjA5IDQuMjIxNkMzOC4xNjM3IDMuNDA0NiAzMi43MzQ1IDMuNDA0NiAyNy4zODkyIDQuMjIxNkMyNi45MDUgMy4wNTgxIDI2LjE4ODYgMS42MzUzIDI1LjU2MTcgMC41MjUyODlDMjUuNTE0MSAwLjQ0MzU4OSAyNS40MjE4IDAuNDAxMzMgMjUuMzI5NCAwLjQxNTQyQzIwLjI1ODQgMS4yODg4IDE1LjQwNTcgMi44MTg2IDEwLjg3NzYgNC44OTc4QzEwLjgzODQgNC45MTQ3IDEwLjgwNDggNC45NDI5IDEwLjc4MjUgNC45Nzk1QzEuNTc3OTUgMTguNzMwOSAtMC45NDM1NjEgMzIuMTQ0MyAwLjI5MzQwOCA0NS4zOTE0QzAuMjk5MDA1IDQ1LjQ1NjIgMC4zMzUzODYgNDUuNTE4MiAwLjM4NTc2MSA0NS41NTc2QzYuNDU4NjYgNTAuMDE3NCAxMi4zNDEzIDUyLjcyNDkgMTguMTE0NyA1NC41MTk1QzE4LjIwNzEgNTQuNTQ3NyAxOC4zMDUgNTQuNTEzOSAxOC4zNjM4IDU0LjQzNzhDMTkuNzI5NSA1Mi41NzI4IDIwLjk0NjkgNTAuNjA2MyAyMS45OTA3IDQ4LjUzODNDMjIuMDUyMyA0OC40MTcyIDIxLjk5MzUgNDguMjczNSAyMS44Njc2IDQ4LjIyNTZDMTkuOTM2NiA0Ny40OTMxIDE4LjA5NzkgNDYuNiAxNi4zMjkyIDQ1LjU4NThDMTYuMTg5MyA0NS41MDQxIDE2LjE3ODEgNDUuMzA0IDE2LjMwNjggNDUuMjA4MkMxNi42NzkgNDQuOTI5MyAxNy4wNTEzIDQ0LjYzOTEgMTcuNDA2NyA0NC4zNDYxQzE3LjQ3MSA0NC4yOTI2IDE3LjU2MDYgNDQuMjgxMyAxNy42MzYyIDQ0LjMxNTFDMjkuMjU1OCA0OS42MjAyIDQxLjgzNTQgNDkuNjIwMiA1My4zMTc5IDQ0LjMxNTFDNTMuMzkzNSA0NC4yNzg1IDUzLjQ4MzEgNDQuMjg5OCA1My41NTAyIDQ0LjM0MzNDNTMuOTA1NyA0NC42MzYzIDU0LjI3NzkgNDQuOTI5MyA1NC42NTI5IDQ1LjIwODJDNTQuNzgxNiA0NS4zMDQgNTQuNzczMiA0NS41MDQxIDU0LjYzMzMgNDUuNTg1OEM1Mi44NjQ2IDQ2LjYxOTcgNTEuMDI1OSA0Ny40OTMxIDQ5LjA5MjEgNDguMjIyOEM0OC45NjYyIDQ4LjI3MDcgNDguOTEwMiA0OC40MTcyIDQ4Ljk3MTggNDguNTM4M0M1MC4wMzggNTAuNjAzNCA1MS4yNTU0IDUyLjU2OTkgNTIuNTk1OSA1NC40MzVDNTIuNjUxOSA1NC41MTM5IDUyLjc1MjYgNTQuNTQ3NyA1Mi44NDUgNTQuNTE5NUM1OC42NDY0IDUyLjcyNDkgNjQuNTI5IDUwLjAxNzQgNzAuNjAxOSA0NS41NTc2QzcwLjY1NTEgNDUuNTE4MiA3MC42ODg3IDQ1LjQ1OSA3MC42OTQzIDQ1LjM5NDJDNzIuMTc0NyAzMC4wNzkxIDY4LjIxNDcgMTYuNzc1NyA2MC4xOTY4IDQuOTgyM0M2MC4xNzcyIDQuOTQyOSA2MC4xNDM3IDQuOTE0NyA2MC4xMDQ1IDQuODk3OFpNMjMuNzI1OSAzNy4zMjUzQzIwLjIyNzYgMzcuMzI1MyAxNy4zNDUxIDM0LjExMzYgMTcuMzQ1MSAzMC4xNjkzQzE3LjM0NTEgMjYuMjI1IDIwLjE3MTcgMjMuMDEzMyAyMy43MjU5IDIzLjAxMzNDMjcuMzA4IDIzLjAxMzMgMzAuMTYyNiAyNi4yNTMyIDMwLjEwNjYgMzAuMTY5M0MzMC4xMDY2IDM0LjExMzYgMjcuMjggMzcuMzI1MyAyMy43MjU5IDM3LjMyNTNaTTQ3LjMxNzggMzcuMzI1M0M0My44MTk2IDM3LjMyNTMgNDAuOTM3MSAzNC4xMTM2IDQwLjkzNzEgMzAuMTY5M0M0MC45MzcxIDI2LjIyNSA0My43NjM2IDIzLjAxMzMgNDcuMzE3OCAyMy4wMTMzQzUwLjkgMjMuMDEzMyA1My43NTQ1IDI2LjI1MzIgNTMuNjk4NiAzMC4xNjkzQzUzLjY5ODYgMzQuMTEzNiA1MC45IDM3LjMyNTMgNDcuMzE3OCAzNy4zMjUzWiIgZmlsbD0iIzM4YmRmOCIvPjwvc3ZnPg==") 0 0/contain; - } - } -} - -html[data-theme='light'] .discord-link { - align-items: center; - display: flex; - - &:before { - align-self: center; - background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0cHgiIHdpZHRoPSIyNHB4IiB2aWV3Qm94PSIwIDAgNzEgNTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjEwNDUgNC44OTc4QzU1LjU3OTIgMi44MjE0IDUwLjcyNjUgMS4yOTE2IDQ1LjY1MjcgMC40MTU0MkM0NS41NjAzIDAuMzk4NTEgNDUuNDY4IDAuNDQwNzY5IDQ1LjQyMDQgMC41MjUyODlDNDQuNzk2MyAxLjYzNTMgNDQuMTA1IDMuMDgzNCA0My42MjA5IDQuMjIxNkMzOC4xNjM3IDMuNDA0NiAzMi43MzQ1IDMuNDA0NiAyNy4zODkyIDQuMjIxNkMyNi45MDUgMy4wNTgxIDI2LjE4ODYgMS42MzUzIDI1LjU2MTcgMC41MjUyODlDMjUuNTE0MSAwLjQ0MzU4OSAyNS40MjE4IDAuNDAxMzMgMjUuMzI5NCAwLjQxNTQyQzIwLjI1ODQgMS4yODg4IDE1LjQwNTcgMi44MTg2IDEwLjg3NzYgNC44OTc4QzEwLjgzODQgNC45MTQ3IDEwLjgwNDggNC45NDI5IDEwLjc4MjUgNC45Nzk1QzEuNTc3OTUgMTguNzMwOSAtMC45NDM1NjEgMzIuMTQ0MyAwLjI5MzQwOCA0NS4zOTE0QzAuMjk5MDA1IDQ1LjQ1NjIgMC4zMzUzODYgNDUuNTE4MiAwLjM4NTc2MSA0NS41NTc2QzYuNDU4NjYgNTAuMDE3NCAxMi4zNDEzIDUyLjcyNDkgMTguMTE0NyA1NC41MTk1QzE4LjIwNzEgNTQuNTQ3NyAxOC4zMDUgNTQuNTEzOSAxOC4zNjM4IDU0LjQzNzhDMTkuNzI5NSA1Mi41NzI4IDIwLjk0NjkgNTAuNjA2MyAyMS45OTA3IDQ4LjUzODNDMjIuMDUyMyA0OC40MTcyIDIxLjk5MzUgNDguMjczNSAyMS44Njc2IDQ4LjIyNTZDMTkuOTM2NiA0Ny40OTMxIDE4LjA5NzkgNDYuNiAxNi4zMjkyIDQ1LjU4NThDMTYuMTg5MyA0NS41MDQxIDE2LjE3ODEgNDUuMzA0IDE2LjMwNjggNDUuMjA4MkMxNi42NzkgNDQuOTI5MyAxNy4wNTEzIDQ0LjYzOTEgMTcuNDA2NyA0NC4zNDYxQzE3LjQ3MSA0NC4yOTI2IDE3LjU2MDYgNDQuMjgxMyAxNy42MzYyIDQ0LjMxNTFDMjkuMjU1OCA0OS42MjAyIDQxLjgzNTQgNDkuNjIwMiA1My4zMTc5IDQ0LjMxNTFDNTMuMzkzNSA0NC4yNzg1IDUzLjQ4MzEgNDQuMjg5OCA1My41NTAyIDQ0LjM0MzNDNTMuOTA1NyA0NC42MzYzIDU0LjI3NzkgNDQuOTI5MyA1NC42NTI5IDQ1LjIwODJDNTQuNzgxNiA0NS4zMDQgNTQuNzczMiA0NS41MDQxIDU0LjYzMzMgNDUuNTg1OEM1Mi44NjQ2IDQ2LjYxOTcgNTEuMDI1OSA0Ny40OTMxIDQ5LjA5MjEgNDguMjIyOEM0OC45NjYyIDQ4LjI3MDcgNDguOTEwMiA0OC40MTcyIDQ4Ljk3MTggNDguNTM4M0M1MC4wMzggNTAuNjAzNCA1MS4yNTU0IDUyLjU2OTkgNTIuNTk1OSA1NC40MzVDNTIuNjUxOSA1NC41MTM5IDUyLjc1MjYgNTQuNTQ3NyA1Mi44NDUgNTQuNTE5NUM1OC42NDY0IDUyLjcyNDkgNjQuNTI5IDUwLjAxNzQgNzAuNjAxOSA0NS41NTc2QzcwLjY1NTEgNDUuNTE4MiA3MC42ODg3IDQ1LjQ1OSA3MC42OTQzIDQ1LjM5NDJDNzIuMTc0NyAzMC4wNzkxIDY4LjIxNDcgMTYuNzc1NyA2MC4xOTY4IDQuOTgyM0M2MC4xNzcyIDQuOTQyOSA2MC4xNDM3IDQuOTE0NyA2MC4xMDQ1IDQuODk3OFpNMjMuNzI1OSAzNy4zMjUzQzIwLjIyNzYgMzcuMzI1MyAxNy4zNDUxIDM0LjExMzYgMTcuMzQ1MSAzMC4xNjkzQzE3LjM0NTEgMjYuMjI1IDIwLjE3MTcgMjMuMDEzMyAyMy43MjU5IDIzLjAxMzNDMjcuMzA4IDIzLjAxMzMgMzAuMTYyNiAyNi4yNTMyIDMwLjEwNjYgMzAuMTY5M0MzMC4xMDY2IDM0LjExMzYgMjcuMjggMzcuMzI1MyAyMy43MjU5IDM3LjMyNTNaTTQ3LjMxNzggMzcuMzI1M0M0My44MTk2IDM3LjMyNTMgNDAuOTM3MSAzNC4xMTM2IDQwLjkzNzEgMzAuMTY5M0M0MC45MzcxIDI2LjIyNSA0My43NjM2IDIzLjAxMzMgNDcuMzE3OCAyMy4wMTMzQzUwLjkgMjMuMDEzMyA1My43NTQ1IDI2LjI1MzIgNTMuNjk4NiAzMC4xNjkzQzUzLjY5ODYgMzQuMTEzNiA1MC45IDM3LjMyNTMgNDcuMzE3OCAzNy4zMjUzWiIgZmlsbD0iIzFjMWUyMSIvPjwvc3ZnPg==") 0 0/contain; - content: ''; - display: inline-flex; - height: 32px; - width: 32px; - margin-right: 0.25rem; - color: var(--ifm-navbar-link-color); - } - - &:hover { - &:before { - background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0cHgiIHdpZHRoPSIyNHB4IiB2aWV3Qm94PSIwIDAgNzEgNTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjEwNDUgNC44OTc4QzU1LjU3OTIgMi44MjE0IDUwLjcyNjUgMS4yOTE2IDQ1LjY1MjcgMC40MTU0MkM0NS41NjAzIDAuMzk4NTEgNDUuNDY4IDAuNDQwNzY5IDQ1LjQyMDQgMC41MjUyODlDNDQuNzk2MyAxLjYzNTMgNDQuMTA1IDMuMDgzNCA0My42MjA5IDQuMjIxNkMzOC4xNjM3IDMuNDA0NiAzMi43MzQ1IDMuNDA0NiAyNy4zODkyIDQuMjIxNkMyNi45MDUgMy4wNTgxIDI2LjE4ODYgMS42MzUzIDI1LjU2MTcgMC41MjUyODlDMjUuNTE0MSAwLjQ0MzU4OSAyNS40MjE4IDAuNDAxMzMgMjUuMzI5NCAwLjQxNTQyQzIwLjI1ODQgMS4yODg4IDE1LjQwNTcgMi44MTg2IDEwLjg3NzYgNC44OTc4QzEwLjgzODQgNC45MTQ3IDEwLjgwNDggNC45NDI5IDEwLjc4MjUgNC45Nzk1QzEuNTc3OTUgMTguNzMwOSAtMC45NDM1NjEgMzIuMTQ0MyAwLjI5MzQwOCA0NS4zOTE0QzAuMjk5MDA1IDQ1LjQ1NjIgMC4zMzUzODYgNDUuNTE4MiAwLjM4NTc2MSA0NS41NTc2QzYuNDU4NjYgNTAuMDE3NCAxMi4zNDEzIDUyLjcyNDkgMTguMTE0NyA1NC41MTk1QzE4LjIwNzEgNTQuNTQ3NyAxOC4zMDUgNTQuNTEzOSAxOC4zNjM4IDU0LjQzNzhDMTkuNzI5NSA1Mi41NzI4IDIwLjk0NjkgNTAuNjA2MyAyMS45OTA3IDQ4LjUzODNDMjIuMDUyMyA0OC40MTcyIDIxLjk5MzUgNDguMjczNSAyMS44Njc2IDQ4LjIyNTZDMTkuOTM2NiA0Ny40OTMxIDE4LjA5NzkgNDYuNiAxNi4zMjkyIDQ1LjU4NThDMTYuMTg5MyA0NS41MDQxIDE2LjE3ODEgNDUuMzA0IDE2LjMwNjggNDUuMjA4MkMxNi42NzkgNDQuOTI5MyAxNy4wNTEzIDQ0LjYzOTEgMTcuNDA2NyA0NC4zNDYxQzE3LjQ3MSA0NC4yOTI2IDE3LjU2MDYgNDQuMjgxMyAxNy42MzYyIDQ0LjMxNTFDMjkuMjU1OCA0OS42MjAyIDQxLjgzNTQgNDkuNjIwMiA1My4zMTc5IDQ0LjMxNTFDNTMuMzkzNSA0NC4yNzg1IDUzLjQ4MzEgNDQuMjg5OCA1My41NTAyIDQ0LjM0MzNDNTMuOTA1NyA0NC42MzYzIDU0LjI3NzkgNDQuOTI5MyA1NC42NTI5IDQ1LjIwODJDNTQuNzgxNiA0NS4zMDQgNTQuNzczMiA0NS41MDQxIDU0LjYzMzMgNDUuNTg1OEM1Mi44NjQ2IDQ2LjYxOTcgNTEuMDI1OSA0Ny40OTMxIDQ5LjA5MjEgNDguMjIyOEM0OC45NjYyIDQ4LjI3MDcgNDguOTEwMiA0OC40MTcyIDQ4Ljk3MTggNDguNTM4M0M1MC4wMzggNTAuNjAzNCA1MS4yNTU0IDUyLjU2OTkgNTIuNTk1OSA1NC40MzVDNTIuNjUxOSA1NC41MTM5IDUyLjc1MjYgNTQuNTQ3NyA1Mi44NDUgNTQuNTE5NUM1OC42NDY0IDUyLjcyNDkgNjQuNTI5IDUwLjAxNzQgNzAuNjAxOSA0NS41NTc2QzcwLjY1NTEgNDUuNTE4MiA3MC42ODg3IDQ1LjQ1OSA3MC42OTQzIDQ1LjM5NDJDNzIuMTc0NyAzMC4wNzkxIDY4LjIxNDcgMTYuNzc1NyA2MC4xOTY4IDQuOTgyM0M2MC4xNzcyIDQuOTQyOSA2MC4xNDM3IDQuOTE0NyA2MC4xMDQ1IDQuODk3OFpNMjMuNzI1OSAzNy4zMjUzQzIwLjIyNzYgMzcuMzI1MyAxNy4zNDUxIDM0LjExMzYgMTcuMzQ1MSAzMC4xNjkzQzE3LjM0NTEgMjYuMjI1IDIwLjE3MTcgMjMuMDEzMyAyMy43MjU5IDIzLjAxMzNDMjcuMzA4IDIzLjAxMzMgMzAuMTYyNiAyNi4yNTMyIDMwLjEwNjYgMzAuMTY5M0MzMC4xMDY2IDM0LjExMzYgMjcuMjggMzcuMzI1MyAyMy43MjU5IDM3LjMyNTNaTTQ3LjMxNzggMzcuMzI1M0M0My44MTk2IDM3LjMyNTMgNDAuOTM3MSAzNC4xMTM2IDQwLjkzNzEgMzAuMTY5M0M0MC45MzcxIDI2LjIyNSA0My43NjM2IDIzLjAxMzMgNDcuMzE3OCAyMy4wMTMzQzUwLjkgMjMuMDEzMyA1My43NTQ1IDI2LjI1MzIgNTMuNjk4NiAzMC4xNjkzQzUzLjY5ODYgMzQuMTEzNiA1MC45IDM3LjMyNTMgNDcuMzE3OCAzNy4zMjUzWiIgZmlsbD0iIzM4YmRmOCIvPjwvc3ZnPg==") 0 0/contain; - } - } -} - -// Has to be a better way to style the announcment bar.... -html[data-theme='dark'] .content_node_modules--pnpm-\@docusaurus\+theme-classic\@3-2-1_\@types\+react\@18-2-74_react-dom\@18-2-0_react\@18-2-0_typescript\@5-2-2-node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-Content-styles-module { - font-size: larger; - color: white; - padding: 1rem; -} - -html[data-theme='light'] .content_node_modules--pnpm-\@docusaurus\+theme-classic\@3-2-1_\@types\+react\@18-2-74_react-dom\@18-2-0_react\@18-2-0_typescript\@5-2-2-node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-Content-styles-module { - font-size: larger; - color: white; - padding: 1rem; -} - -// The JetBrains logo has black lettering, so give it a light backing in dark mode -html[data-theme='dark'] img[src$='/jetbrains.svg'] { - background: white; - padding: 0.5rem 0.75rem; - border-radius: 0.5rem; -} diff --git a/src/css/tailwind.css b/src/css/tailwind.css deleted file mode 100644 index b5c61c95..00000000 --- a/src/css/tailwind.css +++ /dev/null @@ -1,3 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/src/pages/index.module.css b/src/pages/index.module.css deleted file mode 100644 index 9f71a5da..00000000 --- a/src/pages/index.module.css +++ /dev/null @@ -1,23 +0,0 @@ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} - -@media screen and (max-width: 996px) { - .heroBanner { - padding: 2rem; - } -} - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index b632ead6..00000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React, {JSX} from 'react'; -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import HomepageWhy from '@site/src/components/HomepageFeatures/why'; -import HomepageWhat from '@site/src/components/HomepageFeatures/what'; -import HomepageLook from '@site/src/components/HomepageFeatures/look'; -import HomepageSponsors from '@site/src/components/HomepageFeatures/sponsors' -import Heading from '@theme/Heading'; -import { Icon } from '@iconify/react/dist/iconify.js'; - -import styles from './index.module.css'; - -function HomepageHeader() { - const {siteConfig} = useDocusaurusContext(); - return ( -
    -
    - - {siteConfig.title} - -

    {siteConfig.tagline}

    -
    - Install - Demo -
    -
    -
    - ); -} - -export default function Home(): JSX.Element { - const {siteConfig} = useDocusaurusContext(); - return ( - - -
    - - - - -
    -
    - ); -} diff --git a/src/pages/support.mdx b/src/pages/support.mdx deleted file mode 100644 index 56161e97..00000000 --- a/src/pages/support.mdx +++ /dev/null @@ -1,47 +0,0 @@ -import Link from "@docusaurus/Link"; - -# Support Pelican - -Supporting us will let us pay for the resources and time to keep Pelican amazing! - -How will your support be used? - -* Contributors: 75% -* Bug Bounties: 15% -* Moderators: 10% - -
    - -## Monthly Support & Benefits: - -| | Individual | Team | Company | -|------------------------|--------------|--------------|------------------| -| Discord Role | Donor | Donor | Sponsor | -| Support Priority | Medium | High | Highest | -| # of Discord Members | 1 | 3 | 6 | -| Discord Channel | Lounge | Lounge | Sponsor Lounge | -| Early Beta | ✅ | ✅ | ✅ | -| Private Raffles | ✅ | ✅ | ✅ | -| Advertise on Discord | ❌ | ✅ | ✅ | -| Logo on Websites | ❌ | ❌ | ✅ | -| Commercial License | ❌ | ❌ | ✅ | -| Monthly 1:1 Calls | ❌ | ❌ | 1 hour | -| Monthly Cost | $19 | $99 | $499 | - - -If you'd like to support the project, [visit us on the Pelican Hub](https://hub.pelican.dev/donors), to get started! - -
    - -## One Time Support - -We really appreciate you, please follow this link to give a one time amount: - -Donate One Time - -
    - -

    Thank you again for choosing to support Pelican!

    diff --git a/src/plugins/tailwind-config.cjs b/src/plugins/tailwind-config.cjs deleted file mode 100644 index f6cbde9f..00000000 --- a/src/plugins/tailwind-config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -function tailwindPlugin(context, options) { - return { - name: 'tailwind-plugin', - configurePostCss(postcssOptions) { - postcssOptions.plugins = [ - require('postcss-import'), - require('tailwindcss'), - require('autoprefixer'), - ]; - return postcssOptions; - }, - }; -} - -module.exports = tailwindPlugin; \ No newline at end of file diff --git a/src/theme/MDXComponents.js b/src/theme/MDXComponents.js deleted file mode 100644 index d5b41c17..00000000 --- a/src/theme/MDXComponents.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import MDXComponents from '@theme-original/MDXComponents'; -import { Icon } from '@iconify/react'; // Import the entire Iconify library. -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; // Import the FontAwesomeIcon component. -import { library } from '@fortawesome/fontawesome-svg-core'; // Import the library component. -import { fab } from '@fortawesome/free-brands-svg-icons'; // Import all brands icons. -import { fas } from '@fortawesome/free-solid-svg-icons'; // Import all solid icons. - -export default { - // Re-use the default mapping - ...MDXComponents, - IIcon: Icon, // Make the iconify Icon component available in MDX as . - FAIcon: FontAwesomeIcon, // Make the FontAwesomeIcon component available in MDX as . -}; \ No newline at end of file diff --git a/static/.nojekyll b/static/.nojekyll deleted file mode 100644 index e69de29b..00000000 diff --git a/static/js/snowflake.min.js b/static/js/snowflake.min.js deleted file mode 100644 index 4e2d7b32..00000000 --- a/static/js/snowflake.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/**! - Source: https://github.com/nextapps-de/snowflake - License: Apache License 2.0 - */ -!function(){"use strict";const t=document.createElement("canvas"),e=t.getContext("2d"),n=window.devicePixelRatio||1,o=new Image,i=window["dRg4!"]="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAGFBMVEXk7PTk7PTk7PTk7PTk7PTk7PQAAADk7PQLtLMUAAAAB3RSTlO18FHbI4YAkU+M0QAAAVVJREFUeF7F1T1PwzAQgGGGouwg5B8QEWaioqyVSsNKoXL2KPYcE6L371PLcp1GjU7A0IztI53Pvo8bK3y/BnkpgGoQAFwXmPvCg/ZZL4A3hg94rPheBOFbBCaCiyHqo9gpAHc44m4Ots6L9h1uC/+/Ws/AE3qapuFrBpo5GCdgX14G+UMAHaxsRjEFLb3dQB0BB0U9BR1uRwS2Acdw/hYVCkYbQJcB4zlogL6OWbQV9OchMhiKlKYBxinYA9omsAW4SyAHWCfQKgagjGADVLgUogGdA6sAdh4bGCMw0PuwOO2BCQlmoBPQ8eAQUzIJdKo8JQunBHN3uodXa8NZAfCRbPg5glnN6eW+2BBy+RtIIQ4JSIcU0xQvSrxq6bHE5xYLRi45uWjlspcbR249uXnl9pcHiDyC0hD7hJc0xMQxKA9SeRTLw1xeB9ffWfJilVfz/7f/D7vzJWHzmXRTAAAAAElFTkSuQmCC";let a,d,r,l=0,c=0,h=(w=1,g=5,Math.floor(Math.random()*(g-w+1)+w)),A=2,s=.5,u=1.5,f=!0;var w,g;const m=[],p=[],y=[{r:1.5,o:.3},{r:1.7,o:.4},{r:1.9,o:.6},{r:2.1,o:.8},{r:2.3,o:1},{r:2.5,o:1},{r:2.7,o:.8},{r:2.9,o:.6},{r:3.1,o:.4},{r:3.5,o:.3}];function x(t){let e=Math.random()*y.length|0,i=y[e];this.buffer=p[e]||function(t){const e=y[t],i=p[t]=document.createElement("canvas"),a=i.getContext("2d"),d=Math.ceil(e.r*n*u*A),r=e.r<2.3?.9*(2.3-e.r)*n*u:e.r>2.3?1.1*(e.r-2.3)*n*u:0;return i.height=i.width=d,a.globalAlpha=e.o,a.filter=a.webkitFilter="blur("+r+"px)",a.drawImage(o,0,0,o.width,o.height,0,0,d,d),a.globalAlpha=e.o/1.5,a.fillStyle="#e4ecf4",a.beginPath(),a.arc(d/2,d/2,d/2/2,0,2*Math.PI,!1),a.closePath(),a.fill(),i}(e),this.r=i.r*n*u,this.w=Math.ceil(i.r*n*u*A),this.x=P(a),this.y=t||-this.w,this.o=i.o,this.vy=i.r*i.r*n*u/A/2,this.vx=(.5-P())/A*n*u,this.deg=(1-P(2))*A/n/u/180*Math.PI}function b(t){if(l=window.requestAnimationFrame(b),!o.loaded)return;e.clearRect(0,0,a,d);let i=c?(t-c)/(1e3/60):1;i>100&&(i=1),c=t;for(let t,o=0,l=r*s|0;o=d||t.x>=a||t.x<=-t.w?m.length>l?m.splice(o--,1):m[o]=new x(0):e.drawImage(t.buffer,0,0,t.w,t.w,t.x,t.y,t.w,t.w)}function B(){let e=t.parentElement;!e||e===document.body&&(e=document.documentElement),e?(a=e.clientWidth,d=e.clientHeight):(a=window.innerWidth,d=window.innerHeight),a=a/3*n*u,d=d/3*n*u,r=a/(n*u)*(d/(n*u))/1500|0,t.width=a,t.height=d}function P(t){return Math.random()*(t||1)}function M(e){const n=t.style;for(const t in e)n.setProperty(t,e[t])}function C(){const t=window.SnowflakeConfig;if(t)for(let e in t)"start"===e?f=!!t[e]:E[e](t[e]);o.loaded||o.src||(o.src=i),f&&Q()}function Q(){B(),b(0),f=!0,t.setAttribute("id","snowflake"),t.parentElement||document.body.appendChild(t)}window.addEventListener("resize",B,!1);const E=window.Snowflake={style:M,speed:function(t){h=t},size:function(t){A=3*t,p.length=0},quality:function(t){u=1.5*Math.min(Math.max(t,.1),2),p.length=0,m.length=0,B()},density:function(t){s=t},opacity:function(t){M({opacity:t})},index:function(t){M({"z-index":t})},image:function(t){o.loaded=!t,t&&(o.src=t),p.length=0},mount:function(e){e.appendChild(t),M({position:e===document.body?"fixed":"absolute"}),f&&B()},start:function(){f?l||b(0):C()||Q(),M({display:""})},stop:function(){cancelAnimationFrame(l),M({display:"none"}),l=c=0}};M({position:"fixed",top:"0",left:"0",width:"100%",height:"100%","z-index":"999999","pointer-events":"none"}),o.loaded=!1,o.onload=function(){o.loaded=!0},o.onerror=function(){o.onerror=null,o.src=i},"complete"===document.readyState?C():window.addEventListener("load",C,!1)}(); \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index f19630bf..00000000 --- a/tailwind.config.js +++ /dev/null @@ -1,29 +0,0 @@ -const { fontFamily } = require("tailwindcss/defaultTheme"); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - corePlugins: { - preflight: false, - container: false, - }, - darkMode: ["class", '[data-theme="dark"]'], - content: ["./src/**/*.{jsx,tsx,html,mdx}"], - theme: { - extend: { - fontFamily: { - sans: ['"Inter"', ...fontFamily.sans], - jakarta: ['"Plus Jakarta Sans"', ...fontFamily.sans], - mono: ['"Fira Code"', ...fontFamily.mono], - }, - borderRadius: { - sm: "4px", - }, - screens: { - sm: "0px", - lg: "997px", - }, - colors: {}, - }, - }, - plugins: [], -}; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 7dc3bde1..902bc881 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,25 @@ { - // This file is not used in compilation. It is here just for a nice editor experience. - "extends": "@docusaurus/tsconfig", "compilerOptions": { - "jsx": "react", - "baseUrl": "." - } + "target": "ESNext", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "paths": { + "@/*": ["./*"], + "fumadocs-mdx:collections/*": ["./.source/*"] + }, + "plugins": [{ "name": "next" }] + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"], + "exclude": ["node_modules", "_old"] } From d24c5e5a773fe972b2def555082f7f4bfd33f409 Mon Sep 17 00:00:00 2001 From: "Alexandru Vlad (Scai)" <59282365+alexevladgabriel@users.noreply.github.com> Date: Tue, 3 Nov 2026 00:09:23 +0200 Subject: [PATCH 2/9] feat: SEO, AI-readable docs, OG images and the /eggs browser - SEO: per-page titles, descriptions, canonicals and social cards (lib/og.ts), sitemap.xml, robots.txt, JSON-LD (Organization, WebSite, SoftwareApplication, TechArticle, BreadcrumbList, FAQPage), descriptions for all docs pages - AI: /llms.txt, /llms-full.txt and a Markdown copy of every docs page (/docs/.md via a Netlify rewrite) - OG images: 1200x630 PNGs for every docs page and site page, B v3 style - /eggs: list with a row per game and an in-site details dialog per egg (variables, images, startup, ports, install script), lazy per-egg JSON; Hub kept for Install to Panel; duplicate eggs dropped; search, sort, filters - Fix the docs welcome page's Contributors link --- app/(landing)/[slug]/page.tsx | 31 +- app/(landing)/eggs/page.tsx | 22 +- app/(landing)/home.css | 865 ++++++++++++++++-- app/(landing)/page.tsx | 22 +- app/(landing)/support/page.tsx | 7 +- app/docs/[[...slug]]/page.tsx | 37 +- app/layout.tsx | 11 + app/llms-full.txt/route.ts | 8 + app/llms.txt/route.ts | 8 + app/md/[...slug]/route.ts | 20 + app/not-found.tsx | 10 + app/og/[image]/route.tsx | 34 + .../_fonts/BricolageGrotesque-ExtraBold.ttf | Bin 0 -> 82332 bytes app/og/_fonts/InstrumentSans-Bold.ttf | Bin 0 -> 48552 bytes app/og/_fonts/InstrumentSans-Regular.ttf | Bin 0 -> 48616 bytes app/og/_fonts/InstrumentSans-SemiBold.ttf | Bin 0 -> 48732 bytes app/og/_fonts/OFL-BricolageGrotesque.txt | 93 ++ app/og/_fonts/OFL-InstrumentSans.txt | 93 ++ app/og/docs/[...slug]/route.tsx | 39 + app/robots.ts | 13 + app/sitemap.ts | 30 + components/home/egg-detail.tsx | 348 +++++++ components/home/egg-finder.tsx | 12 +- components/home/egg-index.tsx | 398 +++++--- components/home/sections.tsx | 4 +- content/docs/comparison.mdx | 1 + content/docs/contributors.mdx | 1 + content/docs/eggs/creating-a-custom-egg.mdx | 1 + content/docs/eggs/creating-a-custom-yolk.mdx | 3 +- content/docs/guides/change-panel-domain.mdx | 1 + content/docs/guides/database-hosts.mdx | 1 + content/docs/guides/disk-quotas/about.mdx | 1 + content/docs/guides/disk-quotas/ext4-xfs.mdx | 1 + content/docs/guides/docker.mdx | 1 + .../guides/migrating-from-pterodactyl.mdx | 1 + content/docs/guides/mounts.mdx | 1 + content/docs/guides/php-upgrade.mdx | 1 + content/docs/guides/ssl.mdx | 1 + content/docs/guides/translating.mdx | 1 + content/docs/guides/troubleshooting.mdx | 1 + content/docs/guides/uninstalling.mdx | 1 + content/docs/index.mdx | 3 +- content/docs/panel/advanced/api-docs.mdx | 1 + content/docs/panel/advanced/artisan.mdx | 1 + content/docs/panel/advanced/docker.mdx | 1 + content/docs/panel/advanced/mysql.mdx | 1 + content/docs/panel/advanced/plugins.mdx | 1 + content/docs/panel/advanced/redis.mdx | 1 + content/docs/panel/getting-started.mdx | 1 + content/docs/panel/optional-config.mdx | 1 + content/docs/panel/panel-setup.mdx | 1 + content/docs/panel/update.mdx | 1 + content/docs/versioning.mdx | 1 + content/docs/wings/install.mdx | 1 + content/docs/wings/optional-config.mdx | 1 + content/docs/wings/update.mdx | 1 + content/pages/faq.mdx | 1 + data/eggs.json | 743 ++++++++++----- lib/egg-helpers.ts | 41 + lib/llms.ts | 322 +++++++ lib/og-image.tsx | 436 +++++++++ lib/og.ts | 240 +++++ netlify.toml | 24 + public/data/eggs/5e-tools/5e-tools.json | 1 + .../eggs/7-days-to-die/7-days-to-die.json | 1 + .../eggs/abiotic-factor/abiotic-factor.json | 1 + ...ican-truck-simulator-dedicated-server.json | 1 + .../among-us/among-us-impostor-server.json | 1 + .../eggs/among-us/bettercrewlink-server.json | 1 + .../data/eggs/among-us/crewlink-server.json | 1 + public/data/eggs/aoede/aoede.json | 1 + public/data/eggs/archean/archean.json | 1 + .../eggs/archisteamfarm/archisteamfarm.json | 1 + .../ark-survival-ascended.json | 1 + .../ark-survival-evolved.json | 1 + public/data/eggs/arma-3/arma-3.json | 1 + .../eggs/arma-reforger/arma-reforger.json | 1 + public/data/eggs/assaultcube/assaultcube.json | 1 + .../assetto-corsa-freeroam-ai.json | 1 + .../eggs/assetto-corsa/assetto-corsa.json | 1 + .../data/eggs/astro-colony/astro-colony.json | 1 + .../astroneer/astroneer-dedicated-server.json | 1 + public/data/eggs/atlbot/atlbot.json | 1 + public/data/eggs/avorion/avorion.json | 1 + .../eggs/banana-shooter/banana-shooter.json | 1 + public/data/eggs/barotrauma/barotrauma.json | 1 + public/data/eggs/bastion/bastion.json | 1 + .../battalion-legacy/battalion-legacy.json | 1 + .../venice-unleashed.json | 1 + .../eggs/beamng-drive/beammp-servers.json | 1 + .../data/eggs/beamng-drive/kissmp-server.json | 1 + .../eggs/big-brother-bot/big-brother-bot.json | 1 + public/data/eggs/black-mesa/black-mesa.json | 1 + public/data/eggs/brickadia/brickadia.json | 1 + public/data/eggs/bun/bun.json | 1 + .../citadel-forged-with-fire.json | 1 + .../data/eggs/classicube/classicube-mgc.json | 1 + public/data/eggs/clone-hero/clone-hero.json | 1 + public/data/eggs/code-server/code-server.json | 1 + .../eggs/colony-survival/colony-survival.json | 1 + .../conan-exiles/conan-exiles-enhanced.json | 1 + .../data/eggs/conan-exiles/conan-exiles.json | 1 + public/data/eggs/core-keeper/core-keeper.json | 1 + public/data/eggs/corpbot/corpbot.json | 1 + .../counter-strike-2/counter-strike-2.json | 1 + .../counter-strike-source.json | 1 + public/data/eggs/craftopia/craftopia.json | 1 + public/data/eggs/cryofall/cryofall.json | 1 + public/data/eggs/cs2d/cs2d.json | 1 + .../cube-2-sauerbraten.json | 1 + .../eggs/cubic-odyssey/cubic-odyssey.json | 1 + .../custom-hlds-engine-game.json | 1 + .../custom-rehlds-engine-game.json | 1 + .../custom-source-engine-game.json | 1 + .../daggerfall-online/daggerfall-online.json | 1 + .../data/eggs/dart-generic/dart-generic.json | 1 + public/data/eggs/dayz/dayz.json | 1 + public/data/eggs/ddnet/ddnet.json | 1 + public/data/eggs/ddnet/ddracenetwork.json | 1 + public/data/eggs/dead-matter/dead-matter.json | 1 + .../data/eggs/deno-generic/deno-generic.json | 1 + .../dont-starve/don-t-starve-together.json | 1 + public/data/eggs/doom-doom-ii/zandronum.json | 1 + public/data/eggs/dynamica/dynamica.json | 1 + public/data/eggs/eco/eco.json | 1 + .../eggs/elasticsearch/elasticsearch.json | 1 + public/data/eggs/elixir/elixir.json | 1 + .../empyrion-galactic-survival.json | 1 + public/data/eggs/enshrouded/enshrouded.json | 1 + .../single-player-tarkov.json | 1 + .../stay-in-tarkov.json | 1 + ...ro-truck-simulator-2-dedicated-server.json | 1 + public/data/eggs/factorio/clusterio.json | 1 + public/data/eggs/factorio/factorio-arm64.json | 1 + .../eggs/factorio/factorio-modupdate.json | 1 + public/data/eggs/factorio/factorio.json | 1 + public/data/eggs/fistful-of-frags/fof.json | 1 + .../data/eggs/folding-home/folding-home.json | 1 + public/data/eggs/forgejo/forgejo.json | 1 + .../foundry-virtual-tabletop/foundry-vtt.json | 1 + public/data/eggs/foundry/foundry.json | 1 + public/data/eggs/fragbot/fragbot.json | 1 + .../data/eggs/frozen-flame/frozen-flame.json | 1 + public/data/eggs/ftl-tachyon/tachyon.json | 1 + .../game-server-watcher.json | 1 + public/data/eggs/garry-s-mod/garrys-mod.json | 1 + public/data/eggs/generic-c/generic-c.json | 1 + public/data/eggs/gitea/gitea.json | 1 + .../eggs/golang-generic/golang-generic.json | 1 + public/data/eggs/grafana/grafana.json | 1 + .../multi-theft-auto.json | 1 + .../grand-theft-auto-san-andreas/openmp.json | 1 + .../grand-theft-auto-san-andreas/sa-mp.json | 1 + .../data/eggs/grand-theft-auto-v/alt-v.json | 1 + .../data/eggs/grand-theft-auto-v/fivem.json | 1 + .../data/eggs/grand-theft-auto-v/rage-mp.json | 1 + .../eggs/grand-theft-auto-v/ragecoop.json | 1 + .../eggs/ground-branch/ground-branch.json | 1 + public/data/eggs/gryt-server/gryt-server.json | 1 + .../grand-theft-auto-connected.json | 1 + .../data/eggs/haste-server/haste-server.json | 1 + public/data/eggs/hogwarts-legacy/hogwarp.json | 1 + .../holdfast-nations-at-war/holdfast-naw.json | 1 + public/data/eggs/humanitz/humanitz.json | 1 + public/data/eggs/hurtworld/hurtworld.json | 1 + public/data/eggs/hytale/hytale.json | 1 + public/data/eggs/icarus/icarus.json | 1 + .../insurgency-sandstorm.json | 1 + public/data/eggs/insurgency/insurgency.json | 1 + .../data/eggs/iosoccer/iosoccer-server.json | 1 + .../data/eggs/java-generic/java-generic.json | 1 + public/data/eggs/jmusicbot/jmusicbot.json | 1 + .../eggs/jts3servermod/jts3servermod.json | 1 + .../eggs/kerbal-space-program/ksp-dmp.json | 1 + .../eggs/killing-floor-2/killing-floor-2.json | 1 + .../data/eggs/languagetool/languagetool.json | 1 + public/data/eggs/lavalink/lavalink.json | 1 + .../eggs/leaguesandbox/leaguesandbox.json | 1 + .../eggs/left-4-dead-2/left-4-dead-2.json | 1 + public/data/eggs/left-4-dead/left-4-dead.json | 1 + public/data/eggs/loki/loki.json | 1 + public/data/eggs/longvinter/longvinter.json | 1 + .../lac-online-public-server.json | 1 + public/data/eggs/luanti/minetest.json | 1 + .../eggs/luvit-generic/luvit-generic.json | 1 + .../data/eggs/mariadb-10-3/mariadb-10-3.json | 1 + .../data/eggs/mariadb-11-4/mariadb-11-4.json | 1 + .../data/eggs/mariadb-11-5/mariadb-11-5.json | 1 + .../medal-of-honor-allied-assault/mohaa.json | 1 + public/data/eggs/meilisearch/meilisearch.json | 1 + .../midnight-ghost-hunt.json | 1 + .../military-conflict-vietnam.json | 1 + public/data/eggs/mindustry/mindustry.json | 1 + .../data/eggs/minecraft-bedrock/gomint.json | 1 + .../liteloader-bedrock-dedicated-server.json | 1 + .../data/eggs/minecraft-bedrock/nukkit.json | 1 + .../eggs/minecraft-bedrock/pocketminemp.json | 1 + .../eggs/minecraft-bedrock/powernukkitx.json | 1 + .../vanilla-bedrock-arm64.json | 1 + .../minecraft-bedrock/vanilla-bedrock.json | 1 + .../eggs/minecraft-bedrock/waterdog-pe.json | 1 + public/data/eggs/minecraft/always-auth.json | 1 + .../eggs/minecraft/attack-of-the-b-team.json | 1 + public/data/eggs/minecraft/blightfall.json | 1 + public/data/eggs/minecraft/bungeecord.json | 1 + public/data/eggs/minecraft/cuberite.json | 1 + .../eggs/minecraft/curseforge-generic.json | 1 + public/data/eggs/minecraft/fabric.json | 1 + public/data/eggs/minecraft/feather.json | 1 + .../data/eggs/minecraft/feed-the-beast.json | 1 + public/data/eggs/minecraft/folia.json | 1 + .../data/eggs/minecraft/forge-minecraft.json | 1 + .../minecraft/ftb-modpacks-ch-server.json | 1 + .../data/eggs/minecraft/ftb-revelation.json | 1 + public/data/eggs/minecraft/ftb-server.json | 1 + public/data/eggs/minecraft/glowstone.json | 1 + public/data/eggs/minecraft/hexxit.json | 1 + public/data/eggs/minecraft/ketting.json | 1 + public/data/eggs/minecraft/krypton.json | 1 + public/data/eggs/minecraft/limbo.json | 1 + public/data/eggs/minecraft/magma.json | 1 + .../data/eggs/minecraft/modrinth-generic.json | 1 + public/data/eggs/minecraft/mohistmc.json | 1 + public/data/eggs/minecraft/nanolimbo.json | 1 + public/data/eggs/minecraft/neoforge.json | 1 + public/data/eggs/minecraft/paper.json | 1 + .../minecraft/purpur-geyser-floodgate.json | 1 + public/data/eggs/minecraft/purpur.json | 1 + public/data/eggs/minecraft/quilt.json | 1 + public/data/eggs/minecraft/spigot.json | 1 + public/data/eggs/minecraft/sponge.json | 1 + public/data/eggs/minecraft/spongeforge.json | 1 + public/data/eggs/minecraft/tekkit-2.json | 1 + .../data/eggs/minecraft/tekkit-classic.json | 1 + .../data/eggs/minecraft/tekkit-legends.json | 1 + public/data/eggs/minecraft/tekkit-smp.json | 1 + public/data/eggs/minecraft/tekkit.json | 1 + .../data/eggs/minecraft/the-1-12-2-pack.json | 1 + .../data/eggs/minecraft/the-1-7-10-pack.json | 1 + public/data/eggs/minecraft/travertine.json | 1 + .../eggs/minecraft/vanilla-minecraft.json | 1 + public/data/eggs/minecraft/vanillacord.json | 1 + public/data/eggs/minecraft/velocity.json | 1 + public/data/eggs/minecraft/viaaas.json | 1 + public/data/eggs/minecraft/viaproxy.json | 1 + public/data/eggs/minecraft/waterdog.json | 1 + public/data/eggs/minecraft/waterfall.json | 1 + public/data/eggs/minio-s3/minio-s3.json | 1 + public/data/eggs/modiverse/modiverse.json | 1 + public/data/eggs/mongodb-6/mongodb-6.json | 1 + public/data/eggs/mongodb-7/mongodb-7.json | 1 + public/data/eggs/mongodb/mongodb.json | 1 + public/data/eggs/mordhau/mordhau-wine.json | 1 + public/data/eggs/mordhau/mordhau.json | 1 + .../mount-and-blade-ii-bannerlord.json | 1 + .../eggs/mumble-server/mumble-server.json | 1 + public/data/eggs/muse/muse.json | 1 + .../eggs/myth-of-empires/myth-of-empires.json | 1 + .../nazi-zombies-portable.json | 1 + public/data/eggs/necesse/necesse.json | 1 + public/data/eggs/neos-vr/neosvr.json | 1 + .../neverwinter-nights-enhanced-edition.json | 1 + .../night-of-the-dead/night-of-the-dead.json | 1 + public/data/eggs/nightingale/nightingale.json | 1 + .../data/eggs/no-love-lost/no-love-lost.json | 1 + .../data/eggs/no-more-room-in-hell/nmrih.json | 1 + .../eggs/no-one-survived/no-one-survived.json | 1 + .../eggs/node-js-generic/node-js-generic.json | 1 + public/data/eggs/nodemon/nodemon.json | 1 + .../novalife-amboise/nova-life-amboise.json | 1 + .../onehouronelife/one-hour-one-life.json | 1 + public/data/eggs/onset/onset.json | 1 + .../eggs/open-fortress/open-fortress.json | 1 + public/data/eggs/openarena/openarena.json | 1 + public/data/eggs/openra/openra-dune2000.json | 1 + .../eggs/openra/openra-tiberian-dawn.json | 1 + public/data/eggs/openra/openra.json | 1 + public/data/eggs/openrct2/openrct2.json | 1 + public/data/eggs/openttd/openttd.json | 1 + .../operation-harsh-doorstop.json | 1 + .../eggs/owncast-online/owncast-online.json | 1 + .../data/eggs/palworld/palworld-proton.json | 1 + public/data/eggs/palworld/palworld.json | 1 + public/data/eggs/parkertron/parkertron.json | 1 + .../eggs/path-of-titans/path-of-titans.json | 1 + public/data/eggs/pavlov/pavlov-vr.json | 1 + public/data/eggs/phantombot/phantombot.json | 1 + public/data/eggs/pixark/pixark.json | 1 + public/data/eggs/pixel-bot/pixel-bot.json | 1 + .../eggs/plains-of-pain/plains-of-pain.json | 1 + .../eggs/portal-knights/portal-knights.json | 1 + public/data/eggs/postgres-14/postgres-14.json | 1 + public/data/eggs/postgres-16/postgres-16.json | 1 + .../eggs/project-zomboid/project-zomboid.json | 1 + public/data/eggs/prometheus/prometheus.json | 1 + public/data/eggs/puck/puck.json | 1 + .../eggs/python-generic/python-generic.json | 1 + public/data/eggs/qanga/qanga.json | 1 + public/data/eggs/quake-live/quake-live.json | 1 + public/data/eggs/rabbitmq/rabbitmq.json | 1 + public/data/eggs/rathole/rathole.json | 1 + .../data/eggs/red-dead-redemption-2/redm.json | 1 + public/data/eggs/red/red.json | 1 + public/data/eggs/redis-5/redis-5.json | 1 + public/data/eggs/redis-6/redis-6.json | 1 + public/data/eggs/redis-7/redis-7.json | 1 + public/data/eggs/ree6/ree6.json | 1 + public/data/eggs/reposilite/reposilite.json | 1 + public/data/eggs/resonite/resonite.json | 1 + public/data/eggs/rethinkdb/rethinkdb.json | 1 + .../eggs/rimworld/rimworld-open-world.json | 1 + .../data/eggs/rimworld/rimworld-together.json | 1 + .../rising-world-java-legacy.json | 1 + .../eggs/rising-world/rising-world-unity.json | 1 + .../eggs/risk-of-rain-2/risk-of-rain-2.json | 1 + .../runescape-dragonwilds.json | 1 + .../data/eggs/rust-generic/rust-generic.json | 1 + public/data/eggs/rust/rust-autowipe.json | 1 + public/data/eggs/rust/rust-staging.json | 1 + public/data/eggs/rust/rust.json | 1 + .../data/eggs/satisfactory/satisfactory.json | 1 + .../scp-secret-laboratory/scp-sl-exiled.json | 1 + .../eggs/scp-secret-laboratory/scp-sl.json | 1 + .../sftp-storage-share.json | 1 + public/data/eggs/sinusbot/sinusbot.json | 1 + .../smalland-survive-the-wilds.json | 1 + public/data/eggs/sogebot/sogebot.json | 1 + .../eggs/solace-crafting/solace-crafting.json | 1 + public/data/eggs/soldat/soldat.json | 1 + .../sons-of-the-forest.json | 1 + public/data/eggs/soulmask/soulmask.json | 1 + public/data/eggs/source-co-op/sourcecoop.json | 1 + .../space-engineers-torch-server.json | 1 + .../eggs/space-engineers/space-engineers.json | 1 + .../spacestation-14/space-station-14.json | 1 + public/data/eggs/squad-44/post-scriptum.json | 1 + public/data/eggs/squad/squad-wine.json | 1 + public/data/eggs/squad/squad.json | 1 + .../data/eggs/star-rupture/starrupture.json | 1 + public/data/eggs/starbound/starbound.json | 1 + public/data/eggs/starmade/starmade.json | 1 + .../eggs/stationeers/stationeers-bepinex.json | 1 + public/data/eggs/stationeers/stationeers.json | 1 + .../stormworks-build-and-rescue.json | 1 + public/data/eggs/subnautica/subnautica.json | 1 + public/data/eggs/subsistence/subsistence.json | 1 + .../data/eggs/supertuxkart/supertuxkart.json | 1 + public/data/eggs/svencoop/sven-co-op.json | 1 + .../swords-n-magic-and-stuff.json | 1 + .../team-fortress-2-classic.json | 1 + .../eggs/team-fortress-2/team-fortress-2.json | 1 + .../teamspeak-3-arm64/teamspeak-3-arm64.json | 1 + public/data/eggs/teamspeak-3/teamspeak-3.json | 1 + public/data/eggs/teamspeak-6/teamspeak-6.json | 1 + public/data/eggs/teeworlds/teeworlds.json | 1 + .../data/eggs/terraria/terraria-vanilla.json | 1 + public/data/eggs/terraria/tmodloader.json | 1 + public/data/eggs/terraria/tshock-legacy.json | 1 + public/data/eggs/terraria/tshock.json | 1 + .../terratech-worlds/terratech-worlds.json | 1 + .../the-battle-for-wesnoth.json | 1 + public/data/eggs/the-bus/the-bus.json | 1 + public/data/eggs/the-forest/the-forest.json | 1 + public/data/eggs/the-isle/the-isle.json | 1 + ...the-lord-of-the-rings-return-to-moria.json | 1 + .../the-ship-murder-party.json | 1 + public/data/eggs/thefront/the-front.json | 1 + .../eggs/tiny-block/tiny-block-server.json | 1 + public/data/eggs/tower-unite/tower-unite.json | 1 + .../data/eggs/trackmania/trackmania-2020.json | 1 + public/data/eggs/ts3-manager/ts3-manager.json | 1 + public/data/eggs/unturned/unturned.json | 1 + public/data/eggs/uptime-kuma/uptime-kuma.json | 1 + .../data/eggs/urban-terror/urban-terror.json | 1 + .../data/eggs/v-rising/v-rising-bepinex.json | 1 + public/data/eggs/v-rising/v-rising.json | 1 + public/data/eggs/valheim/valheim-bepinex.json | 1 + .../data/eggs/valheim/valheim-plus-mod.json | 1 + public/data/eggs/valheim/valheim.json | 1 + public/data/eggs/vein/vein.json | 1 + public/data/eggs/veloren/veloren.json | 1 + .../eggs/vintage-story/vintage-story.json | 1 + public/data/eggs/voicetwine/voicetwine.json | 1 + .../voyagers-of-nera/voyagers-of-nera.json | 1 + .../eggs/windows-games-wine/wine-generic.json | 1 + public/data/eggs/windrose/windrose.json | 1 + .../et-legacy.json | 1 + .../eggs/world-of-padman/world-of-padman.json | 1 + public/data/eggs/wreckfest-2/wreckfest-2.json | 1 + public/data/eggs/wreckfest/wreckfest.json | 1 + .../eggs/wurm-unlimited/wurm-unlimited.json | 1 + public/data/eggs/xonotic/xonotic.json | 1 + public/data/eggs/yarr/yarr.json | 1 + .../zombie-survival-game-online.json | 1 + public/img/eggs/5e-tools-5e-tools.webp | Bin 0 -> 9906 bytes .../eggs/abiotic-factor-abiotic-factor.webp | Bin 0 -> 7252 bytes public/img/eggs/aoede-aoede.png | Bin 58009 -> 0 bytes public/img/eggs/aoede-aoede.webp | Bin 0 -> 4508 bytes .../eggs/archisteamfarm-archisteamfarm.webp | Bin 0 -> 3664 bytes ...survival-evolved-ark-survival-evolved.jpeg | Bin 10721 -> 0 bytes ...survival-evolved-ark-survival-evolved.webp | Bin 0 -> 6052 bytes public/img/eggs/atlbot-atlbot.png | Bin 21630 -> 0 bytes public/img/eggs/atlbot-atlbot.webp | Bin 0 -> 5162 bytes .../eggs/banana-shooter-banana-shooter.webp | Bin 0 -> 3384 bytes public/img/eggs/bastion-bastion.png | Bin 7189 -> 0 bytes public/img/eggs/bastion-bastion.webp | Bin 0 -> 726 bytes ...d-3-venice-unleashed-venice-unleashed.webp | Bin 0 -> 1130 bytes .../eggs/big-brother-bot-big-brother-bot.png | Bin 19170 -> 0 bytes .../eggs/big-brother-bot-big-brother-bot.webp | Bin 0 -> 4326 bytes public/img/eggs/bun-bun.png | Bin 9723 -> 0 bytes public/img/eggs/bun-bun.webp | Bin 0 -> 4674 bytes public/img/eggs/code-server-code-server.webp | Bin 0 -> 4490 bytes .../conan-exiles-conan-exiles-enhanced.webp | Bin 0 -> 9284 bytes .../img/eggs/conan-exiles-conan-exiles.webp | Bin 0 -> 9284 bytes public/img/eggs/corpbot-corpbot.png | Bin 19889 -> 0 bytes public/img/eggs/corpbot-corpbot.webp | Bin 0 -> 2754 bytes .../counter-strike-2-counter-strike-2.webp | Bin 0 -> 2026 bytes ...r-strike-source-counter-strike-source.webp | Bin 0 -> 5702 bytes public/img/eggs/craftopia-craftopia.webp | Bin 0 -> 4254 bytes ...urce-engine-custom-source-engine-game.webp | Bin 3208 -> 2550 bytes public/img/eggs/dart-generic-dart-generic.png | Bin 7629 -> 0 bytes .../img/eggs/dart-generic-dart-generic.webp | Bin 0 -> 3200 bytes public/img/eggs/deno-generic-deno-generic.png | Bin 49213 -> 0 bytes .../img/eggs/deno-generic-deno-generic.webp | Bin 0 -> 4212 bytes .../img/eggs/elasticsearch-elasticsearch.webp | Bin 0 -> 1592 bytes public/img/eggs/elixir-elixir.png | Bin 51413 -> 0 bytes public/img/eggs/elixir-elixir.webp | Bin 0 -> 4882 bytes public/img/eggs/enshrouded-enshrouded.webp | Bin 0 -> 4674 bytes public/img/eggs/factorio-factorio.jpeg | Bin 9336 -> 0 bytes public/img/eggs/factorio-factorio.webp | Bin 0 -> 5856 bytes .../img/eggs/folding-home-folding-home.webp | Bin 0 -> 6368 bytes public/img/eggs/forgejo-forgejo.webp | Bin 0 -> 3788 bytes public/img/eggs/garry-s-mod-garrys-mod.png | Bin 8478 -> 0 bytes public/img/eggs/garry-s-mod-garrys-mod.webp | Bin 0 -> 2330 bytes public/img/eggs/generic-c-generic-c.webp | Bin 0 -> 3938 bytes public/img/eggs/gitea-gitea.webp | Bin 0 -> 3530 bytes .../eggs/golang-generic-golang-generic.png | Bin 194139 -> 0 bytes .../eggs/golang-generic-golang-generic.webp | Bin 0 -> 2576 bytes public/img/eggs/grafana-grafana.webp | Bin 0 -> 7520 bytes public/img/eggs/gryt-server-gryt-server.webp | Bin 0 -> 3184 bytes public/img/eggs/hytale-hytale.png | Bin 35996 -> 0 bytes public/img/eggs/hytale-hytale.webp | Bin 0 -> 2650 bytes public/img/eggs/icarus-icarus.webp | Bin 0 -> 5242 bytes public/img/eggs/insurgency-insurgency.webp | Bin 0 -> 5630 bytes public/img/eggs/java-generic-java-generic.png | Bin 19945 -> 0 bytes .../img/eggs/java-generic-java-generic.webp | Bin 0 -> 3120 bytes public/img/eggs/jmusicbot-jmusicbot.png | Bin 42450 -> 0 bytes public/img/eggs/jmusicbot-jmusicbot.webp | Bin 0 -> 2774 bytes .../img/eggs/languagetool-languagetool.webp | Bin 0 -> 3496 bytes public/img/eggs/lavalink-lavalink.webp | Bin 0 -> 1522 bytes public/img/eggs/loki-loki.png | Bin 176906 -> 0 bytes public/img/eggs/loki-loki.webp | Bin 0 -> 8096 bytes .../img/eggs/luvit-generic-luvit-generic.png | Bin 35878 -> 0 bytes .../img/eggs/luvit-generic-luvit-generic.webp | Bin 0 -> 10340 bytes public/img/eggs/meilisearch-meilisearch.webp | Bin 0 -> 3832 bytes ...ict-vietnam-military-conflict-vietnam.webp | Bin 0 -> 4500 bytes public/img/eggs/minecraft-bungeecord.webp | Bin 0 -> 4040 bytes public/img/eggs/minecraft-fabric.webp | Bin 0 -> 2824 bytes public/img/eggs/minecraft-folia.webp | Bin 0 -> 4142 bytes .../img/eggs/minecraft-forge-minecraft.webp | Bin 0 -> 1158 bytes public/img/eggs/minecraft-mohistmc.webp | Bin 0 -> 8898 bytes public/img/eggs/minecraft-neoforge.png | Bin 475 -> 0 bytes public/img/eggs/minecraft-neoforge.webp | Bin 0 -> 2380 bytes public/img/eggs/minecraft-paper.webp | Bin 0 -> 4842 bytes public/img/eggs/minecraft-purpur.webp | Bin 0 -> 9560 bytes public/img/eggs/minecraft-quilt.webp | Bin 0 -> 5634 bytes public/img/eggs/minecraft-spigot.webp | Bin 0 -> 4676 bytes public/img/eggs/minecraft-sponge.webp | Bin 0 -> 6036 bytes .../img/eggs/minecraft-vanilla-minecraft.webp | Bin 0 -> 6306 bytes public/img/eggs/minecraft-velocity.png | Bin 5514 -> 0 bytes public/img/eggs/minecraft-velocity.webp | Bin 0 -> 3386 bytes public/img/eggs/minecraft-waterfall.webp | Bin 0 -> 6978 bytes public/img/eggs/minio-s3-minio-s3.png | Bin 4313 -> 0 bytes public/img/eggs/minio-s3-minio-s3.webp | Bin 0 -> 1972 bytes .../img/eggs/mumble-server-mumble-server.webp | Bin 0 -> 5240 bytes .../eggs/node-js-generic-node-js-generic.webp | Bin 0 -> 1304 bytes public/img/eggs/nodemon-nodemon.png | Bin 16333 -> 0 bytes public/img/eggs/nodemon-nodemon.webp | Bin 0 -> 3422 bytes .../onehouronelife-one-hour-one-life.jpeg | Bin 11275 -> 0 bytes .../onehouronelife-one-hour-one-life.webp | Bin 0 -> 4932 bytes .../eggs/owncast-online-owncast-online.webp | Bin 0 -> 6338 bytes .../eggs/plains-of-pain-plains-of-pain.jpeg | Bin 668 -> 0 bytes .../eggs/plains-of-pain-plains-of-pain.webp | Bin 0 -> 690 bytes public/img/eggs/prometheus-prometheus.png | Bin 15974 -> 0 bytes public/img/eggs/prometheus-prometheus.webp | Bin 0 -> 2992 bytes .../eggs/python-generic-python-generic.png | Bin 22892 -> 0 bytes .../eggs/python-generic-python-generic.webp | Bin 0 -> 2228 bytes public/img/eggs/rabbitmq-rabbitmq.webp | Bin 0 -> 3290 bytes public/img/eggs/rathole-rathole.webp | Bin 0 -> 3584 bytes public/img/eggs/reposilite-reposilite.webp | Bin 0 -> 2810 bytes ...cape-dragonwilds-runescape-dragonwilds.png | Bin 13421 -> 0 bytes ...ape-dragonwilds-runescape-dragonwilds.webp | Bin 0 -> 7726 bytes public/img/eggs/rust-generic-rust-generic.png | Bin 12518 -> 0 bytes .../img/eggs/rust-generic-rust-generic.webp | Bin 0 -> 3272 bytes public/img/eggs/rust-rust.webp | Bin 0 -> 2092 bytes .../scp-secret-laboratory-scp-sl-exiled.webp | Bin 0 -> 5306 bytes .../sftp-storage-share-sftp-storage-share.png | Bin 6989 -> 0 bytes ...sftp-storage-share-sftp-storage-share.webp | Bin 0 -> 3546 bytes public/img/eggs/soulmask-soulmask.webp | Bin 0 -> 3904 bytes .../eggs/spacestation-14-space-station-14.png | Bin 8696 -> 0 bytes .../spacestation-14-space-station-14.webp | Bin 0 -> 6718 bytes ...ic-and-stuff-swords-n-magic-and-stuff.webp | Bin 0 -> 6018 bytes .../eggs/team-fortress-2-team-fortress-2.png | Bin 24512 -> 0 bytes .../eggs/team-fortress-2-team-fortress-2.webp | Bin 0 -> 6672 bytes .../teamspeak-3-arm64-teamspeak-3-arm64.webp | Bin 0 -> 7342 bytes public/img/eggs/teamspeak-3-teamspeak-3.webp | Bin 0 -> 7342 bytes public/img/eggs/teamspeak-6-teamspeak-6.webp | Bin 0 -> 6414 bytes .../eggs/tiny-block-tiny-block-server.webp | Bin 0 -> 6108 bytes public/img/eggs/tower-unite-tower-unite.jpeg | Bin 14075 -> 0 bytes public/img/eggs/tower-unite-tower-unite.webp | Bin 0 -> 4732 bytes public/img/eggs/ts3-manager-ts3-manager.webp | Bin 0 -> 876 bytes public/img/eggs/uptime-kuma-uptime-kuma.webp | Bin 0 -> 3956 bytes .../img/eggs/vintage-story-vintage-story.webp | Bin 8748 -> 3816 bytes .../eggs/world-of-padman-world-of-padman.webp | Bin 0 -> 7040 bytes public/img/eggs/wreckfest-2-wreckfest-2.webp | Bin 0 -> 3884 bytes public/img/eggs/wreckfest-wreckfest.jpeg | Bin 9304 -> 0 bytes public/img/eggs/wreckfest-wreckfest.webp | Bin 0 -> 4918 bytes public/img/eggs/xonotic-xonotic.jpeg | Bin 4093 -> 0 bytes public/img/eggs/xonotic-xonotic.webp | Bin 0 -> 5654 bytes public/img/eggs/yarr-yarr.webp | Bin 0 -> 2016 bytes scripts/sync-eggs.mjs | 218 ++++- source.config.ts | 13 +- 522 files changed, 4022 insertions(+), 487 deletions(-) create mode 100644 app/llms-full.txt/route.ts create mode 100644 app/llms.txt/route.ts create mode 100644 app/md/[...slug]/route.ts create mode 100644 app/og/[image]/route.tsx create mode 100644 app/og/_fonts/BricolageGrotesque-ExtraBold.ttf create mode 100644 app/og/_fonts/InstrumentSans-Bold.ttf create mode 100644 app/og/_fonts/InstrumentSans-Regular.ttf create mode 100644 app/og/_fonts/InstrumentSans-SemiBold.ttf create mode 100644 app/og/_fonts/OFL-BricolageGrotesque.txt create mode 100644 app/og/_fonts/OFL-InstrumentSans.txt create mode 100644 app/og/docs/[...slug]/route.tsx create mode 100644 app/robots.ts create mode 100644 app/sitemap.ts create mode 100644 components/home/egg-detail.tsx create mode 100644 lib/llms.ts create mode 100644 lib/og-image.tsx create mode 100644 lib/og.ts create mode 100644 public/data/eggs/5e-tools/5e-tools.json create mode 100644 public/data/eggs/7-days-to-die/7-days-to-die.json create mode 100644 public/data/eggs/abiotic-factor/abiotic-factor.json create mode 100644 public/data/eggs/american-truck-simulator/american-truck-simulator-dedicated-server.json create mode 100644 public/data/eggs/among-us/among-us-impostor-server.json create mode 100644 public/data/eggs/among-us/bettercrewlink-server.json create mode 100644 public/data/eggs/among-us/crewlink-server.json create mode 100644 public/data/eggs/aoede/aoede.json create mode 100644 public/data/eggs/archean/archean.json create mode 100644 public/data/eggs/archisteamfarm/archisteamfarm.json create mode 100644 public/data/eggs/ark-survival-ascended/ark-survival-ascended.json create mode 100644 public/data/eggs/ark-survival-evolved/ark-survival-evolved.json create mode 100644 public/data/eggs/arma-3/arma-3.json create mode 100644 public/data/eggs/arma-reforger/arma-reforger.json create mode 100644 public/data/eggs/assaultcube/assaultcube.json create mode 100644 public/data/eggs/assetto-corsa/assetto-corsa-freeroam-ai.json create mode 100644 public/data/eggs/assetto-corsa/assetto-corsa.json create mode 100644 public/data/eggs/astro-colony/astro-colony.json create mode 100644 public/data/eggs/astroneer/astroneer-dedicated-server.json create mode 100644 public/data/eggs/atlbot/atlbot.json create mode 100644 public/data/eggs/avorion/avorion.json create mode 100644 public/data/eggs/banana-shooter/banana-shooter.json create mode 100644 public/data/eggs/barotrauma/barotrauma.json create mode 100644 public/data/eggs/bastion/bastion.json create mode 100644 public/data/eggs/battalion-legacy/battalion-legacy.json create mode 100644 public/data/eggs/battlefield-3-venice-unleashed/venice-unleashed.json create mode 100644 public/data/eggs/beamng-drive/beammp-servers.json create mode 100644 public/data/eggs/beamng-drive/kissmp-server.json create mode 100644 public/data/eggs/big-brother-bot/big-brother-bot.json create mode 100644 public/data/eggs/black-mesa/black-mesa.json create mode 100644 public/data/eggs/brickadia/brickadia.json create mode 100644 public/data/eggs/bun/bun.json create mode 100644 public/data/eggs/citadel-forged-with-fire/citadel-forged-with-fire.json create mode 100644 public/data/eggs/classicube/classicube-mgc.json create mode 100644 public/data/eggs/clone-hero/clone-hero.json create mode 100644 public/data/eggs/code-server/code-server.json create mode 100644 public/data/eggs/colony-survival/colony-survival.json create mode 100644 public/data/eggs/conan-exiles/conan-exiles-enhanced.json create mode 100644 public/data/eggs/conan-exiles/conan-exiles.json create mode 100644 public/data/eggs/core-keeper/core-keeper.json create mode 100644 public/data/eggs/corpbot/corpbot.json create mode 100644 public/data/eggs/counter-strike-2/counter-strike-2.json create mode 100644 public/data/eggs/counter-strike-source/counter-strike-source.json create mode 100644 public/data/eggs/craftopia/craftopia.json create mode 100644 public/data/eggs/cryofall/cryofall.json create mode 100644 public/data/eggs/cs2d/cs2d.json create mode 100644 public/data/eggs/cube-2-sauerbraten/cube-2-sauerbraten.json create mode 100644 public/data/eggs/cubic-odyssey/cubic-odyssey.json create mode 100644 public/data/eggs/custom-goldsrc-engine-game-hlds/custom-hlds-engine-game.json create mode 100644 public/data/eggs/custom-goldsrc-engine-game-hlds/custom-rehlds-engine-game.json create mode 100644 public/data/eggs/custom-source-engine/custom-source-engine-game.json create mode 100644 public/data/eggs/daggerfall-online/daggerfall-online.json create mode 100644 public/data/eggs/dart-generic/dart-generic.json create mode 100644 public/data/eggs/dayz/dayz.json create mode 100644 public/data/eggs/ddnet/ddnet.json create mode 100644 public/data/eggs/ddnet/ddracenetwork.json create mode 100644 public/data/eggs/dead-matter/dead-matter.json create mode 100644 public/data/eggs/deno-generic/deno-generic.json create mode 100644 public/data/eggs/dont-starve/don-t-starve-together.json create mode 100644 public/data/eggs/doom-doom-ii/zandronum.json create mode 100644 public/data/eggs/dynamica/dynamica.json create mode 100644 public/data/eggs/eco/eco.json create mode 100644 public/data/eggs/elasticsearch/elasticsearch.json create mode 100644 public/data/eggs/elixir/elixir.json create mode 100644 public/data/eggs/empyrion-galactic-survival/empyrion-galactic-survival.json create mode 100644 public/data/eggs/enshrouded/enshrouded.json create mode 100644 public/data/eggs/escape-from-tarkov-spt/single-player-tarkov.json create mode 100644 public/data/eggs/escape-from-tarkov-spt/stay-in-tarkov.json create mode 100644 public/data/eggs/euro-truck-simulator-2/euro-truck-simulator-2-dedicated-server.json create mode 100644 public/data/eggs/factorio/clusterio.json create mode 100644 public/data/eggs/factorio/factorio-arm64.json create mode 100644 public/data/eggs/factorio/factorio-modupdate.json create mode 100644 public/data/eggs/factorio/factorio.json create mode 100644 public/data/eggs/fistful-of-frags/fof.json create mode 100644 public/data/eggs/folding-home/folding-home.json create mode 100644 public/data/eggs/forgejo/forgejo.json create mode 100644 public/data/eggs/foundry-virtual-tabletop/foundry-vtt.json create mode 100644 public/data/eggs/foundry/foundry.json create mode 100644 public/data/eggs/fragbot/fragbot.json create mode 100644 public/data/eggs/frozen-flame/frozen-flame.json create mode 100644 public/data/eggs/ftl-tachyon/tachyon.json create mode 100644 public/data/eggs/game-server-watcher/game-server-watcher.json create mode 100644 public/data/eggs/garry-s-mod/garrys-mod.json create mode 100644 public/data/eggs/generic-c/generic-c.json create mode 100644 public/data/eggs/gitea/gitea.json create mode 100644 public/data/eggs/golang-generic/golang-generic.json create mode 100644 public/data/eggs/grafana/grafana.json create mode 100644 public/data/eggs/grand-theft-auto-san-andreas/multi-theft-auto.json create mode 100644 public/data/eggs/grand-theft-auto-san-andreas/openmp.json create mode 100644 public/data/eggs/grand-theft-auto-san-andreas/sa-mp.json create mode 100644 public/data/eggs/grand-theft-auto-v/alt-v.json create mode 100644 public/data/eggs/grand-theft-auto-v/fivem.json create mode 100644 public/data/eggs/grand-theft-auto-v/rage-mp.json create mode 100644 public/data/eggs/grand-theft-auto-v/ragecoop.json create mode 100644 public/data/eggs/ground-branch/ground-branch.json create mode 100644 public/data/eggs/gryt-server/gryt-server.json create mode 100644 public/data/eggs/gta-connected-gta-iii-vice-city-san-andreas-iv/grand-theft-auto-connected.json create mode 100644 public/data/eggs/haste-server/haste-server.json create mode 100644 public/data/eggs/hogwarts-legacy/hogwarp.json create mode 100644 public/data/eggs/holdfast-nations-at-war/holdfast-naw.json create mode 100644 public/data/eggs/humanitz/humanitz.json create mode 100644 public/data/eggs/hurtworld/hurtworld.json create mode 100644 public/data/eggs/hytale/hytale.json create mode 100644 public/data/eggs/icarus/icarus.json create mode 100644 public/data/eggs/insurgency-sandstorm/insurgency-sandstorm.json create mode 100644 public/data/eggs/insurgency/insurgency.json create mode 100644 public/data/eggs/iosoccer/iosoccer-server.json create mode 100644 public/data/eggs/java-generic/java-generic.json create mode 100644 public/data/eggs/jmusicbot/jmusicbot.json create mode 100644 public/data/eggs/jts3servermod/jts3servermod.json create mode 100644 public/data/eggs/kerbal-space-program/ksp-dmp.json create mode 100644 public/data/eggs/killing-floor-2/killing-floor-2.json create mode 100644 public/data/eggs/languagetool/languagetool.json create mode 100644 public/data/eggs/lavalink/lavalink.json create mode 100644 public/data/eggs/leaguesandbox/leaguesandbox.json create mode 100644 public/data/eggs/left-4-dead-2/left-4-dead-2.json create mode 100644 public/data/eggs/left-4-dead/left-4-dead.json create mode 100644 public/data/eggs/loki/loki.json create mode 100644 public/data/eggs/longvinter/longvinter.json create mode 100644 public/data/eggs/los-angeles-crimes/lac-online-public-server.json create mode 100644 public/data/eggs/luanti/minetest.json create mode 100644 public/data/eggs/luvit-generic/luvit-generic.json create mode 100644 public/data/eggs/mariadb-10-3/mariadb-10-3.json create mode 100644 public/data/eggs/mariadb-11-4/mariadb-11-4.json create mode 100644 public/data/eggs/mariadb-11-5/mariadb-11-5.json create mode 100644 public/data/eggs/medal-of-honor-allied-assault/mohaa.json create mode 100644 public/data/eggs/meilisearch/meilisearch.json create mode 100644 public/data/eggs/midnight-ghost-hunt/midnight-ghost-hunt.json create mode 100644 public/data/eggs/military-conflict-vietnam/military-conflict-vietnam.json create mode 100644 public/data/eggs/mindustry/mindustry.json create mode 100644 public/data/eggs/minecraft-bedrock/gomint.json create mode 100644 public/data/eggs/minecraft-bedrock/liteloader-bedrock-dedicated-server.json create mode 100644 public/data/eggs/minecraft-bedrock/nukkit.json create mode 100644 public/data/eggs/minecraft-bedrock/pocketminemp.json create mode 100644 public/data/eggs/minecraft-bedrock/powernukkitx.json create mode 100644 public/data/eggs/minecraft-bedrock/vanilla-bedrock-arm64.json create mode 100644 public/data/eggs/minecraft-bedrock/vanilla-bedrock.json create mode 100644 public/data/eggs/minecraft-bedrock/waterdog-pe.json create mode 100644 public/data/eggs/minecraft/always-auth.json create mode 100644 public/data/eggs/minecraft/attack-of-the-b-team.json create mode 100644 public/data/eggs/minecraft/blightfall.json create mode 100644 public/data/eggs/minecraft/bungeecord.json create mode 100644 public/data/eggs/minecraft/cuberite.json create mode 100644 public/data/eggs/minecraft/curseforge-generic.json create mode 100644 public/data/eggs/minecraft/fabric.json create mode 100644 public/data/eggs/minecraft/feather.json create mode 100644 public/data/eggs/minecraft/feed-the-beast.json create mode 100644 public/data/eggs/minecraft/folia.json create mode 100644 public/data/eggs/minecraft/forge-minecraft.json create mode 100644 public/data/eggs/minecraft/ftb-modpacks-ch-server.json create mode 100644 public/data/eggs/minecraft/ftb-revelation.json create mode 100644 public/data/eggs/minecraft/ftb-server.json create mode 100644 public/data/eggs/minecraft/glowstone.json create mode 100644 public/data/eggs/minecraft/hexxit.json create mode 100644 public/data/eggs/minecraft/ketting.json create mode 100644 public/data/eggs/minecraft/krypton.json create mode 100644 public/data/eggs/minecraft/limbo.json create mode 100644 public/data/eggs/minecraft/magma.json create mode 100644 public/data/eggs/minecraft/modrinth-generic.json create mode 100644 public/data/eggs/minecraft/mohistmc.json create mode 100644 public/data/eggs/minecraft/nanolimbo.json create mode 100644 public/data/eggs/minecraft/neoforge.json create mode 100644 public/data/eggs/minecraft/paper.json create mode 100644 public/data/eggs/minecraft/purpur-geyser-floodgate.json create mode 100644 public/data/eggs/minecraft/purpur.json create mode 100644 public/data/eggs/minecraft/quilt.json create mode 100644 public/data/eggs/minecraft/spigot.json create mode 100644 public/data/eggs/minecraft/sponge.json create mode 100644 public/data/eggs/minecraft/spongeforge.json create mode 100644 public/data/eggs/minecraft/tekkit-2.json create mode 100644 public/data/eggs/minecraft/tekkit-classic.json create mode 100644 public/data/eggs/minecraft/tekkit-legends.json create mode 100644 public/data/eggs/minecraft/tekkit-smp.json create mode 100644 public/data/eggs/minecraft/tekkit.json create mode 100644 public/data/eggs/minecraft/the-1-12-2-pack.json create mode 100644 public/data/eggs/minecraft/the-1-7-10-pack.json create mode 100644 public/data/eggs/minecraft/travertine.json create mode 100644 public/data/eggs/minecraft/vanilla-minecraft.json create mode 100644 public/data/eggs/minecraft/vanillacord.json create mode 100644 public/data/eggs/minecraft/velocity.json create mode 100644 public/data/eggs/minecraft/viaaas.json create mode 100644 public/data/eggs/minecraft/viaproxy.json create mode 100644 public/data/eggs/minecraft/waterdog.json create mode 100644 public/data/eggs/minecraft/waterfall.json create mode 100644 public/data/eggs/minio-s3/minio-s3.json create mode 100644 public/data/eggs/modiverse/modiverse.json create mode 100644 public/data/eggs/mongodb-6/mongodb-6.json create mode 100644 public/data/eggs/mongodb-7/mongodb-7.json create mode 100644 public/data/eggs/mongodb/mongodb.json create mode 100644 public/data/eggs/mordhau/mordhau-wine.json create mode 100644 public/data/eggs/mordhau/mordhau.json create mode 100644 public/data/eggs/mount-and-blade-ii-bannerlord/mount-and-blade-ii-bannerlord.json create mode 100644 public/data/eggs/mumble-server/mumble-server.json create mode 100644 public/data/eggs/muse/muse.json create mode 100644 public/data/eggs/myth-of-empires/myth-of-empires.json create mode 100644 public/data/eggs/nazi-zombies-portable/nazi-zombies-portable.json create mode 100644 public/data/eggs/necesse/necesse.json create mode 100644 public/data/eggs/neos-vr/neosvr.json create mode 100644 public/data/eggs/neverwinter-nights-enhanced-edition/neverwinter-nights-enhanced-edition.json create mode 100644 public/data/eggs/night-of-the-dead/night-of-the-dead.json create mode 100644 public/data/eggs/nightingale/nightingale.json create mode 100644 public/data/eggs/no-love-lost/no-love-lost.json create mode 100644 public/data/eggs/no-more-room-in-hell/nmrih.json create mode 100644 public/data/eggs/no-one-survived/no-one-survived.json create mode 100644 public/data/eggs/node-js-generic/node-js-generic.json create mode 100644 public/data/eggs/nodemon/nodemon.json create mode 100644 public/data/eggs/novalife-amboise/nova-life-amboise.json create mode 100644 public/data/eggs/onehouronelife/one-hour-one-life.json create mode 100644 public/data/eggs/onset/onset.json create mode 100644 public/data/eggs/open-fortress/open-fortress.json create mode 100644 public/data/eggs/openarena/openarena.json create mode 100644 public/data/eggs/openra/openra-dune2000.json create mode 100644 public/data/eggs/openra/openra-tiberian-dawn.json create mode 100644 public/data/eggs/openra/openra.json create mode 100644 public/data/eggs/openrct2/openrct2.json create mode 100644 public/data/eggs/openttd/openttd.json create mode 100644 public/data/eggs/operation-harsh-doorstop/operation-harsh-doorstop.json create mode 100644 public/data/eggs/owncast-online/owncast-online.json create mode 100644 public/data/eggs/palworld/palworld-proton.json create mode 100644 public/data/eggs/palworld/palworld.json create mode 100644 public/data/eggs/parkertron/parkertron.json create mode 100644 public/data/eggs/path-of-titans/path-of-titans.json create mode 100644 public/data/eggs/pavlov/pavlov-vr.json create mode 100644 public/data/eggs/phantombot/phantombot.json create mode 100644 public/data/eggs/pixark/pixark.json create mode 100644 public/data/eggs/pixel-bot/pixel-bot.json create mode 100644 public/data/eggs/plains-of-pain/plains-of-pain.json create mode 100644 public/data/eggs/portal-knights/portal-knights.json create mode 100644 public/data/eggs/postgres-14/postgres-14.json create mode 100644 public/data/eggs/postgres-16/postgres-16.json create mode 100644 public/data/eggs/project-zomboid/project-zomboid.json create mode 100644 public/data/eggs/prometheus/prometheus.json create mode 100644 public/data/eggs/puck/puck.json create mode 100644 public/data/eggs/python-generic/python-generic.json create mode 100644 public/data/eggs/qanga/qanga.json create mode 100644 public/data/eggs/quake-live/quake-live.json create mode 100644 public/data/eggs/rabbitmq/rabbitmq.json create mode 100644 public/data/eggs/rathole/rathole.json create mode 100644 public/data/eggs/red-dead-redemption-2/redm.json create mode 100644 public/data/eggs/red/red.json create mode 100644 public/data/eggs/redis-5/redis-5.json create mode 100644 public/data/eggs/redis-6/redis-6.json create mode 100644 public/data/eggs/redis-7/redis-7.json create mode 100644 public/data/eggs/ree6/ree6.json create mode 100644 public/data/eggs/reposilite/reposilite.json create mode 100644 public/data/eggs/resonite/resonite.json create mode 100644 public/data/eggs/rethinkdb/rethinkdb.json create mode 100644 public/data/eggs/rimworld/rimworld-open-world.json create mode 100644 public/data/eggs/rimworld/rimworld-together.json create mode 100644 public/data/eggs/rising-world/rising-world-java-legacy.json create mode 100644 public/data/eggs/rising-world/rising-world-unity.json create mode 100644 public/data/eggs/risk-of-rain-2/risk-of-rain-2.json create mode 100644 public/data/eggs/runescape-dragonwilds/runescape-dragonwilds.json create mode 100644 public/data/eggs/rust-generic/rust-generic.json create mode 100644 public/data/eggs/rust/rust-autowipe.json create mode 100644 public/data/eggs/rust/rust-staging.json create mode 100644 public/data/eggs/rust/rust.json create mode 100644 public/data/eggs/satisfactory/satisfactory.json create mode 100644 public/data/eggs/scp-secret-laboratory/scp-sl-exiled.json create mode 100644 public/data/eggs/scp-secret-laboratory/scp-sl.json create mode 100644 public/data/eggs/sftp-storage-share/sftp-storage-share.json create mode 100644 public/data/eggs/sinusbot/sinusbot.json create mode 100644 public/data/eggs/smalland-survive-the-wilds/smalland-survive-the-wilds.json create mode 100644 public/data/eggs/sogebot/sogebot.json create mode 100644 public/data/eggs/solace-crafting/solace-crafting.json create mode 100644 public/data/eggs/soldat/soldat.json create mode 100644 public/data/eggs/sons-of-the-forest/sons-of-the-forest.json create mode 100644 public/data/eggs/soulmask/soulmask.json create mode 100644 public/data/eggs/source-co-op/sourcecoop.json create mode 100644 public/data/eggs/space-engineers/space-engineers-torch-server.json create mode 100644 public/data/eggs/space-engineers/space-engineers.json create mode 100644 public/data/eggs/spacestation-14/space-station-14.json create mode 100644 public/data/eggs/squad-44/post-scriptum.json create mode 100644 public/data/eggs/squad/squad-wine.json create mode 100644 public/data/eggs/squad/squad.json create mode 100644 public/data/eggs/star-rupture/starrupture.json create mode 100644 public/data/eggs/starbound/starbound.json create mode 100644 public/data/eggs/starmade/starmade.json create mode 100644 public/data/eggs/stationeers/stationeers-bepinex.json create mode 100644 public/data/eggs/stationeers/stationeers.json create mode 100644 public/data/eggs/stormworks-build-and-rescue/stormworks-build-and-rescue.json create mode 100644 public/data/eggs/subnautica/subnautica.json create mode 100644 public/data/eggs/subsistence/subsistence.json create mode 100644 public/data/eggs/supertuxkart/supertuxkart.json create mode 100644 public/data/eggs/svencoop/sven-co-op.json create mode 100644 public/data/eggs/swords-n-magic-and-stuff/swords-n-magic-and-stuff.json create mode 100644 public/data/eggs/team-fortress-2-classic/team-fortress-2-classic.json create mode 100644 public/data/eggs/team-fortress-2/team-fortress-2.json create mode 100644 public/data/eggs/teamspeak-3-arm64/teamspeak-3-arm64.json create mode 100644 public/data/eggs/teamspeak-3/teamspeak-3.json create mode 100644 public/data/eggs/teamspeak-6/teamspeak-6.json create mode 100644 public/data/eggs/teeworlds/teeworlds.json create mode 100644 public/data/eggs/terraria/terraria-vanilla.json create mode 100644 public/data/eggs/terraria/tmodloader.json create mode 100644 public/data/eggs/terraria/tshock-legacy.json create mode 100644 public/data/eggs/terraria/tshock.json create mode 100644 public/data/eggs/terratech-worlds/terratech-worlds.json create mode 100644 public/data/eggs/the-battle-for-wesnoth/the-battle-for-wesnoth.json create mode 100644 public/data/eggs/the-bus/the-bus.json create mode 100644 public/data/eggs/the-forest/the-forest.json create mode 100644 public/data/eggs/the-isle/the-isle.json create mode 100644 public/data/eggs/the-lord-of-the-rings-return-to-moria/the-lord-of-the-rings-return-to-moria.json create mode 100644 public/data/eggs/the-ship-murder-party/the-ship-murder-party.json create mode 100644 public/data/eggs/thefront/the-front.json create mode 100644 public/data/eggs/tiny-block/tiny-block-server.json create mode 100644 public/data/eggs/tower-unite/tower-unite.json create mode 100644 public/data/eggs/trackmania/trackmania-2020.json create mode 100644 public/data/eggs/ts3-manager/ts3-manager.json create mode 100644 public/data/eggs/unturned/unturned.json create mode 100644 public/data/eggs/uptime-kuma/uptime-kuma.json create mode 100644 public/data/eggs/urban-terror/urban-terror.json create mode 100644 public/data/eggs/v-rising/v-rising-bepinex.json create mode 100644 public/data/eggs/v-rising/v-rising.json create mode 100644 public/data/eggs/valheim/valheim-bepinex.json create mode 100644 public/data/eggs/valheim/valheim-plus-mod.json create mode 100644 public/data/eggs/valheim/valheim.json create mode 100644 public/data/eggs/vein/vein.json create mode 100644 public/data/eggs/veloren/veloren.json create mode 100644 public/data/eggs/vintage-story/vintage-story.json create mode 100644 public/data/eggs/voicetwine/voicetwine.json create mode 100644 public/data/eggs/voyagers-of-nera/voyagers-of-nera.json create mode 100644 public/data/eggs/windows-games-wine/wine-generic.json create mode 100644 public/data/eggs/windrose/windrose.json create mode 100644 public/data/eggs/wolfenstein-enemy-territory/et-legacy.json create mode 100644 public/data/eggs/world-of-padman/world-of-padman.json create mode 100644 public/data/eggs/wreckfest-2/wreckfest-2.json create mode 100644 public/data/eggs/wreckfest/wreckfest.json create mode 100644 public/data/eggs/wurm-unlimited/wurm-unlimited.json create mode 100644 public/data/eggs/xonotic/xonotic.json create mode 100644 public/data/eggs/yarr/yarr.json create mode 100644 public/data/eggs/zombie-survival-game-online/zombie-survival-game-online.json create mode 100644 public/img/eggs/5e-tools-5e-tools.webp create mode 100644 public/img/eggs/abiotic-factor-abiotic-factor.webp delete mode 100644 public/img/eggs/aoede-aoede.png create mode 100644 public/img/eggs/aoede-aoede.webp create mode 100644 public/img/eggs/archisteamfarm-archisteamfarm.webp delete mode 100644 public/img/eggs/ark-survival-evolved-ark-survival-evolved.jpeg create mode 100644 public/img/eggs/ark-survival-evolved-ark-survival-evolved.webp delete mode 100644 public/img/eggs/atlbot-atlbot.png create mode 100644 public/img/eggs/atlbot-atlbot.webp create mode 100644 public/img/eggs/banana-shooter-banana-shooter.webp delete mode 100644 public/img/eggs/bastion-bastion.png create mode 100644 public/img/eggs/bastion-bastion.webp create mode 100644 public/img/eggs/battlefield-3-venice-unleashed-venice-unleashed.webp delete mode 100644 public/img/eggs/big-brother-bot-big-brother-bot.png create mode 100644 public/img/eggs/big-brother-bot-big-brother-bot.webp delete mode 100644 public/img/eggs/bun-bun.png create mode 100644 public/img/eggs/bun-bun.webp create mode 100644 public/img/eggs/code-server-code-server.webp create mode 100644 public/img/eggs/conan-exiles-conan-exiles-enhanced.webp create mode 100644 public/img/eggs/conan-exiles-conan-exiles.webp delete mode 100644 public/img/eggs/corpbot-corpbot.png create mode 100644 public/img/eggs/corpbot-corpbot.webp create mode 100644 public/img/eggs/counter-strike-2-counter-strike-2.webp create mode 100644 public/img/eggs/counter-strike-source-counter-strike-source.webp create mode 100644 public/img/eggs/craftopia-craftopia.webp delete mode 100644 public/img/eggs/dart-generic-dart-generic.png create mode 100644 public/img/eggs/dart-generic-dart-generic.webp delete mode 100644 public/img/eggs/deno-generic-deno-generic.png create mode 100644 public/img/eggs/deno-generic-deno-generic.webp create mode 100644 public/img/eggs/elasticsearch-elasticsearch.webp delete mode 100644 public/img/eggs/elixir-elixir.png create mode 100644 public/img/eggs/elixir-elixir.webp create mode 100644 public/img/eggs/enshrouded-enshrouded.webp delete mode 100644 public/img/eggs/factorio-factorio.jpeg create mode 100644 public/img/eggs/factorio-factorio.webp create mode 100644 public/img/eggs/folding-home-folding-home.webp create mode 100644 public/img/eggs/forgejo-forgejo.webp delete mode 100644 public/img/eggs/garry-s-mod-garrys-mod.png create mode 100644 public/img/eggs/garry-s-mod-garrys-mod.webp create mode 100644 public/img/eggs/generic-c-generic-c.webp create mode 100644 public/img/eggs/gitea-gitea.webp delete mode 100644 public/img/eggs/golang-generic-golang-generic.png create mode 100644 public/img/eggs/golang-generic-golang-generic.webp create mode 100644 public/img/eggs/grafana-grafana.webp create mode 100644 public/img/eggs/gryt-server-gryt-server.webp delete mode 100644 public/img/eggs/hytale-hytale.png create mode 100644 public/img/eggs/hytale-hytale.webp create mode 100644 public/img/eggs/icarus-icarus.webp create mode 100644 public/img/eggs/insurgency-insurgency.webp delete mode 100644 public/img/eggs/java-generic-java-generic.png create mode 100644 public/img/eggs/java-generic-java-generic.webp delete mode 100644 public/img/eggs/jmusicbot-jmusicbot.png create mode 100644 public/img/eggs/jmusicbot-jmusicbot.webp create mode 100644 public/img/eggs/languagetool-languagetool.webp create mode 100644 public/img/eggs/lavalink-lavalink.webp delete mode 100644 public/img/eggs/loki-loki.png create mode 100644 public/img/eggs/loki-loki.webp delete mode 100644 public/img/eggs/luvit-generic-luvit-generic.png create mode 100644 public/img/eggs/luvit-generic-luvit-generic.webp create mode 100644 public/img/eggs/meilisearch-meilisearch.webp create mode 100644 public/img/eggs/military-conflict-vietnam-military-conflict-vietnam.webp create mode 100644 public/img/eggs/minecraft-bungeecord.webp create mode 100644 public/img/eggs/minecraft-fabric.webp create mode 100644 public/img/eggs/minecraft-folia.webp create mode 100644 public/img/eggs/minecraft-forge-minecraft.webp create mode 100644 public/img/eggs/minecraft-mohistmc.webp delete mode 100644 public/img/eggs/minecraft-neoforge.png create mode 100644 public/img/eggs/minecraft-neoforge.webp create mode 100644 public/img/eggs/minecraft-paper.webp create mode 100644 public/img/eggs/minecraft-purpur.webp create mode 100644 public/img/eggs/minecraft-quilt.webp create mode 100644 public/img/eggs/minecraft-spigot.webp create mode 100644 public/img/eggs/minecraft-sponge.webp create mode 100644 public/img/eggs/minecraft-vanilla-minecraft.webp delete mode 100644 public/img/eggs/minecraft-velocity.png create mode 100644 public/img/eggs/minecraft-velocity.webp create mode 100644 public/img/eggs/minecraft-waterfall.webp delete mode 100644 public/img/eggs/minio-s3-minio-s3.png create mode 100644 public/img/eggs/minio-s3-minio-s3.webp create mode 100644 public/img/eggs/mumble-server-mumble-server.webp create mode 100644 public/img/eggs/node-js-generic-node-js-generic.webp delete mode 100644 public/img/eggs/nodemon-nodemon.png create mode 100644 public/img/eggs/nodemon-nodemon.webp delete mode 100644 public/img/eggs/onehouronelife-one-hour-one-life.jpeg create mode 100644 public/img/eggs/onehouronelife-one-hour-one-life.webp create mode 100644 public/img/eggs/owncast-online-owncast-online.webp delete mode 100644 public/img/eggs/plains-of-pain-plains-of-pain.jpeg create mode 100644 public/img/eggs/plains-of-pain-plains-of-pain.webp delete mode 100644 public/img/eggs/prometheus-prometheus.png create mode 100644 public/img/eggs/prometheus-prometheus.webp delete mode 100644 public/img/eggs/python-generic-python-generic.png create mode 100644 public/img/eggs/python-generic-python-generic.webp create mode 100644 public/img/eggs/rabbitmq-rabbitmq.webp create mode 100644 public/img/eggs/rathole-rathole.webp create mode 100644 public/img/eggs/reposilite-reposilite.webp delete mode 100644 public/img/eggs/runescape-dragonwilds-runescape-dragonwilds.png create mode 100644 public/img/eggs/runescape-dragonwilds-runescape-dragonwilds.webp delete mode 100644 public/img/eggs/rust-generic-rust-generic.png create mode 100644 public/img/eggs/rust-generic-rust-generic.webp create mode 100644 public/img/eggs/rust-rust.webp create mode 100644 public/img/eggs/scp-secret-laboratory-scp-sl-exiled.webp delete mode 100644 public/img/eggs/sftp-storage-share-sftp-storage-share.png create mode 100644 public/img/eggs/sftp-storage-share-sftp-storage-share.webp create mode 100644 public/img/eggs/soulmask-soulmask.webp delete mode 100644 public/img/eggs/spacestation-14-space-station-14.png create mode 100644 public/img/eggs/spacestation-14-space-station-14.webp create mode 100644 public/img/eggs/swords-n-magic-and-stuff-swords-n-magic-and-stuff.webp delete mode 100644 public/img/eggs/team-fortress-2-team-fortress-2.png create mode 100644 public/img/eggs/team-fortress-2-team-fortress-2.webp create mode 100644 public/img/eggs/teamspeak-3-arm64-teamspeak-3-arm64.webp create mode 100644 public/img/eggs/teamspeak-3-teamspeak-3.webp create mode 100644 public/img/eggs/teamspeak-6-teamspeak-6.webp create mode 100644 public/img/eggs/tiny-block-tiny-block-server.webp delete mode 100644 public/img/eggs/tower-unite-tower-unite.jpeg create mode 100644 public/img/eggs/tower-unite-tower-unite.webp create mode 100644 public/img/eggs/ts3-manager-ts3-manager.webp create mode 100644 public/img/eggs/uptime-kuma-uptime-kuma.webp create mode 100644 public/img/eggs/world-of-padman-world-of-padman.webp create mode 100644 public/img/eggs/wreckfest-2-wreckfest-2.webp delete mode 100644 public/img/eggs/wreckfest-wreckfest.jpeg create mode 100644 public/img/eggs/wreckfest-wreckfest.webp delete mode 100644 public/img/eggs/xonotic-xonotic.jpeg create mode 100644 public/img/eggs/xonotic-xonotic.webp create mode 100644 public/img/eggs/yarr-yarr.webp diff --git a/app/(landing)/[slug]/page.tsx b/app/(landing)/[slug]/page.tsx index 02b784d5..0639e02a 100644 --- a/app/(landing)/[slug]/page.tsx +++ b/app/(landing)/[slug]/page.tsx @@ -1,17 +1,33 @@ import { notFound } from 'next/navigation'; import type { Metadata } from 'next'; +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; import { pagesSource } from '@/lib/source'; +import { extractFaq, faqPageJsonLd, jsonLdScript, ogImage, pageMetadata } from '@/lib/og'; import { getMDXComponents } from '@/mdx-components'; import { SiteHeader } from '@/components/home/site-header'; import { SiteFooterNav } from '@/components/home/sections'; export const dynamicParams = false; -// Short lines under each page's title, in the same voice as the homepage. +// Short lines under each page's title, in the same voice as the homepage. The +// frontmatter description is the longer one used for search results. const LEDES: Record = { faq: 'Straight answers about Pelican, Wings, licensing and plugins.', }; +// Social card per page; every content/pages page needs one in the /og contract. +const OG_IMAGES: Record = { + faq: ogImage.faq, +}; + +/** FAQPage structured data from the page's own
    questions, so it matches what readers see. */ +function faqJsonLd(slug: string, path: string) { + if (slug !== 'faq') return null; + const entries = extractFaq(readFileSync(join(process.cwd(), 'content/pages', path), 'utf8'), `/${slug}/`); + return entries.length > 0 ? jsonLdScript(faqPageJsonLd(entries, `/${slug}/`)) : null; +} + /** * Stand-alone MDX pages from content/pages (today only /faq) in the homepage's design. * /support is its own route (app/(landing)/support/page.tsx), not MDX. @@ -22,9 +38,11 @@ export default async function Page(props: PageProps<'/[slug]'>) { if (!page) notFound(); const MDX = page.data.body; + const jsonLd = faqJsonLd(slug, page.path); return ( <> + {jsonLd &&
  • QMXNX!y)IdgyXQi0S$$ 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 P00000NkvXXu0mjfe-{BP literal 0 HcmV?d00001 diff --git a/public/img/eggs/minecraft-neoforge.png b/public/img/eggs/minecraft-neoforge.png new file mode 100644 index 0000000000000000000000000000000000000000..0c23ce85b31fada6b28a580a8334b0f2cd34e2ef GIT binary patch literal 475 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 literal 0 HcmV?d00001 diff --git a/public/img/eggs/minio-s3-minio-s3.png b/public/img/eggs/minio-s3-minio-s3.png new file mode 100644 index 0000000000000000000000000000000000000000..18dbe0c38025cc5be7c7add44da1b16314d5f797 GIT binary patch literal 4313 zcmb_gcTkhfyA1>)y(+#4BA}EH6*fP^YaN$3bj?;WYqix3D!K&o^@M<4+y z5}HUa(xmrl2*Snt`|IAhf8L#EpWSoj>@&~o%+8tF2n}^5dYWrA5D0``MOj`G0wDwb zPAcdHQ=!4$e6dhi%BaaeAeFJSrzpw`Oy;bqBnv6)<6MP6$a^*5+6sz_%1TNqOpNrg zv2jaFOM`>ohlYNfpP%n4@~p0|zJH&bl7dc3dVh3uG%+z@Y>YfRJFBRutg8B~stW)4 z^QVf+v**tdYHI2R21Xl(k)EFM?3tRTruOf@gXrMkWN+`Ft*xu4rw@m#`}+qX5L)5k5$^7uSZwvd!NJVT z&%C_6larH$g~gDN(Ea^`zP^5QbIYBb9d~yRB9Z9m=oA$d-PqVvQ&YRMvuk2vwyVmQ znws|O*RTBig6{6_;o)IROY6eIqOq~DprBw)O|8Yn#nRHU!^6Xlj*jN$mf6`^7Zgt+-fdMBc7cVdGuC6W|4&UAV&C2Ta`uh6o*ESzN z=C!o6`uO;so}Qkc{n^u#I47NGXlNplCU|^XPY=P``gKuJ@$T-fr>B>Z5z^Gu{P_6T z*Vlh}d3kzz+Rn~?Z*OmYe!jlGAuSEFva-_K+dDTmH#j)BtHc`+5Evhy*w)roSy>ey zpU~6OgF>0s)z$C91xrdw_nzOLoSZs}a56SVB`2qhkB`ep%l?_0Jlo$P4RrolTRQYL zO-;qTd1IfI^&vDgY**=KVq#KY;M?)>iH?rWp`oFenAr02iu1Fx+}w}9(<3r7vxr40 zA|fJFQ`1RF$()=VqN1X*vU1$qT)Mh1h-I1kD47EXt+T`Z;^I%v&MtczcTc}}pWv{h zp4QVJgpAh#F~OQOJu8y8L6Y;_lM|xq%=xPbIDF~ z-d@)L@q9=BAqawX&SpoEE{B0u`gJ06kfcBVikEAZI6kK>0|%PomU_` zlG-!WJ`N6r>0Szkva%mym!T_G&$9&&-=Ewt_{g{HD?r%Jl4 ztw7Ae!HoCb1G8aEi{m$XwKu8VW=PSP>BfFP_FhbC#xzerHai716Abk~1Ns-=p<6IO zFx_`0N6>O9^^u+oVPFIdT)xx>s72v&TFDZH62A)*=84=S6Eht*uViI@Fs4XO89PqiN_L2co>y^;i|CvwYb z*~(mby8ZK5CgeXT0P20CZ&Fo`V*is-O8J*|Hf-3Q@bV*RF7(saOI87OX2a>*p)7H* zrReR0y3<*Onh#HuhMR6Zy;XY{RcD|(J~!m`lHd8F7yb2Ae1 z{au$=Za8K=b}vdx(c$~cELS^;Nl&P`?z3FlYqcfT>c;58qKkFzvEGI(29EDlD#qxV z_yF51-n6%Zh~2T`7v(ygJX7A!aWlgUB88N0SN@B3-*tW~4{kS=#^=7D*;3ZocLJn& z(Vw!4ov|!iCNq3RY-U0AC#w<9XAu5P_E)wOnCV4vr`u20F0M-FG z8eD&hA2x(I;j9#u?mV?>qNjp_w=wo^N>DrmyE{EyEfWAj%uhFZx_vJ;eV5XEx|-`7 zRuofFBhJF>q)76vhAtL;6gkUScS^U5{&JO3i_br(sY&3f-eU()by55o)&1DbW=<$Q z5VDkP3l0*R+^O`$$xqJl@BaJ>s_*=lj|q~Aq)L4;n@rV#(?$=^QijGU1n#w_XN&k; z_6XytDHPI2uH18V&E}%x8UOq%fI3H{;qn10d^7wN46VABa3g>jke&a-7Z8yx>`@~F zBwR!J0>z`4>Onz5ML89_5BgzB-;h2T7guCcs)Zdo_eXW}6DGh3ocazr7e1T5#|^NI z2+|VL195RvSJ*8p6*|0J5J(&MC=yvx1I z+JeB=lH6j9DHZIco2aOyIxU`H(MYtR!%0(<2)nP?f&-;&E#1<2fU%TLf`Rx8ru=Yk zyohBjGazUtEim$u5!SKS&oCuH4z(UiP5f4JX(4J(;4;@DM?m1o_Wk8{eFhk(mX7^3 zDOc?qp|7%aO{D-T8m*RK*Y9M8fK~2jD?h~xM%cS5@vZnp@sI1RtzXR#XvWyqaRKK> zz1D^;v@@t#F{vDbUsx_Wc({O9c0DXuf9&CS5Ey5)!5WqL$1?-XdXB&`Utu}nM{cFLe9a-(lMpV=l1fpyWwm6&N1M-k@cxr*w-YtpH#Tj8 zRXHDf~E!B~0k()65-Z zC#L-S#X@^^>?OU${`j015UqBmZ9xdIA62ME~Qfq2io;*1V`7MXfpW z{%_F-jt3(qvs^!K5b~dHow2fcoJ@$Wy`o(Wa#(xiy0tP=UjM}3&Tw?IspL1udTar0 z;BKz5fKSK%)uv}R9wcPv(Qxf+#5wh}jmG4vTNquF{H8^A^{(lCVr^985oabZVDYI_ zhf0PgAE`XHB@dx#zG_v{g#K6F^_sD;W3_Tt%y|yz8CvyQ{1Cn zKs}IP1w*=p%Q@cKM!V1iQ%@F*&vvGTQTyrKfe${KwsXr@h0c=UXd`lBWrvG zCYQV))}&5>8*`%y(g)yCiiXV~+MulaUEdW-InB4htu9u!^Y5=^)fTU&!^ZOd$w7AA zItnMs19aUkv;iuZZ=>x^#s}dk<#oxu=N3^Q;1u;__6{?ZTp4x1oYO};md|uQ47(5S zcD+V{lZAXJYtvx-7%#ldK~hxry$5H1MGN~n6Qvy6af$$IHu$mc=N*FBQS4`hg&c;) zgR1OUuqSLN7mbX1Kf2#X$9pX_UG!2Lon@ysJGzg1 zG3cU)x<(gKW=1(7LTm7lD{iTtqzgZv=XC`24R6=AX+UG*z5qM)0+&bQuMeed~7 zs~CH#Cjfz;NV4TG_iIr_C9-o&#-x5z&Ek;OeRLB7TLL{@%jLM~k~Z>MNPd`9KX{XS ziV&t?{G~B!mg`T;1WCRE01C}dpsDfD;8dmMYL*45pWHm4b&A;9CvIR%SZ54^avKoH zdXSz}l_85nDj46Ta}EzhEs3H*v4;HHQ`+`D?0C7NoAvxU)te*0+H`y( zH(mZ?5#eB&Kvcq(^fpVn+19>?S0qfUvWp=Q)H10rl8Xm_t^0%(nd@Svv4H!ja&&q=-)Hg zFBGXHD$2+}y2m6Ydf*4nk;OerP+b_$A}=faCZ+LAo$=G+}+(ZxNC3?E)z7kySuvw4)6D0o{R2_ z-rY}^b?vHEtHYHPq|i}`QDIRbXIXf$s+^0O|ewYFpv*zJOpR@>K)|rZyJs z1%e0zBNQYfE~4fJd+LqsMcUW#Hli1QMzib?AKeyB0$Rr5K$rGcq8bv$3B{Av1MGIt z7~pm%eC3OXH%>>V#7vMP9-{Ug38eT=L*pOR-i`pKNr@s`VLd}9EL3f2TYa-tsHj_N zTV3XD7zRj31p(ooSwboueZPI>pj#Z<16=833_ZR%vyp zxQ`y#$_11nDt*z`TQyCuDuYu(B$rN5t1_){wvnU|3!o_sinG>FoHW!tXvOwNMO7&! zMn$1qCq!Vcw9s4TeAMxt!Ta+Ob_UouF@$Yw@A-oBT{?FTI2_Tr>NRL6q}J^IWv8NLhc`JzT=g->N-#RY#39uVaovMw}kL zV>|7j|3KgMqAft2@f225o)jEi3Y$9(*BEfLIYh}Dv6cj=C}_kz7_TnNb|U&JzPiYB z#eObvC6_xQ;B<5xz-)D{KSrHu8+Ri+c3`zr)xd(^CHrgmP&T<$deeS|Tac`A-fAKq z1|v%ez`bqxV00_+H=q<{XkR_pUI*(tMZMJLFk;pifOZ&w*3$bV2Mw#?bp}YZMQ^%N zOg@mnze^uH5_kG`m%J_MEK~Hi>8Lbnf&$yShoSQ-fPvUvL5;cK(2+_hh7Hu!-fnsO z7_>kkG8p{S=sYhc?G^Om^5xKHo`J~fTPj;@^13CgF)>frAlFWTDqP>MF(9p-=$ENa z3}L$dxtGPb#I_-WP7N_3h?EF0SsEJ`7R-i6$6B+wV^U*ZQK)bk)O1Y|;w-dq#6MRM zFa+h-6aUItr&%xYsW>m~2;o)b5HnX?tnM_uTXASC{S^dmG9)a_w4lUUW~r3^AV)?S z+?enkB99WU=*cV+6lVvSUYT3BSk=(uq6s3}lik{B##VC*evdVR4}2CO={3oY0uc7# znu3m$xQ#gpyJMbs+)OMEt{L7V{Hb`Dt z0~A%b`|U^ZnoLR%Mej^?0+<8tiZO6L+EvY7N8$fDXCZIyMH_if{K6j%p(a%Z=t*zK1@ zc;G@38*@~3kys3ZeCKsKoRmyBs~G`ubclvf+FU0Mc{myu9n1u9$}5R_}kSw)-)Z$&Z%bM{~!;!tzzH zBuuJdu^blL2ReRvC|i30BqY-#F0Q5=uD1N=^k&*L^j(UQ18>$X%Wa-n<0-9(hBG7) z6T5<;yWpTMy*7fViQ~mAkvz62D*QXYWD_d>O0UI`N|-z~@ajiXKJpPZ4b-Ya`ZrE7 z#h}a0jPp@4HkN5N57L{TAm${NoQg~s8{>YmmdTrJGmi=6<0x0g!5cs|Yidev#I)nT zL^egiv=Kc=ATX^KAfT#%CR2Tq_=Wy^!b18Ea7Stq=#FwProI8}!l=1KC60HxM-iZfe z$BK{oX9U5m?q^{6-;pGkM(`KhT>uI34RyWC*@CN*_%bNt};)R2(aIFlis06Sz#2huD@ zXc3xPw^9tCEintH06usyqOGm9sbvpg z6|T=7Jo1DnAUDy5ELO4};QqzzV3*Z%oE4mVYDC`PAH~Y(xB3EM%Jk9ycD#N%MY;PU zaI&W9&f&rMUovj*Lf+<|0wXk_R%{Sa+=-td3Q#Bj3;;*v1XM3qW44-Z{J{g=T3P9* z#yO?HwssEUe2R><$*eufRfYilYn@hK+z;i8R~eMMcE3Cw;2}WoV}nF?HovXFR~xSO zMRD{PAR=(6gHYtse`#mT%n!L^fNIK@5)&A7lUeG$qJf^DvnX;0?cSVcKbRkj6{SDpdd|j0Y70wjcUqL$kLrVADS1ErlWDRX zqK4oBMEzhyrY1Q8{Z6|MHho(nCl5qV#ntlp_|cv`-F>`{#qHM6GD2 z_GJ?m65E7R)QKF(Rz%?!`=NJn2!<(=eD1SwANi{9tIs4v@d}8VwU0YArc|z39Te`q z*#Ch~$2Xp5@wifeVm&`;VDnvRIHnk;bP;gJ_=$v(V21&@DIZ%okDk-vyADV95`j^$ z;9dLU@p+5R<+i_Q_y`_#Fo%q1qZyQo>3}a&{FB>_*hokaIJ>6+5s2{sUeYG(wd#T4q zvshACs#S%tmJYXZ*x(R`tPlYzW2`wMVTc0Xk*L?LMTPuWo%3#an%>jMG~>UY`2|eB zjL%t#JknX$MbH{#<_~=G2=Sm-zh;Mj)#b8terdlic-8pPsZonPm0~>{E6k9*>K58q zw(6u zB@0C1!u-v*DOrW!a5F}itYZEW1N`zvR3$PzVWJ-hk%mY9Vh_eM`2Vxjh5-YX(#uXt zPmdBs?!ypsU|^oG@MWTQ2%*6Sc$GydI3~nbr9LXnRf{Cvs2KfE%^We2E^;6flc5G> z+b)OGc*}{UTxz21V8e*0+G;@Gfo;RZL3p)l-zsYKTpo}|NT_0u8Q*^0)nP{}A)f)gXK zt>2??M5wnDVaBAS6jBc!{3r#$gbTzAvRKp)u~=+%lujOrW@DyF!o43IEJ6_3%YqN_ zg8o8rWAkl}iB~!pF>%yh8kdz`?urXcdH9d&j?_*|)neH-NpkIFTw{{?Lbitw&RgQd9Ph7aD*A?&&J=%_= z)&PnLeaaemTUjcz&B$PIc-q6s;8%?&DzdASX z)9(zl9iQQi?+=3XClY(UfsOmYp+3wbdDRKyqaUD?3HJA+J~q{h4yMw129J!uG$5VKg5WuFB`;+0Vat6_f&v?4?e*;u-!esCXN`eDZ?# z8CF?@AuwD6Z)7#XuYFI-lr_~v*xR6aJ-0%z-G=OhcnaAy|&6QoCivbYc zFgTS`{UM5kVj>@f`HMHJriuXTcItq|WyA15bBO(N$P$sa_Y~c)2*f;6Ca@d*`_W8p za+?hC({Lkh?@j#&NLpqSksytg*h&spRljW+{R{9`M29EHCQHQb6EFZ)VTy6Uh2&fb zTVIi5W$>RR%g><0xA&rggM#%wl8SdK$#`aztH*|d`r`e|B*Av8U;`{oceX5k1fw7S zTKtl+le|)p?>HW*POPqkY$A3eAl(MZMH9%iBVT)XPBF2&-Kg1Tb9UH2#DI_v<7At< zP#D+c@DYJoKoAZt+6(TuVZL_5q1yg)tfW*mwC z!tI`fpJcJ*4QI^DM4tS!PZ5|GzTVLMP)Vo$+j#4$eBWj0zCL7!L4Rc@z_BSsK5s1E z2ODxNl@l?oKN6KrA4G6&Pe!{Wf|o-?#1U;L2||WkmcI_4y4`t?-&0*liCKV_LOHqU z(9VMDw=aDKDlf}6daE6Vf*B`hmNTq9!`7~{QRf1Edbvcuf?m-{oMxf8iv`?2D5N%- zTe|w5XexK^MsmHair28DCS^kdguD5sY4e!Bu8{=Q9qHf{X)ABoGNedJg3tF(;L zn9DXZ5Nk4fB7!Us8EtWGGjOuLC3>_|N8eRBn8I^?DR=JtvXGJKrb;UD>FTffykm6d zL^4Xa`)p$awwj(S(&vbcQLc5XAM_~jJ89!vH;n3-H7~`L8om7juumF83i|wMQU*7D zH|>b=G35}fkZGGsn;&$&LSf+zc$jb8+aV&KLW<>p`IMz5clpnLtpjn%d;OHudEUU} zWqo|rjMi5&MPPy1`G&Nf{-3RmjKidf;x@kc0}nHa&;4pb8u$F@>!&2Bwk#Qprk8s0 z-3*+8_Hp7au??-5wcioSJb*TMroYVWeB9|rdo)&g3M@fqrQKz%{xDoXE+rE`IxZm6 zr%81DQluOk27^#KB6JB!35y~z-vfzI{o9R1VL6J3`N&~#egOizGvrOLS`z%h*$0Kn zmnK}`pYFCwzx2??K4cBt?^}eIJl<4YtQ3KaZXh_Z6dBXrQ^i#q`%{rTrffa9huvre zEl+Yjnc_-HGMns~&l73ugTn`ss0_(Gwdg1f6INC$5R*E=*R0==32{E*_TLbM(mL~q zVe~+{CD^S#bZX&b2~{;45c?zs7K;rCwwx(F-vOE%?&9ZW4+SWhOyVVzAbo9s{}V|f z>GvtJxO4??F2S&*e ztJhY$y-{=1`Iv6j$VUu}>2Sr++nP?1b;h6H3bsbT<=pkY%&MCEz#p`0G()6q8JXbBT*O}h8w=Td`DRwztq6#L7lq(?R4qy-NE4ZH z0G!my+W{Y+4UvC!0Vc=HW^d;uMeeRky{3yI`xKmhCH(@7veD6-Z4yP3(}gM#*0q@} z=B?l7L4D6K&9)K|*)J`(9rYZx?9=4hd`9evSh9iH?`#>yxep) zpajoMjnAtSYw}`6d%y298Z2yq$=7c`n!m>n*Fj3tda5M5LUp6ZH1zlP)v%@e{(h3= zsjdEH6q2V#K1VO4i#M4uZ1vJC2QYZywr05`S5S5B1J8)|suSAws1ufyRbM-z0hE^b zvLhf2v$mQVuKqu<^;Pt?yKb@l<_^s=eyOuejPIW49);u)kQ*jeVr68OcIut%Q{rXK zYW{nntG2sX0VhRpInDTd#VgWhsK)3%A92{agHW;zN&)dO5SeKfrV4EC*3HJY=C5z^p|K(b)+MKAB6vzWGtpH!F+^o#cz!Gx=k z%)^K2Z##rRq|4dp^g%7Q0XIN%+5@`3L-mlUQ&u=|WjhU1i+}{Ab|ZjWVA+{Q@#7Kf zJoz&z*;aNv3Ak#^=LD+Q8^3ud_cqH)^WsC=F^vxCN3WO8fDT2xl%A8s{aZ0h=e>LF zv6lW}*m~3Ns0CBybA>(&FBB}$4cIQ4s9YUvr7XQ=B!>EF!rj$YFQW~xT4F_ILQQ|q zjykG0lMMY8&CY+X6xe)GkS@Qq;UgK4@zq*-?K(e%o-iX;z=c{s{o;+$3}_a=e9Ah_ zF?^wF*Rwpqy<$P6L#LkfSv;^wqN+yM*#F$SlWAq(Fy{N%>`^J#p9$&i&WQ$Jm=!xq zkEBM4%M~+a{9D1erv0ZKKm>h9fjl)6{z&MFpyxEV^?1q$5vUlc4!7gXP^@>8NJ3ke z6vK%QW07v11xP@Hin;%`Kg|=hj8N2s*!w;wn}kk0gX!QWb!qzyf(=A|H@NE^qaoEl zf7Yfzhu;dD@1_vk;$wG2=uK0SF_zyR8YdrX*}X>dXN!7=EYWdr;O9|MC~WQLD!2|2$SAFKwuUAmDSokn0C$(WLWtEwvgVudXoKy zmz>ELy`Aeyi0~H|GKZ2F43KKGWS?A@;|ua&*OPhxac?Sj_IZr>}d(M@`5UmyCY~2t#1&H`fCfFL2RN zw1M|x@fRPXOWJFCtaJr9fZ#B4e-WKi4uH=#W_2pGWIQtZ5l0U(lG#0xpEZis>e%v& zwDqmz?uK3Pklc9BPEmVc^6FebIi&j`Y_kS*1bbkD+ExjYyXgt^f`^;QnVtzx|4#|z z2C0#vGE&uc1KKRGLJ6mA|Y)Y774* z#2OdgSlKWtRovulWy8Qfx;Edqu7Git-zwSNUp6RzB0W?WJ**~VPfNgI=&q>EUTK%) z+0B3r;4T>{HcGMx5~dl$gi+toKF)WvufjkfkcgBOcrdRC_(z<6tU{6$Y*ruZXT*57 z!1k^gOGcWAH_7QS^don;9|ho^eblN0it$x0M1(*=&ZWJDP>We=88Y^_HPSDuZ(W`Q ziQVW86}aWV_=)W02TOT-=^xq2e3rz+1f|juC+8jnpA{ZKLFc5!UD90DaZO9}>StLO zLYhcPk>8}=UxGdEFiw&Uqgcm-?_Rq;I5|Z(evij`PCh?cnuEu@As-R`K7o+6G7@5K z9N2?rwzm7+cQ;~i;Gq|wZ48p6U$gE)grVLH**j7n-6c0RaT1XHx3n~RC~umRsQPcP z-@eR9eq<<~)#;Yu++_#P6#VlEd+Tw?0m~y`pCjriCfypMX(HKN^I8E5VU_* zvPy=5Y8${hbjLvijw_k11A>qc=zR%jFHM}0O2$0DiR^m{$@5C2%kb`O9~S#CV-&Bv{bobUGKa z<^ReD7o9qnwEVye`Ys6NevNHlabZbe!{MFF7S$y|wu`^K+>zcw{itXjk11AyNJCB< zWXjDf<7=PpCg^c!^jPUFXGG{=%`)i~XbTy1?KZg{>SUmFgW?o`R8?JH{`=-T@W!~G!1M?5n6cW`udkv;c3F084#VJ~gXn<+du?`j5%e0S6nX9~@F->@CM}tT-P103o z*Bw%_Z<364daolEDEW@(AQ&E|Rdj>a$T|>7$y)2kL2NlfNagBrN1)Mx!6f7G$h5PnLmFq({3t6W&PU*S(l%TVowcKT zYdLkaD~y6qKDh(+Fn3~Ua0dJ7QKbFozah}iw5*Xcr;xX2Ns_Fei9>~mgMUkkTL9b= zwR^rSM0(cqw%u|h(Prq052=3wIn2}Sqm-deY)tBHI~_R135Q$w;gS5md~kjf+H zUfLqUCZ{*ai+*J)w*{$N<+|Az^Z^)iDVILNkR+)6IS z`}F)eS7?=an#x*ULm$F=_UlHsKw0=DDR!hM{A)hBJ{FLl71-Rqu(h++(t^>-DB(s-eGMy*5UNW!nfd%{K)-FJ}@ZOW=|UT@EWC zg^El!;BY`6a-rn9+YNrsf#b-w(~*BmiI9j&dlLl^2JPUr-gkrvm9T4jB-n@$k*u9SeovLILLqjsjKe zVlxn4r2uDew$^3YjoajlPEj%b*POFdWcao|NwWpU9&8 z?}_938xCN{`!fv(^nwRNhaVsA1{i1>SFDndteUQunhmK@;giTm=8A&(#y)xpdSC34 zwa%az&GWtiLOGc-VZI`~d(#z!p~fhIRYnvduKW?XygQYKCW1oc3s9eGGiO5RNH(mJFfP9hgogd?vh$Tz*sBsr&^f)IDqh{-082$NkBedI}!) z#2nCWcIuLi+25?;hl_}#Ex-Dm_FG>3VK`z%>M^643d9-v=zeO4^~LD0XMGkxAkvl3 z-=e_ZpVK&ypGCDf>&ZQi=p{elks@po@(?M zS)%goQ`@>=DMneDZ&I`zE;m7{ssW$)*SLHJGr{Q`C8Vc5tt8Gixy{}|+BNUy;DRgp zzZ|@FB3J&6a=Q!eO1NM&W$$y+p~LUne(#dy>J%EX_m4;+#t2`QHGNGfWH3FeQ(nnm zT(Ax~GjZ9QCp_=7O`Z~?^;XzjfNt#U=s`h-DuiR5p>JH7uUv{^EzMbxhxbVm_0$%9 zY)=0j&0OlOothvT${w-dg8_Y%n?r0$95l2trtPFCj;N;!dpUiTz&u(p_eKK~+v03o zdIr?SahI9I`d!?wBCn)tnb6-=kC3PpC~fh+MyRk~S2>8M1U4iw5qud&Yi0hkchrO? z{d&@@t9pBMys3JiSAbx?Lv8MFH} z?B>>#hWU|k=>tR)$+oWM>L8Ban1|Ipy6z$<@0*k6$B(t`&;7&#+sVZUol=K!DSaBhAscqfCR$)NvuWLD2kv4Sd^5Z1?4uMj z)P#@>vUxvCH2iyRS9A2*Ajw>7s{-t-)m!etF&>*+gn zUKdSx(7)mldLo65dPB1RGcYP^u>>|oy6~{@pO?$>8jJN2gK-^@+Exy?uWUJ|fzQ|C z1d8%e()JF;a6IQJI|jk(@uSfqP#E(y*Os69p4QZxfY`R5Zkk^{Oxh~KK zY{-|=uoYkK>|^qc_TWP)MCtBk`Vx@~#lV)q%{n}~R^L7HSeUA9+{f^zgl9OQafns= z+OADO;@bXk@{#0uz2H|KCl_z%4<;Qh;CEQ_H#e9iAySkmNyZ$9)s(FCAt7uzVM+9!kQKklUqQ z-KN`{$UVB3{(;04%R-zRQ^Sdd8ewE(o2$H8fuV=Qcs{a|BZn|GqdP+8}i>#pNm ztZ5t6Vsn!Z8iyaccWagB{tx9bv!$T#%ub8@VGe8zL(n|m)Z@A5c;!A3yFuw8nTK6q zQ|3|rcf9ps4GeHwJo|UYg(*s-vS|iJ8wv@YpwHNEd}&b<6k5Ryf(!~X>vH+(@g`cN zjt4q8)$wJfjQO(xiISe~(u-a6?X{~NH+!(&A+I_Tq{2_(LKHlr>4x29U+@{2NbI!es>x2l91`p zJ0+vz0K-)*){8xj1DJo3FpBo6&-h;OAk^MzI3sm+^YPPUw3R$b2oU5J%Mx&}Nt>fB z0H^t*rbfDQ_DbZF23`oI1|aH#Cn}sj|30z^=XK6C>QHlTr zhq`kwxBNVN*rzG+LtF8Q~-ujOBdA>4AhjzK1IOg6d#FMMSy=Re{BGaD+sn)W{SJ{-0sTs zf#2MZ$je^8Jn&MINd_(N`jS?Ecp#W9>iw>eyeq~2kj868{Mz3*yzt|fv1%c-GL%gG z0e|JrEwY=Aer~Gp7qDQx3rRSe%kl?zsxkh@sb^K_S`=Sik3*@?S@)_g2~Lni^tF~g zdghJ<1K1TLSb0NB=1gxwa|r=4IK(STIO#C4O_PN5F_F_oYo6UNuEj8tV+E{09t!ib z;|YS+wB{W-PG}G_@MR0Us8X5@yO$_M0W8+()2;p5BHXS-uxDUn8h&ohm+PsID*8`8 z2Ujoo$S3f9I39Yuluy6SysVFgNlf{dx|UUQ*$u=r&%g|GMlQX*%c)*phr>p(B%%ri z(*@K)U8IszRMgA=YD?N(iS0u-+3w`HynHHt%5p?VzqIcC!A~_Y$l`DCCXEMoQVZTk z4MbW*Xnb;Jgbd50}E? z>0%b$+1Unh>2tm)>v5eQL{5;Je;{!$>a8&$i6UOPo z2O~TiN7A^lVq(D{U#&wZXKJj^(D(!l$lX#_AfSrgKYP{aU+H33k^GpQJgHJe;@vpg z00!;2bLX8c?l#9?Tx9U&+|R&Hmb`6JOeup{C(}-Km)bxIVY-nXh9&Y)#7$03Su{?Y zosZ;jD-Z^yA%z`}E>G4Q(-|>sae4d5Hzr<$3sX`Y8|&=lDRrmvV+NfY3?mEARSP1T z9w)m)YqHFTN-9a14+-qO53HJ`ub&q%9;LCx@@jKwp zTPf0N(=ix_poajr`a$XwZvvh~P_5gl3H`P_YD#h9=UjNkeHC_q!3^5ic8})o23Gsw za)r5D(GGk?YC_zDfG`EemYx2U9Tcj#|J$Bs%Q%}PDXht-ny>JARmH= z6s8W_J4a6ou=A;m>`7VVJ!ujF6tBBa@9WOeqcK-QG8OxwrC@AS2rE8c?AblrK?k{W z!KFsO(xd#-F+)$uUrtywuAUDpT`s>qlRAUm_y3YeDlL>=pI&DF=&4gahWyi5n)=1i zvB=z7G}$PE-A8V?Vr*$LSWoTvpla)&Vai^RuSA&z@fbljk=t)_LRl(T&g_>LNQwEf z1IU<4L$TG9(!hzYeK?exHVN11olqEx@m6N*r`DH-&2B2_N(}FJK^{XH_dd*;3vG=n z1bt=QzGI^i{~@3kGb9D@ry(g+GM~I^VeV=cTWFA!o6~30mM?-(5k6Ir_1mPbzMA9Q zl7ZTTs9lL|3iP~g!s{21#zfV)(E@rGSd#MdW|NlK zAar_{ZhoE5qbe{h+ZEY_O5=&!?d2H)^37&9b^%2{N6c>;e&~59>ZY7<{poe*LM=Xb zq*9c3-Frbq3gioHifs;3GKXwuro5?^#XF|YLud-cxfd_halPVJlT@i-2zm30JnmT< z_Megz0C_|6mmw1{YDKmZ@-}~SvxH#H^5XN8;nF?CbhfK7w=H`K?~PntGeLx$eW{p&_H4fSqlHnC)K4ztK6B|L0-yrKVS{rTeur<3!Ge2z3p-zo(3 zHxM-jd=tbEJ-0ZhmPXh1Y?3WpOSmr4rj|_TV9Y05{()GWBuW5{#(^7n$}2?~K@k{v zQn>vlO?@S$V$3a>OqfhD_54TcXz{D0%^k%@Xb#o^CB919jcYF$pvWFA!zoBo46c&HuljEiYb!g|I|#7R&kn$~?6sg3Ll)6c{ZlciSK0h9 z7;m{=^TC2@ksDZF8i@gb`A8ovgWzbJq-nrr&-!gEL3BK9Km{!)SwF%(Kc9P|t^TCY ziPr(Cn~`XszT3~Xu>w!zcZ~@q>jxswfv)nMwq0Q^uMNJ1G!=#D9VmsP3;{tnuC*@) zWDUnJO_)?lW(6o5vhkY%=TsjXqtwUJoItfQXFNdK!GZOVHMj@rkNkKA*f~-85OAn4 zL!;S^@!a;NkQm;juQyL(deY1H$FED;Yj1M;cd-X*Yy|n32MJMMYu`f77RCC17EW9? zmM=m+2NH(XGBVN8kxBm68N^^aS~2J%gPIp5+LI$|dDi+}QoWeK zbOF6$A~wuB{^|UBU`UK5FjQp(H*AtecVF0fU{G7Fmird+CBDRG!)I4e3QMXFpGwU! zOt5_8{h)^hY|_V~Y1DVWv3E(LcCSwi;mGEOYrv*pVN}PRR-8d`_6lZJN1w0u=-Zf{ zu14GE_9vRgpyuR3$f0{B;oB7NvnPHPH#pg~uCDKGfKt$LJULG0r_t<=OO?765~FX+ zQhj!<^^B&w#t4+B%6K`|%q3*IT$1K~>jeP$1Oh^QGgq6?h+yx?kj!OUzn6HWo+>F< zDftw}3O^1(oO+A;CiT?uFam#K5y7)Qwo+8pO25HwkVaEuh4z?icOBIavG(_IW!0OL zB8e2^g+wVfyE*5NCqf+SI)RMaw0$F~4kgO>+eq z9}3jD(0)&ksb*4t5ZT~~qPA-%qa*Jnmoe_YLP<@^ts}A)QW>$7QqNhs%vt460NcFr zm!KmIQt`L>taYhvmR`$E3@X+w_6-{|Nz7?2IFK(|`uVynxFNYIM*>Kn#8|j7Pjx4m z5^g0}>B#!^GzqflWBgJ9PCv$SF$HxP`{Z~s_eKk$7u!!M3L2y(`@RU8T9jWUGh{+3 z83$rXVOg;KOddOo&rxk9$&ftpcV$l<^Q)*R+}jRP8CzM8z&bq<@5Ev}0XS=3;0FV| z4#+bc4AN?p;oPaE&AWpDL_{wvYF6;>77|`qufLVw8 z!CB|ATN9$Y>lIyG@EMdYYeMWd82qWorZu97Q^k)g)%xM%!U;9S?x%f z=m)PSrh|o0gUR}ObFY!(Ke@hUQ;?e97_irvgc@Kh0Qe9L z=g&`=K#e7g@Y4zOl1Ss1GAMz804L82M50GQ>izjUE)d(`vahcg3evHCiK6btwgbHP zHKcF}iJO2@Yy*1%;2C(Pab%najuiGQ!u#8ScfMA06kVIz2%0+6iSO?I7i^o8w}lfW zB4#`V!At$-@Ph~L2FqXyA`SF#@u2JB;R*KplS|2V2p&w&=C?;^m-LH;UbG@{`^LaX zb*m!$i~=iRGfnQ7&D!ntV;M|fEINVu%MpH3>;bcRl+C%_;Faz z&;Q+S6=MQueV_*63(P$343FA}HN$uB+$1D?qa+~=4Xt}LK(CA#w7e=9|DO=EC*Rp5 zg>he_S9Qna2K;?AlAd0aSy{4!7V5+TgctaM?Fh^W(&DUVS1NcJfA-GyWJ&*;22YN( z4Nvx@dQ8T56(=>rJ!kYee+M~(Xq+&MU1QZz&2RdY)i?tu%O~AmSpT#YuzVhR4etPu z`6P44vL~?hRLGHigZD(Mz%kp{G(5s5DD9_%Er_V^HJ>rd51W+!}(8|;)D4>Y=4af%opzdrT!Y_ZY z(yy}IIO`Xv-`PI0dDPXnA~%o<{&5p>Sf)*M2&~+F1dd0)AkUl9#q!cGnwctY>Hx`X zWMzZ`-7t15eTKeL9MaE^)MaS-v4Je2H?`~flcDP;6AENK3&mraUI!7@6KdH zd?#2ps*9(LtxD?<+b+)nYD6`Z_3hpIpHEBIsvP^tw9~8P-lX2E&j&{Gx+q>Yb(1Ef z7{TRd8Ou|w7s<2#k@>M@x`wsUVA~FYp%lu0YNn~pXCC<@E)rXue)u=VuHWSgV&-Gg zks|dYZ_)Oag(qs=#d(m~fp%zWeMB1gR#&NHrh<3)OD&!wXv9Hhp(WU1RFe82iCy~Z zrZ9?yh=st3JdND_-CK6i3$im8;xFV>QC|XyAl>u;iXhu}e$-PKPKgMHn0rBI!I_~< zk`IOeLqXDf;DzV2tQ{y+#}4F2U=azDSfUzc&qIR~*O3&?wQ?l((0fu^7a_DpJV2g= z_jLCaAug1>UFwfO+I^tR*Vb>n1?gY<=QY zTvM!A^-W%ZEjOVzLJvfk1~yt?%BZ$3Lfo*QC6=&vCJw5EGvw1`+)5}S?aGMYES7x# zaonoD}FT1YaCd8^yjw*u8;>)uQjmVS!H+=s=CB4Vb`)earKao7I{;nHYs z+S`GX0~sF?I>JMyQBsq0As1Jdf;}7ZQ9gJPk~UWSkB?B7o!V1y(g^ud3x&(ZzcUXR z(dO=bxigv*p@G+#M_dpg$B1!BXNs$y57vN+=Gbt5oGw#(hLHJT&;?aY{&hoQRAYKSo%Y3P$U09h#!)t4kmmzHJbUYSzmc&*Dtz&Yzh)RXEs4MN4%2P}4ya*%U{_O+YR&MU2RlFU z{B!2A!w^H!|M%1?!$7-+x%MbGeEh;C)oly#3p@zAYw5qd#3gTs^cU2?K)|ZGWFa_L zK}lF1ylbtf#Rn{b2SyE7AKpf>FA(0R7j!`vy~RA0R{WdiaH^)HA;cNWoHJtwa(SWM z?la~8*~^a)uwmnt`ynd2Kl*)~A>-=iCYSs@G%pB0Kh~~pyVBN(hR$H-&~8`YHG|p! z8TMi30l62hL89Sh5hE)%i5WFCuPUnOl*4ffQ0;fH&3`N4GltFJCya{rFsW(1petD% zNSKTNds*TToYZ(TxOXh)Lfh<%>8FX>!LmE-`L38Bg>Z48Sn6x^=9FVEyc!)lieKFHilSA`-yue#3mx8#73HJS9ebIBIsQc|9rgyyWr-VGUuh{cTBn^!q z5WR%n!gw=PKp2J;TE8iMvu9GDv%CrGxu@w6x+$7W$2k`*dnbJ_{P&5&tF;pi<~aUl z(aBCgInXVZ4~W`0H=%cr2&(fDx@ng$>aKdw>~^|{!)vLneR}-bSHiCw-2%;xC<;aw*jKCK?FwIYRY30!QbsTiLUG1}o&Z(?=&7aeY7`yb*Moq=`W<}B)(8^?2! zkItJq7A%(ZCIcsv1!^+-;R`Mu~{gp_>R1g8A_aueL?2ee!Dy%uK6K&a{+@q1y`UIiQR0*Ot%%67U} z0XaVjgbB)8*Y>;dB?M(;t&y#y$hX%V|MzO%Kd&ajOM*&TtwbqFt$2bECk+znV+p^& shws*!2l0Pq^vQ3l)pgjoupi!%kZ^aaIK!OZ|Ide!kx&q?5;X|;e{+W*Qvd(} literal 0 HcmV?d00001 diff --git a/public/img/eggs/onehouronelife-one-hour-one-life.jpeg b/public/img/eggs/onehouronelife-one-hour-one-life.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3042fdce523314ef25655b26a61ffc32c5cda5e3 GIT binary patch literal 11275 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 literal 0 HcmV?d00001 diff --git a/public/img/eggs/plains-of-pain-plains-of-pain.jpeg b/public/img/eggs/plains-of-pain-plains-of-pain.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0035286572e03b4e12d0cb893f0e5fc0519667d9 GIT binary patch literal 668 zcmV;N0%QIE*#F=F5K2Z#MgRc;0stidB>({b+WDH$IvFfAxBB`7H<|G)qX2ml}e zAOQgp0RO}Q82|tR0|5X40000000000000FC0s{mF|HJ?)5C8!K0|WsB0|fv800000 z009C61O)~W00$Bw6EQ)N6(VsmQDI_%|Jncu0RaF2KLF^gyE@%A?K#xY>BVkFZ<^N` z3Q~^|oRXf-N6v%Q>w9TUsl5uL5*w0Yx}>WROMxpnRg)SR@jS_gz|8s^icqL+yBGUf`BLVz88r@R6P_s*J-Zq!{{OH`lQ z=f#NYa++;H2gsBYpKJrtzDIc0O5LK1r)sG&&=%!N1XkRPwWo@dpnw#Ne__|;1ErSF zZfa~4OQcq!zV$iRe5hME=GyQ9=#U5?4}5|Tu5~@%+<||l9U_kr<|(Z@9$SxNn~K3m z=n?<`p0Y_N+Zt(GwySoA*VRzALg&efAA$Z@4fKqw&z$RM9>0jk^EX+EhUY}xUeep|{?k|u;DOYEqG=d6%V^Zx5aI@a5o zT}l+@r$+NMzbhfh;H0S_9OFIXApB_U<#te=wQ9ra@Kg+E00H#!D&njFG7fS&8vofG CiVdFt literal 0 HcmV?d00001 diff --git a/public/img/eggs/prometheus-prometheus.png b/public/img/eggs/prometheus-prometheus.png new file mode 100644 index 0000000000000000000000000000000000000000..1420c01dc54fff5355e464b1d095f3d26db6b5ed GIT binary patch literal 15974 zcmV-sKAFLZP)$l_5XKwwQ46_(N+6wpSyi-7#oA>oe)YWKS}@t0YdrH0t7-Jfh0gkNPy5G5PAz> zFobG@!C)}1U>g_Qz`dTYt4q88_x60|`bnp9yVCAQqt(t%dGGDKd2Mzis^(!*z@$Lh zDImf;bU^_%9D-6;gYf3{2z<8)zS%R-IOAuPZ zI|;jPI*%CmPGZoP;Gh2mBHK2>WXkkB|CYUoEicU9$)kYcYeaD65^aE2-*Y3jpEm(p zkI%)<3r3;#Pv@ZV**_uh>8prrTmdLih`IeBdPYFZ9|SS49|U(9gq&gsj(iAqck5)! zfgn2|@VV8!JO~a?Q$4EB?TFkSCubqx_aeM{A^aacOALAos{eQzcAPszWBMJxJ{r{z z-j2qP-bCof)!<12=8-ZAn2eVs(nf2m;a~VAYM;CZJAQp6ww=-!RaYN`h9_=D;LB-H zeE~Ev)?f&(Jq*Q+W3d848Xg1pAxaRaKaF7>`4HWGn_!}Ibk}ACK7I-H4_t#?m+VXM zS77J$XQ1wt#}Qoi4R|7fc_fVjX?WsEgH=}zu|!~rR`>ja*m1>i*nakKRNs0ESnZ4M z-UczZf}|HQnbQNo>I7)e>k5IEzzE_`44G31v4G(&Lga_<;C=b;sJiY5Z2!L@*mc8M zXn6BEgx9Yz)zg;r>%nia2X(Tx3QINLoSE2t_iwQMmzAix=1_QFzaP;Z8zH*-fF+1v z&m{pS8=pqa%t-i%c@?C>79qU$TQod%D|TKo9y>0Wh}y^hir|XHrdryAr)@G`H$-C< z%fDbYcK_uH?3gkJHGet{!MX1Nf)m<+q=6}j8Ng`h=3qvY?GRWZ<`0G%h{E^&e`xYK z4BMxSN6o{3MrhS{rX=i!jLo-A#%rcT%d@H=wC;PkW9Ov@q4xeuwb`28`+_}B-%b&NU2h*&yG06vh!nmEFQ1F*TYiC^ zR~(^*Rif2ZdIPuD;K^RbV|8-Pa_qkAD(t%KF!eeab7&scic^`sp6~SRjw^VU~ zCIx9igJOm6okvNHKMXbZ{SM&`Yg5&w?%T~C#v_IcESZO0H~k-~Za5C1<@3oyM}cf> z4oJkoFozO_8f=8>uZ0>38U}0)P__k~MG#~c{GYyts%wu=Ap>eX>h>!u7%#MT1$N(Y z8QB}BBfR>%rg)p|(CtI%5HOlJRDU&KwZL)wuaJAyy|9iw$au^LI#>;*FbpJ{w&t|z zx}Q@_@J`LPrn_13$!Nx7r%BEIH>2u$3I{Cs1cE)EW?O?X91TNN2@`{b;QaYTD1P)~ z6kPo$AnZqE-Es($fn$iwfDR8JSmAs32~^#93L0L266{?@h94Qpc>Lh%UwM>N%9G&# zwLaXLMsow@8;)J#bJr`cw&Ffhk z{&Op;es?N-vp>q{V0>mV9;su2g|o5yk7uLtIg$#YDENUIb#Sr`Cl>aH`~2S_=lCZ^eGuKT9W{4dK<2^4U|cf_$34ho4CAp{S$*G4sQ&YXh-}&b zfgT{}LGHm*pQo;%A}5NNQvla#7bEAGQ(KjcZd{J&mQ}=u239j$VbuCUu-G8FN)h_@ zD^&k+3Rrt#Ev9uTV_%8J1|OO_;+^p(cHeS30-wA9!Ri1%I78z_l3R@g;5_a$l5}Uc zLWS3kDs`k{h8kMsXX1rmbCCx(plL7Fe>oq4r3*3!O+zytOSzi+Zb01w*FkCUQh1;Y zBnDvgLk-r!e&Dfi9D5D~+1d&n#pi_*Q~=4@DnDZ{NNZv3CA@AGYW{K&>YlwfBb+bB zWIU1xzArvP_3h^%FzYo4M^5c-WO#O3s9@}%Z|GE}|*&k${1EnoD@GNb~ zfjpoRmOlO4-feenDIWx>Pd}R6L+$RRGeb{(2^4e(1T?<-Pt-mB2SloNK+lIR8PEUq zr>K48rY3tXr$o>6OA2giGz?3{NLU7qjj26L-vO|c5M3z99#e&EDa2k+hX?){uV}H| z(7Nw+i@EL?&-?K-)cyN*M7ONZSbGj_4`#gb{;&)f()Lb=*HXTxN!27NNn)?VGFh9s z$LQ>{lXHoyu9ppsW2`ylnEu$ymgQXx3mSS?6#E7#za(~Ff z_XSJK7_0QW7(E-KF}UC?L3q^?Qaf(}YfwE$J~cJP)HEAktNf=K4gY-%4KLkG0Z~7i z^!51KFl=cW)Pk!NqGtfwE)VMpCwb6t$mJyfg&?{rm*_o?EeZ}dg>XDD9P`-=5Z%0v zyyAZauXIY37RjvN>x{?CpBi3%5RLzR7*JFS&&kQePxo!9Y7}Bge~6_6V zq4BLJ0WyrW#872ZQWT2I7?=zaGiB61?+7IFaHLD zWXy05n=MMscG9T+3Gei&aZ))o#e0qMnwaikc&9y050s>wD5VBNy|+rLrkLY`=*o>7 zQtObB6oM!R!VPiP?Xtq2cL8%wJP(cojv$HgJ=xtG0ioB13lcp9ivvn+6&gsh(u3sd z6-sJM_uoh1ef#O`m2}M`iBwHNmeJYT%;sVpow<%Y>|jX!#*wxe?x;wQ^3+g097p^N zImex;#lxbtjR0?3-=o&_Q;B^CO7#{ry!tPAKY6=X0Ta{SJI(Ok|2+pz+6@x+D;vSGvd*V<1>bRi#NSp(aViluCxezW)i3 zD~Oq?F{Ne~sc5^2@zOq2sQ1)-1lfV;mbGYn?IHN*ewLa}x@k47)MUf9aq7RJdh2M0 z&x{$g8~Vm}TP9kxdDA?$icO`g;|_*AdcTCdj%r{x?2{(Jap>_)4b!($zZ+^}Ed(L6 zY;a!R8Cky+jZ+`$l^}cC7|%C*IvS@vMMnB|u&zzd)Oa73&=EgW?=GkzZ*tuDD%oa& zN)u7f2e#&9>ED;s&7M11SOc*PI}p}=e-3^FqWR&d0WUZ;UuV);pg3Q6*&KM^_!mMy ztV%0tX<aJ_C{e`zKNK=q%VK9Yf6L14unfvgfMy0{;vwXeAh=*Ayl+0BIg-+aBR%odcEx{8 z;eG2N@XW$9Olo^eUF-bfWn|q#gjdf6OBl~Bk0AHr+W?yb9P>(~XI`-)Sgjp25qp+3 z0Vj(#sSKJ3dF;`xq@C6~#Tmg#yU5Hh!C3_VtPhC!9!uLRMJZ*xXl*r^>4I}-fM=FW zcx=(C9oo#u%;GxzVz|${j&RHCxjR1^hG3H^NbO9BJerebz$nrvTp(cLYl}RY)?tHT z8?#^gdZbW3bb?}L}%|D2ePW|S25 zlHO(|JEGOqU>AFH$2rHJ-L&_mqQ*bqxe{Se_LUy#cAq-Ij23dO`3 zuMK4U%DsR3GYEh81=%j7LbbVX_{(qzYPh{B=a_sX91|u0alEFZDiN{|-4JPDCyOp} zl6JCU55G)Z*TM%V{SaS<$i2XtCWDky}MOCHx~_l(?W?Bg_5000mGNklZ&8u*qmsmu*lWS#;+?%y}h zdm;Q^lCx#zw4`E_6vp$-dJq1uX8~4MQi0Q7V+sVP6N002JT2tmwDcQ6j-@=HD+xjO z#N0llW|I4#ZHgo#D-GNS5(U)N&bE4w1Rxa`$GDH@Kv>H904aFWJ;`V%zd4HUDfK%M znDb#$|Dh;h#^WVnf%zXm+4)1ps+fD9W{ftOJbVHyL&idlc5Y*_^bkw>K`N`*+k7&A z$U`b2R}4a@>ZTyWQdrhu(7Y`ia(M+TB}LR$cG-E&bl^7`Lf_6r;Io&LrgA34c)UB9 z|I^nHocC$d4BrfCrk=^cAh{io$kW#qiWc%LTFOdELUb`u$ulYyl|U-#+f`FNz9*Bq zX(=UUA(-1WLiU|hItXIfuy(gP%3#~oGGIK|CIr>(s7$8k364Sp7A_!<{YObbH6h01 zmk9myza%dv8Rscbmy&{EvKk@PkR1%{Xb_#9tD4*$tD6$3ocz1fM1gB5&ke~_+-Z?S zZ&(IThBUCfcT*+%PAV%WZ|1<5yO4*E14~gg8j872MinHLGrDsvSi55_FHzij%y|3< zk-_=zBKqSu5G=Mt;pnycv3AU=p;S5$QlB9)Rj~}3KsMGmGV?lDH^n?px6(7F&N?Y% zDJR>k5803;U0W3)m02POk>nwX*y={-7re4XE-xi@Gxp_ZowsJpJAy5b9EhJIF#GMU z?e`ea>oMc`zj%*;m`jd^!Wg>AfFd+_Eo|$=xXn7p#w?|M0jk#)dzBm>Qr}8g`p5QP z32p1gdMy=}K+4Z07y_-UkoqYVkhJYiDz~U5$X3K0A8b)CqkghhCrAi6XYZEiZ!^B*rCy8xQk)&#? zx}-7-Ii(N_27sBV)xB;mtfTgYbtu_|N!nPco9=XZo3*>}@-Gma`*uQ(miQTu9$awF z`v@-j9D>!UOX4IQD8gB==8_|15J?bEOwCILp3cjL8^}voKsMHZnA%FDkW@4XqK7=E zdz>PyGKDi7WVf~ypyL&sS=gNi!}5Lmnzfdn>6iktBQ-z`GmyZJ;# z6%;=}HXJI21uTO`K_0eG?C6qOA{JIa%qJU*7Foj~LJplmNQJ~aEy~6E(>CES*v9S$HPnU2HrB>;Uam9ncsW^g^HK!A`Jl&dFvP`p z96kswcpu?qUy_>Q=nSsR%a8aVl@^nPicd;NMdc7FR>o4MnJCRnY#9;<6E|1x!I@P} zF_-K-VmPfjIab63)`x0N7Mg%GZHFcit<5a_66}QtE+OWlP+CvWkBjkwOXnlFd>LTL z5*4!rMJ;9h!P_ge$m;fIyFt%2h>0!beJQv-l&?~rczK)1+r#fsHKB$f<>f&tDC}|H zwn<0By3c{gW~m1XFDTU;5M1^JBHK2_O-nJ>8oVAexZpj6SIh<*n6cI~dO7w$T82)7 zJmSE(QE5Nu74iamAom*qDGpbD+#R>5AUbj&*eT9Ro>VQH)aFF@c(D#10o%BPAmn(m z+ScRnLTK?q1m?}uNE^>r%#0UYwh*D!YXOR7#M6P{%aR9A9xwp%&{1)tBIdZsjM&z&H<$hI2__UOesWJHG(g3Yp*@pvy3xqmsiy!5yp%qZds1-vd_SqIL88`*j=IEqFD$n{hDU&%wGuI zk`|gHWY}nOhD>Og9rtg+;esGWU>`pL_5+TJyM8h%2qc*}vAWA1PBDp$C)n(;?SE>V zn>-~0E1k7Lc64a{CWO9U5))uuG9Je#!t1|-8mt429`x)mXsuuax&8aXI%H%*2nezb zmde9mop?e*k~0w?nCS$Eog|(QB6&F3)0s$nZR^^`On`0pkgS$^yqYDlY7W9nKLI-< z+tR4*b(f46T)qh5HEX~+Y}<+%eNA3EsZS*=gZ6_!GkT)9Iu1MvoDyxPr}af=4n$UY zd6l2do)nx~!Xn64SPvknx6d(IZR^46MtJKE#PYsgr;Mlg8WCCj6{1_d14xH$N$5=f zt?f5Clx(t*;}b^J&Kunx@-y(@Ot`TgHo!KWV7C#&6+p13=EYlE3D0|slCiF~o=k5eLTBwClH zwjf&|a9lAbH__%gtj`mRb^I}86Hm@wsV9gOTB#<9x1!t7LZ^%uUb%oI-eL%n+##Ve zHIp3>QpG;7458Q^5i%3-Y*IC?B=JbibdYy5MMzmI$HO{w5MuXmrU;PUY?i`D;SC$e zL|fh^6df`i|NlW`^Q!E0s)U2!-MQo;m0c3fNH~)74R(%+3=4xo-uf0U3j*K+X@yGC5eB z5bVyB;$#nJE)er=-$ss>&fi)PJ3=75>T5*SE&#hoJG!5#d8}qy z2JHjO(1{s`q9D5=xQjJ)GnL56eFs1;Cv{Vx8LW#LKb0`_dfT!M;dQG?>MiXQly;2A zvAgJw?I1TCvhH9tvmXtdf#jXbFyuu~Ii%7-;Ps=aMoq4q40-rO@LJbY_oc`7Sztvs zEk$JgLUg8Xwqv~T`ZWk|CN-0|R*y)f6efO2w6v`C3$H2dFnx^+?gEJU#XuTDL-L>z zu=MYr)u9E*PDHkCCzI`m4j*zm#*6&07?BOjz+Bs5jSS6XHB<9u4$eF^lOGws4KEe< zfj|LtzD{N0mwYY7WFt$CPG|g7_OFY!Eu?O4-bA5=wH<=fit#jW=JpLVQw2IKoY9#P z@@AIzgFIkJMxrV0*}zs1TRrlW;c6K?4wiwV(Q?0;ly#=VhFNe$H?2f;L&tVrtEUjz zx)G6GRe&Y6o-ZBJi6$E#EG0$Yjc9cVUxGl1c^*iGr2u<46KpG%>P$yVDfLGaS}f%= zvJ9Cn;jKTC%Gut#DYis7^20Jj*RMjh1bw;M{kRkyVt*Sv}`<8Yk_c9)DW)$7N3Q8?;r?5A>U4=}{P?ZRz z@_~^056wjMG@JyIbe7^WNCnAx`&?_Zi!Zh%#k~F$H!RFrJC6lebkkb$nXGI_sl6N) z*}fUk-8EouOuJH{!DZc;`IUuqL=Tze=kxeOiNaB%3k?Ov5+dhRASfH_BYYC&+ zd=c3|9+*w5A!Oke4`O~lh$TZZ*1l_g#_2wb`5uVwTp$`vch~yqPn1cM+>L0}_Es=y zjK^Y7soe7@%^T_KhBBX8!QUVD zAzEKc!tJMxe>KKasx~58y_sevDV@(mH+^x;iIZ*s${;`lR{>3IG^wd-24NK^Dxw9^ z-BpOTaIlEHsgY8*4G1;F*;>+y_g+I}-|?okV%~t>gCWCv7Hs5PvD%?R$#6_NM~@=~ z%C5~&c5c{PNL1=-pfm=NosJb1qPqZsJ3Xs8_EJ5Ieh9MF4AZcK#a|5;aLs#eiqRU1 zF%a`1O>6k{H0HEf*lL3|E9(ic41z^q`pV>7QIrhAs%NMu-bQfZ+M-fNoY+8Wrj(72 z6$PT*0p5j+iD9M`P=F_NPAO>GP)&+56yh`HH-=kOswu`$vkL+=KMS(%5ClS*6P?UY z@+m+bJ#gw-%b8P)7%$q;h$w59gq5h&664kF1hfH&>^pci=9GPyrx9aTGdZQPOTBd^ ziclz|uvg-#-d#Yb9uTrr;we$^`*<*q6jFf47N-<;q4TB%(kRu2TB!Ba;6qfSDv*sU zRy6EIsF4VoJx!ctrX*8<7f5qTa?WyKrGYLg0SYAukB>xu$A zzBqMNCTs4IgGCL5q4<3e)d<-*Vs&j2%tnr;t}_O2A{E@PcpQ!8j0HhKgzB#*iMIm$&$zKvG0SvJfzYxq5MDJG zJehS|B8zhc0ia|EiH9^Df;E?<-Vy{CnNqK(BoD16Y4_s~FoWh@Q&1EvGGHzcZlV%N z|LFFW2rZw5XmwRnp7|XY1%iuaA++>sQ`&VzHANx1SRlw&3Ma_=U(TZ{VNwJ6^^$6+ zAsM7s^{(=SBPpPxXVHMg0B$x>I0ZZY!nDAU4X#Sxl~vM5|MVz zOctnz+PJIfnfj|>=|2L_ldnMD@18=*(~Hsfe_K)d)W;~e`gY_TemsOo1EM>B1Zd)f zUJt@ekVLR~CxY}%k{{6RL4;JQ)*`Zg5ft90f&mpoNQEVE?0*>Y&c7PP|9A;~rmjKB zbKfENhDTsO@@xpM9C~O!qDNAZ+Gmy4zu+?(ObfV2Gj%}$elEe;uOqzVGYGPyi;`__ z(LiKvg|!xbPD=GE@V+FLfn(r2%E(mQ6PQ4znk9 zJ$X`PTXU8^&uWw=CRv*_M4`pZp-*T5L6Q+!^)13H<|Cd%%J;y&?}5lY=W-O^`zrcO zqlelo6%Rjyq@o*2{bulN%d@UZ#(GOzQE(Q~fcgsl&)$xw+pH=ZT(KDbFW-eyv$eIF zr$lL@^J$ZuQcFys`d}S(Aac&RSu+tzUt6y|kK+4Y)3g@nZZLgISB<>YGyo|C1^HEI}q`7sHuMS6x?2xki$bDwR*2qyzw5Ait|wR z#yS-K{axgodo$#b`vXxgSmn`}G1v&Tu?oJKZ^Hler}03X6=kEf)$mV$2BAeW0DeZk zYG@M~O=dz~0qjTpQd9j)XtFDNeHDuS_8ju2T&bA|mXf}4GZ{KK!W-6tm-<0=cW_sK zS^Pg8S`uxS|5pVbw=- z+>AaHk?)tG@ui2svwIJ^%g8D$X}quB2k*3pA>d%uMPkN~!L}>ABgqF>RAy&z-#Ip!sT8M(3M7tVJ1x=FMCOKK6Tb3iTdd^QymgM%J zwZ=qYm4{WIX2(t6kAFnLpC5x%T#A;es8%6MzxdBL>_<&O+5dKvm-%}X-u8&*b+(V& zA3T|*gDf2G39Va9F+8%tN#drX&xHCQsVq1=dl=7V0f-Y5YA{`u9R&!kT7%${`RVGh zsULc%mf}9(#41%&W_EvDib`P}TA4N`>xkOHrSlN}ekE8N>gc|%^2nSMa|$51njBD~ z==1=RQ&%u{1`Hd|ku_fli&ddFF1kESahV(uQs z6Wk>b-9<2r3PquX;Ib76d^1Pyv^L>OAq4`9$hKR)0=&d8h212tX$ski`GpV*inTUH zUS=cY7lS!c%hCB48_|(9^AP&x!<5>3IwwO`gQrQm?`9&pb-5v=o%XO;)pX~Q#LL$% zMU4yd@&F~GWfflMw10$+cO;J4ozN7^y^(E!982Sf_9@TDlx z4~aMt1_&uIz?|6DQ)speE_g4YxE{A+1K4Se}Nf(yR{FJw zoRnVxsj#Fu2ThDu(ic(@#TTf+-aAJ5LBUhSyPG_mADHjX8ReP931?_6#ck)$K)W{} z;%ukaibs5qavhKg3ipE0#CV=!Ncs6N%+j&F;5YpctS(YPK8N}4ToXMq>6=wd|BPo5 zoc{qiCS1lu&EkaUE`jL$3H~O=%lA-x!DCFM7-~v_vk3mLX2Ji-8+2uUGKB)Z8E?S< z`KQKIG3g=joFTGC#&~>b88iXXfN|tsF~FM&3~<}TUe0g;-cP2%_r*tT z@0!;Jq=0`e+3qvng5s|;R?My?t)mfGO8dgncR*|F`F>h^BoO9^5l~brEE_|(`m27lZwi;0-%CT zw~YBM*b5MxHyytJJ!bBeV$4UVJvZ;PhY*}Q1A_A>PoUw@;qaU#2U76>@}YQIf&UZZ zk)0&w!y_cX0 zggre+`Zn$-5`mC?Y@N_f2= zPebE7&q56}f}fw^i9qo?OG!~X#|q=sn(<2dz*0keMZ7a zuL-q9s^v8s=fTDEQGLfH*md&-X3`-Ic3yuL>YunB(QQA{AT`!HOmuRn(GV;H2E#It zc&URjtr(B*%Y!RnsTcyT$k&;WcrmqFSB=Q`^K_ZA9j@q)OQHHny|maeVYoHn5Nd$j zw+!;Yp-tCqzS}ci|3Q#T$(uwK+mto-r6>UwtC{pj14#xMb;y{5q5@*U07&JdTP+i7 ziJ#c=f`4o3=HN->0v($%>L%l5CX)i`q5!`yXc;^b^6>GUcG-^cxTJO17|4T2-HiD8 z(o7}=ObWz90n!%b{^hU^>Da#GraELinT^8o{v`3jT*gc$1xyOWN&)g_vWjULasaye zL!b^BkM(VN#6hqO*$=$B8bGYwn&nIiWHklUu%EQWVXzJ-Q>_b1bj)~EK^`_5azzCY zYNRXkV^YARKui=6KzuV)OI?*0JG*HqDup~`JVbXHNbGf1%*;0_U{YWY1=y(~51R;i z)PZ|)IzM&FcwEIg<^aee$AcT>Yr`gT@2X)R)Ig1y^h$$FaO4H+$e}U_*2>Pknaw=Z zHRF+2My@Ca!VS&kjdvzvS1c+={&f$a@B5q0lzbW_g{JN^E`u60uvtUnOzKk!%g_Tl zjor0mo-P@Woh;UI$C2nf%=l8TCD!I|-BEzIz=MI;2&t=z@$K13XmxyI6SbDPlW%}wC(MVuDfMC-Wf?Ado-j$6UoP7#`QWP zqM4W76kz{>b?hWq_dPsjLUhY`+>&kF{;-W03XoyW*Jd&)U{YWY1xVUKu)sQWEJ?hP zdosH}#l(10z6bK?BO&!24P(A8)IA~05+((DLIL*pTgOf&X?H|i)nj5jZqYvRP*_Kg zf*RP(mu504U{Zi7phjUEIS#f_-G>mkcyo%G@gz?XG2Ri7$|_B%*GxV0oYfRi!+u!D z9RlmbW8Tb+Ao381{ot=rPW5GamP3pKuWD<0kSGU_0=QB<29VNgHM5NzoTI2g{>V?#LP1(&;;%=#^XjEhn@)gqyx4lmdbI}7rtgUQii z?nsshEzP?6rhw|NqR_!Xa2)=NqyU-_<1qyGiHE?x|IuXjSpk|AIL}Nb1u}^OydG1k z*q6MRXC&lMX-SiW8IK!t9CHTj2OSR8SH+k5O*}D>S4vyxZJwbgItYRU2r_hcXk#V< z$K)g6IPj>XftM7{9bOg<9M!%iaLoY0-hNz5nM^B}lN&7@Zv zSaryBkszdj6JS5=mypXVc$g9X!!H~tJd*{YeIyDNh;t^I^!{rImeuW zoMTRdpwbnIZ2C4oCIt*Z0WEaUX9S$bo!_JP>|#YSC5%TwJvdL8Lczx4OnWcZCt;TB zeF~6}(CoUSPlfZy6H^LLY8a0|W)bcD#g(v4I*OQYC*@?;hyO)M4SJyl8nQ2ie9&Tm zne|A)p#$f!CnD#Ri@?GIDLhifcnmWyq;{To87xC4Ld~Fm9b%@F`V1i(;6mh_ab0$$ zvwsWw;b%b1FUct8Q@uOE@7Fm`xjNwm&^-3LODSbM?wsR$IVWEX(Nj*r^&n^IF~tW{ zI0);ok#L`L1@bPsF1ykN*T8x7X%LIb$axltk8V0G&CV2g%t2rcE!pw9&QMM{<8jA1 z$DIz>NmC$LY?(1j3V`Zsgz7c$pSkdZ>0wfXe$rrQ5*5=je0m6FY}I(DFsc7&QZKK7 zecYtjDkY&*dMGD|$oa*ukaOaBQ2DKOGGdbed+#+NNKkw}DBi~2gP|9DRvK!dHr7Ev zdWH{Dbg&0gEGUEPv`bSGB<~9Bv{6p5*^zVlWpGlcK@HTB$WXe1OW*e-3zWu2DD^e^ zhBHObDb?Gc)a(ER68$jd!FIY}&w=aIi@_RMy0J(b<1u3F>2y!|Jse~s@X7$rGhz~0 z;_cXk==SwS1V15|)nEWh?MAQ%5TwZ@)L3s-R-zC{TDw>aBNM0_Jdlbbt&GPANS-3N z&%GJ;!%hZ!k~q(Bi3Xffw+Yc5tH1-%aPTJpaHMJnqBW#qTbv2B(u-Az>Db)KIptSy zopCt?IeBj!#Di7Z8IOVE-I?4M-Uj<2Cm5IcWH%x^YY^VDflOu%paq zSd(u-jRui(^7(L`btTyR=`9q*-s+g$w(g7mY*^+KBr766tU`FrcfCcz^!G~xH?npP zqCYMq?M#O+t#(Bbf?W-H$-y@T?(=R)ORTOdaC(jL7$`$CpC}=^Z6zXW=aGk#R4+y- z!&7J-NxKbO0Fw5GLY39aZ~!@{{2K1_Z|ZfXW7>)Q)tiZ#FZYr=nryzt?Z)zUItmb6 zwFbc@^Lvwo0MgTaXz^@>md%G2k4;aPiT6TG$Bnqoyb8G&+^7qtV|aR<@fZlU`EoD& zD;&q1(PZ&$KG!X{pyocbT&mdTh z;my>7eLQqD=|>JnyMF&^k(7q9!=Ymj^K zA0Rs1B>nWiQLbPoTW{V+@PG85j8i$o8`i@A`Rj;oS_UK7cB*eDEQ5w3@9Mw7dDO`? zqV)MmALGS?KLx0BPCOTR*W3fCd?0xBcs$j6qb#eOzL_7v_x?-9au9VvtY~dDywe^+ zaL)VS$)$^;y?=|;VU?V7)(J--|2GeUH(Ks}pgM;@pNzK$Ufw{o;I|LKI{siVQ9;Dr zb4!0GQaM>QZv5X1@P7EZ{@{xfBE{E;#y1{;?^9wrM^T)$(_EZ9muj#9&J!<2!EYah zb?B%x0}y|Ax@J5^hl!Yf{X=k^a4|Rl%7dHp^_bYpsnl1Y;k8HLojz5MAjSj}FN14* z{V{moeG!6W14sjbP7gIqrij%B_eHlM@AAKpZKv}|Vh((Jju{g8kC{cxXg zDcC=tOF%mS$`Fjla0}!PcAato@^5(pGN}@JRy{T5^VOm5={r#O)ZO60%sA*hu_LAS z!Qa65zkfrJo#|t`I0?gAkLs@hZ$VLT+w8Tkoq{02`__Y~x%dAew04D_z-tGKf9_|f`P;7%oI3+TP8lHRb7*j=K(sqa z`?(7R*WZ`)t<{mHL!Z>`26;{Oy!sC0-}o@3LJw5$c73XJG>oB;kvtis&i@zffBJ=QFYMvO`h#{DUcdp_an~!R6ne`d_zd{nbByBce66 z5MAZOZ*mf_N^%nvuT}lk1fLsu*F1{CJ73KRDc6!pnZbB_Fw$(lD{hD9Z&P6%Jqb$V z4*fb`EH;R_{h)e-@V<5*c3v7$Gxww6z5jw2 zD+iX$NAUZlS_*u(P-9YNu!gr^M9pJ&Vb_i4V%zCMu;Z)>)co~41U`Qah=|mF1r1=A zenSM2pf*v;mHVRbZ*QRBhIEM;jx=gd)Ec1zUf3%U41yJt~v<2uRj(wx1NUD zyDvn;lefbE!7~W2Sp*19h@KG;U40<%KdlmTL#Kyk$2Dw$R9c3DKfZvXyIzKE^u9WU zHhExWEaNqkNXqxXeb!|tdiWFM{POpJq(a+TklfSFWpsNch7n{t1X~USM?M4>sfg|} zh9Fo|I5>u+cz3~+g3VNl z@2p9;`ptmqgX5@kQ1sXrD86qh9FvbAd(|FaV;NdH>lv^4xw043KH)$V-T4fPpPol* z=xyW`%z;u%QZU#EJ$pl&ap>Zl`dj3zQvG#cb<$E^fjn}UlsvtF!UBJTb!a7w;P62j z50mjaAT}>U%bRi)O8@f}iXNH;`_bnBVyH)4%g4mgybp8KAOacu^3~ytSrV-&^CGkJlEfi(iay~VD|&q4>`Sw3F}A_ z2I{j*9c7y>5`yZl(IlJTcENe-)#Rv}htlWfA^+mvLLN8_rgTHMhsk)|lBlTwySwfC z9RknI_o3{SWhi=hHk_wlLou}iD78Oot1i@#FXL2FwsTdQV3dZfP<*>#si=hO;yX3T zR{Hdp$iMV=unr%SHSxEm(UADJ$#^}Wp(Y6{_d)(8H=^vhuTlEiI^^H{jP^#f7M`eH z1sbrL)`-b2!G3CgB!2D{FkXIu}vYEkxUZ}omDCB`uh{*^rSSu%!W9e4%@VV!EP-SH!;pW`btrl8P4szd4N6~HsWGGL;yYkFK0Uc;9rCO}74%g~APW&}o=iQ3jtL{hspI%1MBePKY-}UJG zQ9b%hTSF@2Tk!nm4!BP`2ljFMLn000mGNkl(yVq+sUWi>F+*s$CEyN$CEyBr@#Bu-A?}OJzw?3`~S<=AN+=IJ^U@-d*s_rfBE}= z_^J>8^!1-U_dQ>~_~Sp?`^8_jPrEGr{%+SbzNdYztv4i6-b1( zuMEU_lFMh__cPx~XvCh9$+gR~Vx;ut8e~~E7!1-hb&ejorgUWga*TT70!(-h2`Gk& zL?{5`yb!rzxi&$lqDVsLNc+MYoAntSmq9L~mX7zCYD-SE&z3jiv ze!`o+{NPu7>;WhJ`~6=0{+GS}U9Wu0zrW%ApLpM=zVfMW{NQUp`o;Ip{muVec-7v$ zd*|op7Z(@X?KTlYYwg_CgmBK~c}|6Niz-kxs(j{ozxmEj&-?P}KmPcazWwfxe(tsJ z`p7F@_r90>(>w0;^f%x8h3|RfYd-zlfB*jLzIy4$ewKdoiuw;1XFKs!JDTVPwM+z- zaWF9NT-sMjucAynK%S)ie!`V>Dlm)_FG&V#E%hD*K^(_n7?K#HKD{JAr_V^kgM%@_ zVRdG+gqdsw$=>;8rI-q2uFas|XHtqVgog;L8Tdku^B3^V^B3QK>e-Kf)n`w5`a7TY z#?PPhZ(n`u7tcQR7Yk=Eg$vngRm-PX6`kXv^fM_ioLPrGRF zAK$*}WmJjsMMwcnaX>e?7X?*`2*NksXmg8YgjHq`IS6!3C3Kgts@F)^kQ)UfkqMV_ zOU;smN!50$u3z`P8XMFxsI#mlOhcM_$P^8SOBYTov&IiE>%HYOKltl^{*MQ};O%7l zFYY4^7$Olzp%B(}_EC4#DG5W}(ThRitzOgDQ3t7E)Q5mjvM3B3O;MU>nusQI$@8$e z?BlQh#q`#c(BSs;socMY}hI|FBD662_zT6Wdj1e zIh^S3Q;9^eG~h|wS2{i-bY0v~SxA!_!{zflq$poV|TA%pq^gQNLulX)dWR5{a%?WuTH#N1@6;W(*s)jx{Ty5l09r zL?HXXRXx1+3l~25b)Pxuou5DRl8%@?ES{M4;56ltOOUj(&XP&`oOvZf#&|}Hw*#2q z0qwBrJg!+854>#W=%+f-CbKYLkV=G6P>Bfu7-K+@b6&7h{#GK!@Rh_?5`ao&Dvl?^ zupwkb&(Jnr+bq+`zz2j3f#Cr}z+@YS_>S=MVoUx^VHCw@*#X8CC11`5;Z0%gNF=c}9-G&MniG zK(>}U`@33B9%?3!{QUo1e&S2scj~F9UU=b!)R$69%2lP{TC!64=wfs@>JmNZkfJTH z)albU32<;)f*el0WLP(6Isbr zY*b`9H{MvA31opVxu|F!5iAdAd*r|zbw>72xQcKw^Dz@KWQ-v85n<)#)frLnS`aC( z#nrc0{z%r77)T`2Yw4YIT-tyjgd%Ve5~z9FNLf`Q__QTVPjRaxxDq_kZl6#=dg3G_x5Z&bfeE6wWQ zRwUc-+30YTNflSJbilozYE&tlM7r&^+q9$a8Q3Uz^@qQA((6BMs$Kx5XpaS7 zI7gf_O5`;Ao3$Oi!KTszQA~>z+0a2$t1tIbUJbu|=7rCB>*t~!cVHq!XWu57x}+U7 zHto)9H<%zBv|-!awtJ~d&hA`nb$g%o?7VsVytjYulKlyJsFtfHaT6D&*d+-1JcQ)VR4j1j(pC{?|89J<4rf7UvsTzc(qrC|i zF7%ycvKg`6hBdNm^X$Z(YO=^QA81n|Yq zU|)jwe(I}Nrg3aLTP7P*n-1AO@LDxQ5ViMSdD!&Lj-yrKs-f&rN_BI3Q&g>)ES+gq z|NF-me)6l|yRr>K8f4Oto8%oRBtlL2Eq&Ij1_u=%kV1C{tiw!>iP*51h5{2fZkq-H~0f8__gG6w!%M+LC$OyS(p& zYi?0NWb(8gNtXBYpyjR39NXVFJlDO&J>A92y;+nZ%e?RSY8GwH9ixbMqZ%ofOPd6O zPKGMIe&&ZH=X5EE0;L#63GZzwn5XfUV2C(AccBVvHc4z}X+kkNJsb2h%PQ8y!Is;+ z`)j}W`gsdvN`*A=tf!-4@@&BJk>RL^1sELj9B2IShk^;(pH`|vbsd;)n)DFV`mEwq zg=o43OV7FAaWDR>2fyv)=e+M9|Mo?X|ML?LpPY63YrV_D)l_qfWatjC4}SnbU{vJnX$6{I3ov(MUQws}EJ%MjY$G;^>-nA?OLlwZr+B_Rl@{ zH{A1p3n7Ne-&vkN^6Hx z8km69BQ&0&bG*^U5JIGxO#|_TZ=EiJy0;<@qs$DA)vL*^m+#pZx&FiMdi1})`e7&R zz)_nNk|onxZc4MI8B7JH3Nyp;=s!E|jW2!1z3zC+rCpac8`U6+GYjpBrJS}M8%+;u zmB(hCSh%I7rP-~w`1qGkU(j%z&W4LP)LNT5SoKGSqtXLX^*v5M`~2xmhYBmX^PE#@ zx$1hd$vMBrEw{Y##M>Up+@wzj?PaTKwTU{I_gcFoho$pwkcF;OczLXdA+-u|eRrdbw8s;XqG-H)aZ{mAFfa*{!fiui?`yvRo4V~aIvSJyAo zHipN7g-L%9#d4VJgWl3H+oxXj><6muBFrM}pwgVoWYFyoh@VVVcw7e$vfO34Zns%ciXn^}pa1&z5|Z8v%0>lzR0M^m|KYN| z3$ivb7LCvyBU(o~5h}78 zj*KVmvyvr16%c~hT7YrE!${S9FehuxK;tj&dUWTqU)00ELiTfVO6iR#0Ru{bA*nP7 zN`=gmdt8EHaZv7TDTZ{5NiUJ)Z9XOIlTrWj0pw?Xz9<+UR(}JQkCLowQs0h4HU|KO z@EOHa0oo^kF@(h1@@5L2dqfJ`cWkT1VGz<2ju)1;y#8pFt}>o;&KT2L)1lo6$*W~GBp{< zrx>N}FUej4;wY68M~SJ#Q3AQztyYT)M+G!@qay0sm;1>kRh%27hb+6tWPo-aT#iB*F~6v+X&fC z#@MwSC1HrBl#dE-DjYpP->04RONvVwC&45oqUj1l{Q(uPDIm|2@pgiroO8aHQ4Zln z;EJ99H5EqlFR_z2N+6CFN??qxsc?iwbCc!h>1Un2kf4`4aLKsj{11(kNzc&g=I32- zVLx*TMV%P!_5aXQqcGLPNCHVpG^L!bDG)~&qk@r{15YN6LP4A&N!D^hk$2~5D=ugw zq%9c;N2&+ylWZno>v3R$=7&!Co(m~ZZ;>pCbeWdzmRDJ^)ra$|6GVSq=Iy|{ZV)U0 zZ~oZVcx}_nL{()=6+z8`tZyk+pFc3CkY_1w=r}0xuN0aur4J18o=`AbAa!!Rvl|$!2NDIC1xj z-@fpIi?3|;`e~Zi>vcFMC`h{2j>q-aTLU*)jz%*(F7M*?A3F7im-f>z29Fg5=)3bw zq$1QnVtUIqNotLmFsgPFeD3?ZPWkHTT2`tPvuU1@3!5YZGR*6(@Ns)<*1%1cqrJsF zQ_beYA&39VzkTW-KXBSr8VRqXv1O^{L7y&K#p?d_Ke#x1VG@s!(ac&!obyMwsn(isnt<}oLd$I0he;4jOS)7$4!=_ zKIynY`xZO5w%hG)=GDw$AN$rhPy6Q&KJeLZz27t5@Ze{^`NS8#>!ok`;Ac-iXRnDG zN8Bce;(D`@rm66zR*7|%(z$jRS8m4K*eFB4$#QgG!UsOM=&~zkXQry5n%}=vot%rO zxB7|0tDA4BrViJ^6st@&W;gpV+O@FH8J!RMu@bd75XEn+w6WgfCaa%~Lcl*lj+^Wp z=-TE~HG)b#3}oJK%{C&Z(@1i|;-#MHq%Mf6ajojS=FCh^RjXmx@3mp`wAbynTeVs( zilQXT{|Ft9tK6^}7#WT-(t`u@p1>(6T0}NIUC;nZF^MG9NhOSX153OF3zTBiB(n4=qKF2<6SYhYwJnmgGMNR*7M7nxy=`V#$3gB+?9nU|%| zOqC*MYE94x3LKCJocW+?DzmLz6v<{B6lhi4t?l2%m;M-(3QL2aR7hdtQsmAWiu8JC z;pyPaF?d2b88&F?$Z#~^6u^gag9;MS+t2&^YPL0nUYIVFB1q4n? zbGN_6<|jPpgr`09gr_|CxTik&)=z%m@y~pCIiB^1JCx($Cp>Fi@W?wos|-(i*zI>r zRgiVP&f%wwVZrKmEb z-DRDnQgSX8CFY&eX`$@#=Xz;ibU5m{^MKKCxy}2?2QVxD84~VL3gJ->4zUhkoRxxR z!8sSk6{e!xSgo})I^dql$GCnP7#WT_p?DBODsU;n7-0o61P|dwDZJz5D1JD_R(?M9 zf6Te}C9ptLn+Pj)?O1L=J8|Z0z^~uzjGrnrFfttVU^M*zH=6zyVjB-jfu124YAm@V zmjB;jnJ7gLB)Q8hwC6z>*J?GvyiSus+2hak(m*lUYkIJ)(RaoF4~<`WjO>K-#n)n1 zjI*`~!@+BKT8R6|S~NefIXsz^-$L=b%nT^Q@728KtMGwdAvLQ=AX(Lof{th`BR|B96 z=D}74ae!|b+b^8uVk*9k>@q;F4Oxynhc+l|1~mwef)55Rh3!HQ0BYY-U$k$`vtn3u zk*$={3te!Dn&_-bRGO1YOUs8AHl?X@^b{_F0(mn8e&;+8*+ z?hjf2Vv+2VJsvqxhY3M}ZL4{k4pqoKGdzbh2ml3epg32M-p3f8sMheCrFXJ6*~n_F zCK_QFvTmp2yDciwIVF=CW`xRB*aa@{;mqIc|IC?}fAaemfAq9pec&r+zvuI3z2lTK z-}dP<-ukH@yyx>jF2%b}`C%#Eeae}oc-LosSc-Ri`ixS%^V4Un5kGk6r%Uke&;76z zAN$%xm(6#Kh`k7cD3p>j?-<#xQe_^zLho1mCbCG59?Txy`@x{|<*>J}6hU`iDW(%S z)laLPOM}*T%+i0P`(82F^VI(C$N1zGm_Hk>SmX#X;EWN zNK1rWm8T@m`@;WRe)7A&_^21X>%^D5 z{iW~u?0Y}=-S>at^bdXYM;|}!XQzDsyf6Id!Y`e5(N}+Z>F3Y5uoPc7^Ve&`85ew^ z45$9!mp3R*`OeQu@wu;m|B8i9VwpCc0#8B+@_)#hUbj+j{JV^4Fj|@gyn<6;rmoUz z)V5V!3STp&0L#JXyf+gz3-T<=bd;n~KlAgK`1GaF&qM!zFlY!(K{=RWoK1tsLVD_+ zc`lg{5WKiC>~ozr%O1MCLq4G7ii>O+{YB5@68Mi6@t!Z9^NfG`*dw0vkFR>~DL>hj z>6v5f+_8({_Ld2{K2Ahkhm$s*HqjJaWU84CK^{-82|Aiw6HGL@E=WbA6k3G!iA_?4 zX`19&V)B%nLU2*0%aXDit%#uu?m)|}2W$gwD&mvi)0ywC2@w0hTi_Zz0G|cl$;EAi zIG(cs>muEM#-R7?tot(Gy+rguXB!nOBNxI~EUF&i)#GJX|1JH)OG~e#aH2`#z{jKf7d49#7xm4s%D{o=CHMd9c{cy^NYuvyI7_T5~F@Hbf9R zCUc7X759c9VZC*paWHuuDm_TIJRIpB zmcfC;g=rdN5L5d6 zyMwIVZo534s;Zd^i)}aUcUF-Nx;9Uk(=>q*nPHZTGH{!(3Bu&1P+pfpK(7lFbEQao z%lV*9M+~)qR|3hHXXI`XO-r?T5DQ%dLrc6Pj^;9cV-tdyR6-S zM#EVsSY7hT+z;SmNTI@{q8stT7VJOA4xWt;(f1OtK2`RvIFqr~U$=VJ%u(SMlTPoW zU;D*#-tei9oOzYpcDtRoIMxnYbhuKl#*J!3(__2yk#0|lbc*#SDnUIIvGBwgZc>7< zE4~ZzpbXsSYl3ijDWuQK;qua$(OL^jJEg*UB@8*e#+F`12IsBilw?3tvaw*RWIw&9 z*q*V(n6M`*3F;<`qEeVBDn%5;fr>&|Q@ko%jhiNcWla&!nqbk}-ymItW1KmWbFnoZ{8F3xT8OqT`OAa+)Xva6m0iyl>#Wqa;>u&lvpZe+hzWQS+ zsz)^Is@=|83Fi&PkR@rJ=`gN^)u{|oCoepZL8{Z-Qrz7$$wWW^R|PydC1qf;SQ!t< z{famT=1#CuSQeB*Gf@fyu_k!OOOa7zgWMGn4>Y4|E(2QbU7iseN&&c1Fz-uI+6Wa6 zn`32sPkH8iocq4?hWSe7Q|@zR=#h+xik1x*TOWjNK=Z)pQph|j1v8oen=wc0HCf^w zSdaGX!YoOv7@vbACslyu5D9|*Oy>;IejRrI06oco;^h?-O_wChFz{hFra6){GpImR z0`HXemFeawKe*(d|LH$}dESN9N?j>stmeXpkqkpItetWBSOdSKf$Bha4o}U8k$(vZ z7+bKQH|KY%{N9(L9EI(~QD`Km10>kOEPwJ_zkbIzf79#QW@EP5oMOy#4yl|rgDmf1 zoNi1FjBa0oGv2YicE9%)H#mhSvm7id4!4F5i4VQQ$TT_y2#KB#zx=aH-|&$yEtu-2 znM0+hE-kh?oemeym@LctQG8vtdT1Bp8#g}qUyU5>8D}Eid|E+Mq)liNuCunZkk`Bz-m-V0j+V=-rj}<|!f|M~4$8oJ5 z5kVREVHheIr-?bB<#EAS10@*8qRXFbWv+Q4};9HO5%K-_J8M z=IC{(czo-(HQ>xuf^YIFP5UOpCDoV*%ePCqfBV~Ye(#!t3@?xZJzL!JX@^1qS*G{M zsW*M>zdOtOw@!q{m|Rq36eX>_+9ej&IPye=^Px}?oo4mYWj`d*OHhg-)xC4N6bvW@ zh9t80rC=VV7$y&Q2j}0#50hueaEBEmtrmQC@~gQ_NVyFH@?5SmHMET8RUj+ zo8h1rt$6V;PGb$Mw+3Vf$i6~6^k8H%Gq#_MJe`(PKb#D59L2Q6I-6DEc(F_77T@^M zxtHwi*q|=shLE9BS8uz>l+rU}j5Vi<5 zMfItDIlgknxpbwXy7eB+1yXW2A}E(vla-zvW2}Mo)PV9nna`I_l{qcx8OH=T;0nHR z@DSjNi%=?^8@m6cZ=U~~y%bamoHZ#$S*;c@-Z~~E7Xij;tbrRs1EKR)n$AyfrCCC zt8yW#vCYu=oX8_OTjxYJYe+CodwK>?PCKG%CHm>lE?R1*L2U*$515Y>CwOPPwT!Xc zIC^G`u?E&%0|QtlLni8O@Ezn0vY#B0bt@bVWUuewh_^^u0&o59#q-goiR@B{z{|k$ zV4%I{N(O;5T6p7!Br>q27*d@!X%s6c0lhG#7^alcASe~GmBrz}e3(3=9tVXtrKmWa z1{S$%+8DKlc05cBuZID-djTpQo~E92mbosswCN}hg3`8R*aSFF+wKy8%vl+zsWJpM zcm3Va6TSZF;O8+7?@}R1I1-dGtDPWzd2z{=y-ueS1?0Z^VIqyoM@s|NTF$wYk}h(c zDaoBSQqp{HtZ^{!IGcg)MN#B>=g_LooCG6#1y1|=u=qhV1_-|OqqAuwk{nP`?58%? zAjZ;MFAdOy5=Vs)&RLV?L{6P&wJ5w^jop9`31-0#f$Ic8z1{vMaa2HoDe98LB9bi2 zT_W(U|2a2~W3sD$yniR%+%&+Yv7Qnqo8)OVcX0Vs^SXWucTmPHID@T&XYf&;oQ1(& zFmgT^3BwHpykUZ0um@MPG%X5>k*6x?-WWFl4bX&Yt&K69BM@BYX)O+$wfK4t?S^~I zb8B;i99bCnWpsW7Z#@`w$RQ9eLTMAnRL-(#llm#=i&ko{=JkU}YB8l6j(93CLcSVj(e2nTf$- z7qM*~miGJizss@0bw!fHpv!jW)VXIc=Z7jqMsrKw%iz{04hru}p{J}$=W5t&f(vbJ zDe4}pm);T<9tv4j#x?M(3oeYpn20F^xi6M-jMGg*1IYE)``QHC7B$!YnWsg1O?`!T8WC{9E19tHR)kn1%}Ji%1R5KIfNFrRqInoC0Zu z2SfM9xCv+=R!S;5V-)jy_iSp0#~*t{5pslt5XL*{=+rTzBO#q#!s#H2uNOzxt~s;v zvM^JS)zdX&E`i=p4G~9GFTt*T3y{h)GNN7vidGG}H^xms12)YkCZ<}wzBPl;cOU=I zdsC1UETExjzbrfidhkh>UCL|#w(0@W%^MwLF`WY}@skyyd%;~7`EHVf8_30W!d0vt z^FriW2SKPUJwbQJ7<~;`qjQ>gzIkracK6-=wwrur!9+1ImdWA|N50GHdG5(z72gla zhZ*YKfzx?|gI56KwukI00K`#TborHWy{WCU9*)r#kQerrZjLef8fb)JmgP~ce#PaN zJn1nHq}Y8VJPpfo&`i?>Yz^73m`l0K;fjKT@?ma;qf8U`IK3@i!1es99VMxL_3Mji zp?99;nOQxSV2m9ULC2l0y9PL|j!GtJ)~Lr%dgOhCP86A-m2M=DKn|!;NqPbIU@V0@ zX!BlpAca&!L$ae}-x+M;^ol=9i~3c&_Za8Ng675sDk9(H>Nl)-X8aj#4WxsFrgnaQ z{+UmEYL;mT2f?g`FNUSSRyIs#k3;}y_=CpL;`Q(jtAT}8F=$^;%RNv8o=#s-14I*p zU5zNvoK8!N|4JTN-cpb$E`@U?KL({j29yFrlBZMJGLSc4ic(>ykh{_Tckx(b9Mm!* zm@_6-(%0(B_(3;q^Oz^KNozW{+pJE!+o8=+Idc0Lq;!&|KdUAw(e!+7zAF1I$2NJ2 zN;z`)$}nWUN`sx(RrtH@T>DMMDO3!DIBj^>_Cd?@Dc1cKyykfhwvwne{iWHZoUX?h zEe&LYtX^$YDz#oeB?M7DjH-F&lEtfZXaAdDdlF4_VRV8JjME7|yb=LoB~9-~VYZE7 zKbO*IvEfGTGT!SZ@Wpv9;KhSnhq2x4)~BInD+U+GJI#u(4n|yxs0ICK+QyP=I#+ zma)Q^ZY)8^()=L}EG_Jhf`}Z=)^eADD=w05E9)&k@z3w}$a~(hyRh7d6`3LLoOLiB zM$kM1y&sCf6>tus3AcbO#zsr|B41vj5UyO=B#|98&TGclMw4?a&mYvlU@(Z|*jmd4 zw#-cF&SIo{PydStJ@2m`i6q-R-6Vnr`8;p8$c_pIazs3l(|NP*1BM9ciAT2h{+A* zeJ`t-Uk>Cp_=OEOXx-*nrUAB+=pA$3Q;u;OISqu75`tZR#U;laeZ&Xe_sT#2v)lW0 ziSvG3ZxBI=ow=n=F_PTIaj0pN-|s^Ilm!*AwqcWf%nPv{etE+Uoc8tKZOMl02;K6v zZ8kMk=5sH-O^K|faBgG8L1lf$h$tuPFJutKLPiiFMcSm-+~>??FuAt`Z7oSoyF}69 zCFlx11VLAnV41s8^f*ePl`O?T2BoMmTY-z5DfZ)9BhP(q2vuofo-1Z~@ee8KkJKW_ zMby6RygToxe)wg7`N0=F{3vef-f+6ji*k7QG7M{INc`0qS0tZ1pL^(ndrrcI(0e%DAR|f*QYqzxYcJ?} z%~nv?gRuUR?iK%q)``D1*EA@%R&S1~}WiZJFT8r~}dw!+@JAYwQ zFCD+Fe&W4v|M$;&?EC-e|9$SgCx7k3fB&m@|7AJe`l4TzVo3e--};hLT=34nE5#Y_ ze_1ImeAkOhaq4?tdg^;m{`9*~{*Twc_zf?8+W&jXgHL?G2@kl_Q5CjaVXertMAAaq z^HvMN!Z;)c6tuz1dEh9z} zh?-Po^@4J`9tr3{Tey6x8q7Arice~0`BqyhkGaQfKJ%W}edtYp_qrE9?m3UT^Pk^- z%WV(g+Y}~s4j+|6Bq+s@`b_jo;m|8Z#q~N!mwH?m=8-4$5JW48x&zp3fO>gu7aQ+)CNrTp$3o| zoNjnJfj1e=qW0+JNDb}aiwPwAs+4pKi~BpzZ}0sjGqb3Y>22qBZ)IY0QDZbdjw^Zt zSHKyq5Om-~ke*4m!Q!CHok3KoD#2_vh!rRGdLE=+=KZD3aq_$e9{0u9{MElc;rQFn z>L?q~{o=>6#3x3alonym;y&kH+AFgRm!5Cz`94SXBhSkp)N&$va7=}{7 z)65V_B|IlEk5yFBsi0S3{g{ym+A-$@w<=u5RVnKS0jdsi05*S-x$J%Yi=N4s-aM1> zrZ^P30>e>55JwmgrBR-Wuz*EL?$;*{>dF)MCILO%Z082Au9)lfdRw>cIRDodDIqscRrUOD-uR-YJn12KyWL^c5TFWC@n0wABnrKg z(Ay!aQ2QVj;483G@Q#U2s>9U8+EpzYz!We1J#zVKhR3DQEG|W9cOS(S3Rf{?#e%3 z6YRzJErtHgy-QL3#l1?gcYbcl#{eu?&ObXqXB6ov0< zRy^3>&AD}Jf^fDJ(wb5@rAx6nz58r>=ZW;VT5qfB#As_QFQK)I<@YT9TirnyYRNNh zG3iz4qb})Xq`^dm7gh(j)_l?h4QVx}i;V*rR!yEaSa!;LUmh9o%v8yCG6fWidy-@x z0-U~bz!8KuEX!!}eCunj|1T~(nRPxX<}Z+GsxloKLk1oVy-l6naz3KaCn=pfX{DINs0KGNa{IL|z1 zAWE%##SNZHJ1G9|d7Lxes~{p9zjybpxtYnmS6=d{N8R?ABj#iwT~4byBp@^x9J36n z&Q%?C-fP<47rpp*I9}TLxNzh&AZ3j=Y8Bcc(K}b<^iBheFz_UY#(96mPKRGDEk2_s| z4TMvCVxs10;iI-K*(S+7#cwQNsNkR=&r&HR6JhR({#5A91R-Gf44&*~~Fd7x}jvqWb8iguNQ|BR6Ok~}2#U+n>*!^h} z4i|w6ISEMM%m(xoe9~ImEOO?jBDQG~=@>)Fx(Gz4nJuR{1 zm~uEUTJCXB5`znZfJxO$QqK9I+cw|xPDcxy6q{TIFW^`gpuHbp+cy0n%l=a=ZIgZ) zjot85unjt+7rb^*gdcah?i%3akH#Tro6mfaU(*4(dDmRt=zsHM&}cO1^sCis5n2E2 z?tfaLEj(?FG|0*u*UkL`DBwgEKik*ooGsGBx%>^B_Q~N0uSA`8O9AquFitlO4X6sQ zMmWk3sZNft1CSWA3{f+NihW>@t0lu4^0rtfOY$N58P?8fF9+mqNaEx%mSO0) z1ky}6K80`@xkoy~u+Q;2#B|}`ZJM32c}5{8>dsnQ>{nzkOw=2?+%u+VukNj2?y&7! z>orM&6`gY7S-+xY85vQck^Q!CGlfAd?u|dAuK}9)f{cIz7$Z;4GQmW#_vQ5M$isK0 z$pFr>;;g8!d*le>ASEu9licAp$JQcnK{9fR+iSn1JS6#|`Tm~yXyJMyJ4j-V zyIpS$c$#HeRR}9oW!i~|M~6~3TmZ-3;_z(HCksl{Bv2{wl=6cDE&^Bl3#8l*+IPJ5 zF_MJf987=%o>qL#jWpRAxj75DS$W~8#u%fo0qX@fjDnt4fGj7^Esqc%O9Lx7y7SN- zAPZ`>;Ke%Yz1M~eF5Nu{@IvN!&YTWicJ$7MD}FXYVsHwNDLx16r?ntWPYW!p*$2<* z-WWFp4LD9)4o{98t(Y8^Cq~AIuHoq1bXbch+~^o%oO9>N&XUJ>a0YHYBez)CZ0k&; zp=kS2tmd>1SY*sG=mh%LKEEI`+kj=zjsF#Md^N%v@D5C@*io8g#x&1OVMmXqA#ny* zi!nLTkaR`tSOMKQSkMM^7V30<+$|2HgFY|>_*iV#S>MKBMO9xOS> z{jRSDyk}%bL93(}VD!gW5keLJ#+pI|P673LT?j$^B(Icms=mGw{PC@6Yl?lnGlw0z zm52$>yfO5+2Pe^CC;R%Fif@96A(ZnJHKm(ljJyWOj)M7uoZf>m$BkpMuu1@D+#*RH z^e2b0+(=rUJk&BUYM~6|#g>A*@;K-)rAAWM^Xe4=?!0A6h(vP<6$ls) zMKMvhPc+=L)w>hPnI@eY%JX#KSb>4(N&hjr{NZ7Ry( z%T+Y29p_8CCd*X{GIFIT@064Ir<;TZSnTXT zVFrF5MCN!M;wZN=G7isZx)0mYY*ti7F>i`J3RA(#-Gh)31P2qLY8TOGw}#c@8$8elQ3lfDTo8#T|vqoI!RtV=`U;L=$iGMsRmW9fu3 zRD6&oz5Jm0c|=D7aWsx&l8@jEb4fua@=mm|d%YvsLW)0tjvQ&prW$L+xcY|F028Rg zreI-TUaqPSEQ}H>Y!C;y$u+mQ`w6$}?%x$jZ=CCC;=w^12yvA9zSfS?HBna3AG_q; zJR`@8t@tT0Xz zl`}*%F4~h(4zi=O6QGc!$p^-}gXoVEM+^RW&pC{v?Yw6UppPZy_E-KnuY(iT(gBo) zEX*s$Y4kN~XbZ<>rAIEx4s9@09kr2R5-^t1!LK2|J*ZG zTsl;cQ?TcL_qbcD)$+3NRaa|_^RWhQ3=NohT0gBi4ik^^bjpps_pDe60nQ+My$-yF z&`fvld6#3oNow)c|G~#%@%`P;jUn#1kDH+e@-7;Cqsl8$m$c__;7U@2u~_UWK1w`g zD?0Ja=Hvk0=Y-qZqnDTE8=uoBa!Ls1w5LFY^s zoWuKK>*sM`UK#|Y!l7|c6bD!SfSldT;-Ijm9EGY$+Xnzc(rUEzfV@4mY|%%*j(i4U zVL_bN_eY>{54HV15RGa?Q@*1(0S&lhJDV$Q^Od|Ld(;E(a_siGUTfdf)KpZP7#OFN z3M4D3IxZS(;E&cowG)}F0jUx1q8NTNJ3iXn#?(JtM*~ASIv3%uAASEww|Hp_it~1uaFbyQJh2M<n3lO> zS>|m=n|(z)oPi6=c;;E+c;ZCg2_|?csAef7#o>$=jB%$)I7Y7+`M}J1=E1qu2An}B zlH#;3b4*jnvlLXl6#sjw`@2`Am8ozg1nbw5EBG=LLB9wkIgPRu5_I5lAjtHTqWD#? z!~wantQ63s#xmp_<&enBkWCgL_oQM|ndGkLbeEfs()*e0ivi?52s(2Q;5MfsUJBc| z%Pt&#PcT)13TYrAK;XEJbe%U>pJQ+)BZb}TE=T|UNzae>Tsg;c&IkL=awl+oM!Zq8 z)vZcEF;B!op4g;|tQ+{WF6~;A*4h|DPdVp^uB#%9Q11Dl6yQlIJWondyyHCiM zO>O<<^_a?`9Cd)TlmU!PnhAiWz&&rb^#gzRyq$8e_tLXjkfP3Y73B2(`fR*2&|6lWA{W32~0WV5nI4=hi zrVI(ItC|XXSkW(^_bG39Hq7_7+6t( zGf$>bSuHYs$K&FEefcw<`jC5w#VeBCS8$X2D4e~;Q9*TzR~k-MGS3H@ORZ-z45OM^ zW1`b6f|Qbo${0z3!kQMJ;(FtMgbhl;tSSXJ!S7?GMA&d$z_cm_j4Fl7gHi-0C`Vrf z10_<49&4)>H31U7yq)!3RIN_@{do7W=8?VJxCr2H76icINtCD8bhR zy^@I7E6aT$8g*a%8I=!DQI0-%8N>kV0zN<~d>5ra7p1UWl%oe*f+(mcAq6wQa*DlO zam8|Q$x?JNc0NdLeP3nA+tndkO?(-h(ML9zl)?3wMxx@7r>rMZGAv58PJGc1-&!Cra)gEbi5VRy9&Hvr~=w1Q&{ftqIvm%JY1c zrWm!9OH~RjRVi{2mO{&DO|U8|MJB^F!Sk>jEbwLMrr+wD9}ieNkB^R~pIqPm?#Uy+ zJ$39aG4V2NI@(9Oa#THbax!+JbNwch4|~kpj8<6>cyJ5uAalbgZ}J*<7RrES4CdkY zI_4vw?i5``S( zL=aZq20($JOBbU6;Tg03`xuvDmXCrLlP@qH+tiKABDLl&vy;r zD-s!ce^&rdSk#4HxKcpya?mkg8N9G-f>X8>&=N!rsV&(QX^n)HmX>BnSq>JU91^Sq z5v~sThA0A^l+%_e7Btoh<6#lZ<{-i_6s{;$#@Z7#u=a<>PYl<9*Sr)kd0)ILDeWRCASO zh#nbvDFZrZVXUYqWRZ``htxJIqK<}~Ig(O1o(_R^yaa~XbwSEaR`?>qz&nw9-uFDQ zoXSQ+pCsj&qojoO1V>y7k7x*lM+q3jxZ{ViJ99?Gx`_4y7 z;kq9wNAE+f4CsDnP0&m4FNJNt*>&HF?mN+b_h9jT+2Sd@epbimvboXWsAV9J zijKH^w(_$g%jiVGkte4;O2F{@5zy5VcnT=51ljv~Y@#AIPiV)zGqo)@B&pW9?a|@rIuCr@+{kEP%+ZmVs++B# zV~*Zzr+#DxKIZ7iOx4X+&@o4Ewo`w=z&C2an4=qYX2x<|qk%C;uhGQ#??%dr2L5KX@)MHqp_-HwNc?fn`JIDYEwQ|_7fRpeJ&7(U0NKeiDWfrJ+Tzxt=zaK#0j z%NHSXRjH`3P7!#P<`vtYkqPrq;hwm0PNnio#+GweN3abOhmOc#uaB7g`aCp#W*s%) z6uc}rTC{1v3}C<<=QRikk-#k=+lBr-I$gB2&3^^+YnXk|O6EJf+0tXCr!Fp@zKMRu z96i_*>(w;`B@0Tp#=EeGxGYHW)5puu0o=-6TKxm(&ojazzN@UgB4~VpH-EvWe<^3rj&{5^I^?x% z`U!Soi>dA6(Iv5r>$u~}gE!4=%+Z5AugtD2?gn&0&ZcK@s`w8WM4Q#j9pdee2(~{S zv$xMC;L1>0hRklHO=zkckxVv z+)#Red{ZC7#o?A`vP~zVaW^CD8AEPqVTXkDe%W)X$`RZhlP9D3WF5{X{ycj0riw8~ z5BAKG`6S9QNBg7|QFyV1A}6)-Sja!gQOl8e^dqFzq!zR{OXj`lbhU3Y74^T6A zagFUO&)zh%k>RL^g`$bn#g9ihO(eI*!wcqoDd6dD8HUUw^C$(%gP?Y;?Zf#}Si8mI zLZl723N7(_^Pgh-lW^+~6#wE#6#r#|3c?swB_dRSCcx`VR%;w}hJZT?MCEgjHiy6c z3VtbM3%cf1zptF_Prxi2GQKN%@GEImX75N8kI_kdq(miYiJfe8Wd6gFa+Yyd1Fi4g zfIAr-0d)xIB^>@J@r@OUYLG${XB8#tmFN~=5$J#eV9YXZ0m&H!4REm1diBfKtDzgd z9R_m5{BIM~-SC~>@I9~&b2Ehz^_iDCuH6aYQIHhXFYnqqO&lc-Gtxw14MUDvAg7zP zy8tyfq9!=cImKBWXDlvnWu!_+hoi-O(9Ds*1e%{!HIF<^8B5@&K-(c_jL?c!3~^Z7~9bUGN^b&Mz zcmsBG<2P-A7{XXbd;6TxlI>xKkC8FKnOv2UT+L!_U)4-_jDrC(a%w%53I>ScAMUSK z9p#*ll<+h+t1JGh*dEM}l>BAF7KC#UEqG-e*}n;@#K9;pg%lxUD|bl~_^oAxO=ajn zT4pL8n`or28p>jS#vH}b@x#U^kX@M49M)7&; zK)ZXB2+$ijWT@BN@x{t+!Sw2dv)cH6vAFxtS%HGe)Ji_2m5o&Vhh!NUj*{9@IVKP1 zEJY5DLN+U0BeVNJPFX32jhupmrSKNz@a0_$Yo9n&iXrt`)`P9X??7-#Y-99)f+|`F z46ZQ9Ege4*EC3Q3nMR+P6xuk;Z75Au4yrDp{tUn9<}lz zR6egmq*gA1hUe=%Z`=0I(fzRyw7ORe>IRYJ@CB=4=cZs|FqLA#!U-43JVfXGeBo`* zcO8hMIpBz&1gs?QJMa}xPdPHQRV|iKJ!;I+72T|N<`EbFkwT7Y@RT&%3pMF=01AMw zcSkpJdp2!?J0Hvw!{8?ZOp9zcmcKw$;~um+XP)FLP z91b!Cj@GZvh)6$FOm00aqxHZlawX|vQX);e-|OxB2iN*evOs+;3g=i>IBS1#^;(qQpl{PO=`KG#<^uzN{g_U-m>-rBkJEm`YZjQ4o0me=Zx zNunvBz{rjY@5zoD=L~$s`ILzaQg~(&oB%jmCdh^@;~Q48-xDlw5qC&HPW;iwXVJ(m9Or+4Oe6W*0Q94D$(|hCDTa9w4a}+*1@BAt1qZqy$s4bfJ_p^bXejXYs zN5hf^t{upRzZe;gf`K#Qh4l;|sb!raBv>eFODGBWjQf2QFnwtEj>a(`(8Ls>SnMcI+@R@zf==X>8nk-OTgzO z+Z14)?%b?EYYbxn7;Wl}v&q0>fVoT@Q#t&RQ1^hVdMwJ~|J(we{x?#t5Y6?dOr--E zQAcwiiJS~6M@|lxrhRJIWOI*>XP#uDyBIS;%$2K7!KjREJ>(S3(0LUYh^7X#!W`XKmZ+R))cVcRY`I^RboL z$ID9O@_BS>RQ+ZJ&jx@-;SB{s&cyL8)zkwp`M^A%_0fJAc%;(j+@r_9bF?rzX=FIc zAPXZQ00IvfpOIo#smYq32=a!ZeJYhVj>n-V>1}^AKYb6_MQDvIKpG>D;R4IFQA-d( zF_Ey|XPzE2v;fwir^x&OvVc<{m;ibOuqZ`oFqPh&A#qUdcqzcx3LJQ5d16>EXKex; zg?Q)SrYHyxFP+oQ4=n3hQP;kbXgNq-nrY{92#wHjT}7HK+hnP6D}C5=+2JRnc4u1E z16u#F1>h`#3J_vKLQ+0D6a^n4S<6LbMiT1;ishYlwR~$h`KOz<(>C`0rm-`PRiCrO z=FTn&Yh|`0&DyluK}@i4j*-y~_VoF8m;GnKg%{-KT0=2$baS?pv4s@-igu~#15qx` z+DlyqLc#b@__}1%0iO%_mW=&E;{uIKjbAc8^~5ee$?Od8?^0$V4*Hdvi|T?0+&OO& zW8xT_PnbOX`BOXoA*w&ti8&K=bnVKu3$)>$xS=?DBMwy48pj2|igP0P8u(!dkN4BB zbCd7D?1^lfcAG9RGC>+3*&kK5$v_#ukfoPq=`ze*l|5)uKGPy~WL(LViW-7VJlHOx zTgdoWT>XDzNBsR=V4afS;1Zt02xtLvvj+-&8HgDnCOL0#7BbH~@!0mf>9Ft!$St6^ zkzPF0*DR;gHB*f-`)bTR53~11JeNzP%v%Hu&2^IUU^X-I9Cen4z!V{a92^79 zcwPmcsztN+t5n`!t-dFiy{nxyx-OF5Qkr<=n?f8JvctHjLbahTVJ7D`<9@)==4_G4 zeO&J1!TQ-D=1>Y3f;NKW!7vZx;3;?)yu)I;|FmZp>-!3NKE4Du^np#%P{XW{Ku~(aUn=SdIjikrjvCJOE z>>*rFaxFz}c-BR_g6KM>{?qA9f06cc8fmA-UZl5PDyeelEsgj2!|-g&Lv{ z+4DgTDLifpF*v>^MQ^~$x$ikRkSQgTVStQ7E8%0qxRKfhnxLjtxRI-gmCVO^{p?QnEF+7^4!M67pwKxht(&_@OD0&wgD@5A{lkIKFXkIt~YJQ zy^NY+cZl2x-reM=}>IFA9lU~N4;Add#XC_yX;n9$I+j6hkX#+ z-^926J)e6HpLhal4?}cYgttU^7}Ttn700CW%vo^a3cx4{$wifmY0kHDaj1{(!0LBr zQx9gdkHg%v?ADiH=RdI{-o$VBeRllmIR3l1^_R@i?>C42v)}$g9P$ion#Ob!%_=Gp zI2Ry+L1GJPd<6iQ01LQ?xQux*gksDB#gM}QDuQf+l!8%D{~rJV|NrRunAZRR00v1! bK~w_(4u8nY28DG_00000NkvXXu0mjfF?HJ@ literal 0 HcmV?d00001 diff --git a/public/img/eggs/runescape-dragonwilds-runescape-dragonwilds.png b/public/img/eggs/runescape-dragonwilds-runescape-dragonwilds.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc7fcf2c9f581be7a38d6cb01dd5610e757084d GIT binary patch literal 13421 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 literal 0 HcmV?d00001 diff --git a/public/img/eggs/rust-generic-rust-generic.png b/public/img/eggs/rust-generic-rust-generic.png new file mode 100644 index 0000000000000000000000000000000000000000..be6b8d232a7801f2e459dd271f13882bf77bfd2b GIT binary patch literal 12518 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 R1N;R_R#Hi#Qrs}`e*nV-)k**W literal 0 HcmV?d00001 diff --git a/public/img/eggs/sftp-storage-share-sftp-storage-share.png b/public/img/eggs/sftp-storage-share-sftp-storage-share.png new file mode 100644 index 0000000000000000000000000000000000000000..99b594ec7cff9453cdc23af483d1439bf2975faa GIT binary patch literal 6989 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 Bdd&a; literal 0 HcmV?d00001 diff --git a/public/img/eggs/tower-unite-tower-unite.jpeg b/public/img/eggs/tower-unite-tower-unite.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e742fffb7063840cbc17a1bb9889f26b6bbebf87 GIT binary patch literal 14075 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 HaQXiLu8EAm literal 0 HcmV?d00001 diff --git a/public/img/eggs/vintage-story-vintage-story.webp b/public/img/eggs/vintage-story-vintage-story.webp new file mode 100644 index 0000000000000000000000000000000000000000..cd22f1fff21460429aa951a43da0229ff08c9aac GIT binary patch literal 8748 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 WT9JZvMnjd_DyxzJ000000000yZVspb literal 0 HcmV?d00001 diff --git a/public/img/eggs/wreckfest-wreckfest.jpeg b/public/img/eggs/wreckfest-wreckfest.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8894c5ba6f4de136228018bf02681bfdd0ff3ba2 GIT binary patch literal 9304 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 literal 0 HcmV?d00001 diff --git a/static/img/favicon.ico b/public/img/favicon.ico similarity index 100% rename from static/img/favicon.ico rename to public/img/favicon.ico diff --git a/public/img/games/counter-strike-2.webp b/public/img/games/counter-strike-2.webp new file mode 100644 index 0000000000000000000000000000000000000000..1da2d6c39f650ad29a9961ab9badd226ef64600f GIT binary patch literal 2032 zcmV*cn zu>fdf%s*iKneY^*-AD01^5^D~xBSQMpYHehe}#X{{Fjjbr+(6YEAAt-&zK+TKl{J# zonrjJe$x8P`Ze?b{YmR8^Z@;v^tJt^_%Z#o{hjuS|J~LB)IZWb$G_74H2ZJV22bV> z`ltEN%C1Fa1Z6Mv9s=5sciYO#jiP`bnf(3#VOV}9t{_gvuP>Wl;s~XV=4gR}4%<(o$v;P2Ed&+O2PGv6Z zX=+&3b;O75HGH?c!}JvI(Kbybe!@QAHdbZ>TLd;DkS)LJ9=b~zu@`rQG37=Qit95L zk#(?$)V*Hi63Pq9VjMIWJB9m<9Bj6?^ccrlDDS0xT$^S?1&m~lT%>E$O@ zK8vvpn99l>M5Z$jnj!iwM7Gix9bV$x;=wm^XNGF{J9>xeX{lTPv{BD%ZTeM>J|Dm(s|NS>7?LkgrW;@9xv~bfi5b6Sb$6B%yAC=1Myw4%Sm#(kh zcjw815b5P5%aDN;kflF=FZ`M#;_Z8n51^Xw%;*FLaF8^>m z-%P`AEP&hH05&#uD?js35J5Eg!U7`<+x=%~;t^V$8~_GV5)U{>WF>ilMUx-*k5!pP z(xrRI^?^>N^0>WOHt5)Iu4=qw!H|~A^_%rvk(N)l#K)6ylj@D*x|4|NMPXHkw}9{d zTg*qlZeR#)N6Y;xH?67_SJ7t|twiPjgi0Rje;-KPQ#wf>N`B#_Mu|1+rUbgW{; zI}FV;Axw-x^)H|G7M=_^Z0;>bmvhU>dYLy$Q0 z!NW*jC_g?Zh!O;KM-WT@;phj2zthfD`DPn+A{3ZA!s=n3U|5bJ-3-h}ph)SF#-{*v z+8ta^>)Oh(DlJeD1^)pLF$if`OphZa=6QyXNn9Zzp=tW|v{|T$#<;4S^L2BuIMBYv za+4-*HwV+p({?oZ)HXNFsjEozES!-EvdZ$BpB}#VfcNm*BmRczM{g0Umaw(+Pvy1# zx%qjUd9A6>CUy%k7o#;-7mJ!v;uw6hx{;B5MkiV~w!9WPL=asq>P9;$Q~I7e-y*4x z=c;rkeuQW?=5zM+CbIvFR($lT@^18xO$*o|az1m53EtJ=oe4BWrmt)?*#32YvT3IC zKt1`zuD(dWo!U<2r|JJ)?PV+Fv*0m1NaTq&LDvR+1MPUd-?_xhTrnr~cY!DpPNab% zb_HQZzn_XndaLi@{EzN3i6zuU`s*KcuIGo_D$ZcM{uoKMtHUHoG7RzWGhF150 zFN0Qn!Fv7RlK{0iowONL6OZ9EM)&4Q%2tMNTIjEs0gHY;jI{)*JwUY?wJe5rNsaLk zjM90K`I|&d=Z=>&q7@d|Ek8c@82QIZw%hno+IK##ZK9t`KyJTOMCRwE_Q)Imagm&C zYsZ1d968WZoyiw72TX8~YC3%Dn$H_eHsdwwPEaEB<&z%TJ<+jXQ<{$NQAEym%rL7r OMraE^VRbxw0002$D+|>C literal 0 HcmV?d00001 diff --git a/public/img/games/factorio.webp b/public/img/games/factorio.webp new file mode 100644 index 0000000000000000000000000000000000000000..e5ec4a81ca0cb844a28cd859e5414d0b052b0429 GIT binary patch literal 2234 zcmV;r2u1f&Nk&Gp2mk6@9!v}v>Hdu`i1xVCNE<|cd3i)ntpq@Dh@XCs1v+qRAD z=9|a=Mt%`&enmj?`na7{gE7v+;PD(e|cqn z_Ff#8Dmnh3m+m}h|LxXaMhHgMK}15rf(WrLNHp?n98DS_dPe72z8#1<=Kh+Hs0ty~ z>A&({KM)p3x3`SyY+O$P98jVWvG(>fa)~m=F3zbBQ$fv@61@wRRr%&zwoe^Rt6ndy z%8nIW#XF}9NDsHIw(YsOd~3qKLq}G=mDZ@v*1$FO43{ILFzBY*==4YrLWmh)D?(0w zeE7-Zw7%q=R+xY)Wo$Pr?AXUke^l4Sul z8(~H}c7d`wJ*vVTghbqkUunh0=g(G4IV2sK(03l%h z-wA8@Fq$Z%cwaRcvDs|cCiv643i^{ z?!w4+q$57^n)Dw_dANWBmb_%h*fVy%;LT~=f_>&0s~cLO6O$jr-2$_I&CV!c@6Rq0a?`Wvg-aoF5WS*R3(B9UGk<4RsNdJRdg4Cy_Nq*E0c&{6pvoHcod+Yjkp^ zs7DSVS0GIr@hjLr{xAd){aS%!SKx5!jm&o!>l%g ztj7h_x>MpRX8p4hWcl@d&EROqA?b|BtoAzhW9kLax%olR zzAkEjQ*PgTNZTB<(2!~#AoO3q^tzV)5UBN1b99gV=x(0^9(Gw@nC*(r-)Lyu!lGOU zR!2C zDk*o?h0DmdvD=%@4zU7oduK7E211beu{h->V|U8sVYCAq=L6=VUwj{*)#VL)G9(S( zw!rM#QL`>b%P`&T2BIT>;REnt@iWRV^my5wmWTC{3r}1@EJ`Z6fBL3v$NFFxW1p3R zjQDzswsbPS^UbDwTY>tY1I7CZ=}lcjKU5Qs>-fmxI<(D7^XsgUcJU4$p*b{G?i`BJ{&9*qhs!$PsgZN?#Ybpp(PT)>_lXD9_k^|wp705l_TQRcB_!?c zznekQHK@K^;)_G}hbF!tX~EWjs=2z{Zi z(jwnAp>g9^EKs?*I-S*nlwUSAIZZQYwj3Mhd%Ihzkn-dE{ROopr;tVeW>!=sh;D*L z@}qTxLKatLa22RU_%+EqDO&vsNehfEWVl&20c#`wEVyPGclII(K2zYMrds;x0gRz` z;oC;!8|Yt*qOnox9QPK;$@Hve{iCVptL25!acD?SUwFErO9)1DO7ftaik4MICMw-5 zTw&AW;{kQ(mY(t0S(j_lCkds>5AjSrYTnZnIeI{iRTCGOmUnpXqW1_FFP8IyfARM0 zbm+IxD$_ofUOnASg~ltNEn0oHw4ZF}v8!*rhTtmT+L#EvcMV%18-t7`P&!jJEM*!9T!&9!kD9OzSuU5_PB_!Fk zIpTRxnvHJzt)?>pL1_*+xGx?rCF=<(&K3n+-N9pG16AJu^-TH!;k&AboJ8TzMgS?~ zv4``;nfRb948tEsnaL^5MjxPVi&yus4?__)AriNd66$>5ue~3IbN8mm$33}?Dekxu IQJVk&042|5^#A|> literal 0 HcmV?d00001 diff --git a/public/img/games/minecraft.svg b/public/img/games/minecraft.svg new file mode 100644 index 00000000..09f0d561 --- /dev/null +++ b/public/img/games/minecraft.svg @@ -0,0 +1 @@ +Minecraft diff --git a/public/img/games/palworld.webp b/public/img/games/palworld.webp new file mode 100644 index 0000000000000000000000000000000000000000..bbdafb4a86947d45bf21f067e638c612b5bf93ef GIT binary patch literal 3534 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 literal 0 HcmV?d00001 diff --git a/public/img/games/valheim.webp b/public/img/games/valheim.webp new file mode 100644 index 0000000000000000000000000000000000000000..893ed2283455454cd4d1f1b69b26671fe4798a58 GIT binary patch literal 906 zcmV;519kjTNk&G30{{S5MM6+kP&il$0000G0000V0018V06|PpNa6qh01=RDYum9$ zcWm3X?WD48^8jqyw$r(@ZD;J(Go2^Ka|RJH0f0()eo1j@aZyToaY}h(_xQr*+3OE4 zCUY$La5M4Z@qZ)%koiq;ap4XWUXUIEeKZ$x7$%Cs3Q-BRiCVBgRD&U+45Smq!H*~m zdPII;{Yc{hY|w-Q?KI6mFwJ{FmFB_(ygz6vA@H4M9?Jh|j-g7l3B3#231|}4L*YM7 zG=zTAm_z)6))6dkFaA+j0WlXB{~zxR0E#XMBW}R{*<*c4#GQ6=dBb~8&Ucq*yR*Zc z96cgD!^2&SIROAxP&goZ0ssKe3;>-0Dj)zL06sAkh(e+vAs7SzAOi%n08W`f=6AD3 zfIm<=z&!vzNIfq9U_J`}W`Aitqc8y)36?)_!GPojRe-@v^T|G;U#K7GzcV;M2V+Ho zM#IZxmXj~IA>dqCjuCL&+mU8VS#-v)Bme;Z^s^NavL#`^1LBH+9Tq`KH`iDz+O@r} zyq$+XYr3sa|1B}A4Z5##1Nr~D3F6Dd5WkxLwX8F|abJy^DYM1qe~RHjB2L!u3tkfi zMgEnXd`DY@jgkEuu9N6tCR`_}j4nur@aK3!pA5dS`*mvIx`L1?g@^(7pRAQbjaufo zV(WjQtXxN%R*Mg*8QGI9yLso&Z?PiGs99z8O%|(X6MwNC`rH508TL-U_e|W~$d*9W zL1zqD-c0yN`7C!+{Fx{Z1q`$O;xKnvdtTM^3y57%uk*kCCG&13&Z%Mqam;Ya&*KY? ztbZK!m!`!3rJNQOJp1C3qe2_5a)pG94)C0fr|S86=&oEvX;{oc4MQO2YaJWvx>2rK z8v|Z`YJMcv3{ar->TisZuEaw#;Vo!{eKGSN;rj)2^d;|8;?8#T*I$UT}PN zYY3si>~Q`OLrN|1*iZg6X>YtU>9l)ze?Knv9B)$geJpa+xvNGHGy&^ajztipaQ5=)%Yi>)Q zmzePMedkdjwLzu(@$4W?28a<5D%Fc_ gX+at&9;mV!F%V;a|KTVN528~@_0d&rJcxh*0K>eajsO4v literal 0 HcmV?d00001 diff --git a/static/img/homepage/sponsor/df-cloud-logo-darkmode.svg b/public/img/homepage/sponsor/df-cloud-logo-darkmode.svg similarity index 100% rename from static/img/homepage/sponsor/df-cloud-logo-darkmode.svg rename to public/img/homepage/sponsor/df-cloud-logo-darkmode.svg diff --git a/static/img/homepage/sponsor/df-cloud-logo.svg b/public/img/homepage/sponsor/df-cloud-logo.svg similarity index 100% rename from static/img/homepage/sponsor/df-cloud-logo.svg rename to public/img/homepage/sponsor/df-cloud-logo.svg diff --git a/static/img/homepage/sponsor/dreamhost-logo-darkmode.png b/public/img/homepage/sponsor/dreamhost-logo-darkmode.png similarity index 100% rename from static/img/homepage/sponsor/dreamhost-logo-darkmode.png rename to public/img/homepage/sponsor/dreamhost-logo-darkmode.png diff --git a/static/img/homepage/sponsor/dreamhost-logo.png b/public/img/homepage/sponsor/dreamhost-logo.png similarity index 100% rename from static/img/homepage/sponsor/dreamhost-logo.png rename to public/img/homepage/sponsor/dreamhost-logo.png diff --git a/static/img/logo.png b/public/img/logo.png similarity index 100% rename from static/img/logo.png rename to public/img/logo.png diff --git a/public/img/plugins/minecraft-modrinth.webp b/public/img/plugins/minecraft-modrinth.webp new file mode 100644 index 0000000000000000000000000000000000000000..514ea2d31e7b1d9b51fafdcf470c5bf1ea1be485 GIT binary patch literal 39412 zcmafZW0WXOvTb*tw(UM`+qP}?qBzGEI?U+6t%$DKs;6~sp3S01o;FDYP-HLVJ6m}Mp*2W zyL;@q!?(QCJ_w#M+}&sU;-xQ7Za;4|AKTKMJ3kTE4rf1CEw!>w+qt+KJp=9+KSl3P z*Mu){pC?y6y|kx3>%2QYDKEi4F&`1vwC_LfG3#(IJ$Se?JwrYx&$d4nKMh|qy}HkE zk2zmHF5i4TDL)ZEGgq=dAwMl2J+HjPKD$0=-^V|5Z%AKdKNsIC-@3hE-!VTwUtPVt z_dkD)YrqS*Ww^Va6)z`GmnXOz-fdospOJUo*PIC-lkbxc<*$e5fs2NdnKw@Y_n3#A zm!7%zsLz0F(G%Wo@0*|CuanoDFOxU88y(4S`S+DixSO1zB8h z2%EI8xa)xV&fYG^cbiX}JKYrTRh^P=#gChVn%FNG{ z@`?DndALvBptxZ_9v`%~AfFW$4TSEp@TEc&^-_%$~OuMXU_-pOwu z?=lvrIvz^}1$xb*dTu}cs5AsFgPt&GBgfxh#pIMTc*Y1%_yk-nV^@G>bD#d-Kmfy} zXjM2%HCWm*uqw)L?#f-Q5&Acrxc@rJxXN0p6eO8NEvWJ%3nniS1RTj7QJyb+ucLnl+G>7*uasJSzk-(zGIc5DgiHO^Z<2-to<^VNV z6n}S*__$qtg~!Zlk(~dJEBr%39gv0PG8>c>BFj#i9Jm$)*u-ROdi}fe{v(F}n2l*0 zRjoUmNB=z|ZLWC`)v8i1zk&W(Rshm9EBmHuQuInuC+U%(j@KeV8L2@8)mH-duPKKU zn24#M|1F#Jm0lbyqWPr8|9Mge3gke*#Y-seVQIVeyC!k0$O#kCo??f4uJ{Q}VLRSc zV>*up@8t2ST_~vh^DS<*k?MDe{rr}N5j#sEch8Ha z1;^wZ=L_>G6{GyC*(6uxvi=kjTaBi)USA2e*}zVVh~84@z(4O{J{$ zEf-IVOx9OlZl1Yc7A=~kHo;K1QJ9i(^!zUp?imhrMBB;CW3&?J>Bza=Hnt~=H~t}V zy%)Dfao3@~W-9)J3Z0(=Mr;KF;c6GD!2EvdQAvsvDz~&4a-%EuOHS-t-uWEskilx% z^+~?anEx!gC~o|h@yJ)>Lt=UMs<2c|)OoVyRdfkyzfNdksuo!(Nii4c6fL>D!qWJf z7*Nn;$T#~6p!(;0NS{OOIRVPp*=MHctd6Q`_?!9Nf}_W5UNX$4&=*D$lzK4qO}{H_ zO;P`C$bc#EiQFGw?4M1*Q@Zw?NefS@02pmyK&_+L33)kb+*}C^nEe$Pj$X@+qB zS8xpvqS|h_TfXZ(kyuzvL4>xhm?)NaP4n>8`DFfl<6aw=oFtIx+)?%u0^Q1mmOQWV z3xz{Q8KH3s8)DihxP8c(=n*886?y*QaE~h49xe^=w=OG^&>^iO|! ztabY8`&)%tNN*lK7p10{Kduk0MN}tad9qz$9&0~k|3dCeNjm6 z7_Y@dXHv=F*BH%_pT*2KxF=`3>4;E6zz|%L*3CfOvfda!d!9o}q=l(b>~udEeh!d3 zJ_&=avI*VF31Tt^ybUD3Lg|}^8_Q~j*sU5Lr2cadaf zlI^@oG;(uEAd>Bg*cBeaPaW4k@ns;E!4pfA`2+uY`S^F($E1512WRrCFS&(5`fa58 z_5UvaLEBEvtTN^snI>7bhC7-YmI=6c@>}K&o~7XIg;v?9bN_<){)#eIpQzO@M{ME0?BoN-DnN0G@YMP*;qrOziJ}Q{s@3BHFgFi>F2s! zi$2MHJ_L@n2mHOh{FgTB#-DE$QbtVy-IO~{{O*;G$n8iPl%qpRZ&1?&H7gG+bpPX* zt(jhHkz(DpUr$W_DIuLub{5?Tha!Kyfi6Ek8*5+|^Ovux)L&=mbdD1>%U!RoKDd^o<}LCr8OzK8mZa!Fd!g}I++ed?LsM>&;LO+ zs{UOyvNQZ&vNHMrL_4zbYJ`I#nb~C)^~gdYC@FClDnvtg!%M?*N822d_J3$zZ^pso z^$r)xLFX3$GRk|r^olvZD3RnG+?mw+kyI%f%tecEu`YSyZGLP(pn$1F;PeLP^hbVs zdi*mQvtrd9vlvI4H_vS?+oA(raI9?V>WG7lo?Ua%O#pec{^BE_30K1#g;M&vm)rBF z7}k~AxSW?QUdq{dS0m?hu#Q25^GI<{-2X1h4@o3L$Gbg~lg)bQH-$~T3R*JysYqNq zMwb*UCMx2diOKXf+x--GPt-W!l*IXry(2I9VP&0`OW=Tq<9D~PrS+mN!%0?BQs&cJ z;_m?%9spfpf=#G7kzk$KF!NT+nYpHkv%-0|!Biu;5LPqc2w6<@t*!nqMZ*GdcMh5Q zUy^;|uX_JqlKp>c`sjlRz*{xYm29=L^QwW;q`CzrFwTffDEnqlJTxkeT%RZ}2LAe|EVtm#ryD>L@nrzuIJH!fq2iK25I5&nsnxANrU_4e_}HDy%7>ag2O(@+=aM( z2sb7=4}WDM_o5s6VZ&@=cX%PonBVy5nzZ zKB?E~xil@xvw0Dm7so~%T_0MG@wL0UoM*>P&SK}b6y&|c&|TXDKxyhJ@ev@<$`n8B zw}c~0oLM1m02Ttxrx?4ohMe4*U-ab9PQC2=n%{=Kg5KysfH44CBf_w7rvFs>B%Ox9 zFMl}uiwxZ(L*|mMzpUqmdtVBMkb%f>>SR;@r$~9X^s?sm>}2!2K!aVry*0S)7)yHf zIwc8;61!lw+Wu$FSqz){Qz(6|m_4Y=eo8w8Rh@UCoWt@S8D2XUagbH?|Lz#GV?_QS z)~dpxOm=R{9CTVlPKysJ?@ckcj?m-mzce#60O4GcNEky-iDD%)$Qo}BioL0{wXfbf zJ|5WeB1fCyqXIwB<(Lo)b%5}t z9FUl-tAjNm#jLtwBzhj$eVF{|j=Lm%xrUSdw6s|`!-v<$&wV`C-R;=myj^C7tjBsU z2O)Nd1SaRWT=oJVQ*BPYcZdD2o;I+-+n1TJS$0tBXy{5eBu+OIgs`e{Z!e^qbnmI3 zq4?hLALG943-J9@3p+{$27tW&4YU!}a$M=isLxXZm8w@&WiyeZ`B+@Wd z-0c7g)@~)O-V!BAEBgx z#WE6Jr}@#hvn-i>RXoeVm!R!~&T5LIp1gFphZg8NfH;T6T{|Yzg@*zRIxUj>Q%YMm zN4xY7It%`A4g`=Cl<9%d%_i0ejf>PRsZV4WPU&}#Apv5Ag$nz*m}_Wtk0x+Ac_!3K zD_Kz^B`&h|1g1@=&b1KN&=!;kxq|)sSX4(tZq4W6Qb#7jZy{{3o6?)oX@Txp$Dr@}F2q?gaog~Ts90{on!docvgam^WIrHgz{y&m7b&m^Y_hkB(YCdl+4 zrQ`r5(inHPk7dv9sn=SB>Tom|j@Fl1b} z-6-Ni>cR_bx{KA0O)#!a03C{oR_ro6Rt!8`aF}H8fzJcGJc{InH*YoLwxrrbAqNd( zUrO8iCWty(wjU(}Vy)Eh1VlJrs2vbW-TMO*4iVj=MV>-;5$wUJRI_fps0|#~L#K{A z(g8k2$8(8cyW$Sx4VsHcA)JgV%j?1NC}DXwOm1iu7+HIW@NfeG^|;jN*7X@p<#`7Q z?@c*-`|u~?r41UIT-wRw-%f}h(Uy`T+l$zI^sA*GRlkBmR|-tc<`oa=Yce8GWfR_M z-)cH0tTJzwpHODech+9p?A@LSDV(0nG6#v8*mhDF{ng)uTX%SLW+Lh5dYl~Ak7gAoSd+4|GT;c(>?Jfx# z$jh_T2U6i=cOaFn>tyam_Q|hHiDcR{O%AB0EeelwMulfZApab!v_pTyp7td&pd9uB z0C7t6&@Px~_-ViCbs-mhwiejKd|I^wxT_0~P9a^`bZSl6qDOo`tky3RyR7r#Cw2T$ z#7%=PMNTEgJV{Z_w=VV(vHP^2NowRxYSM9B2=kuW^C+zTH39Y^yAeBILoqXsA>b7t z_Ha!kt=5d`PEc?6`+1(A5igt3m}T5Fq+E0nerq`^eUYwLs07C%=U5lhmYN` zu)9-Gk{IZi$AsrZ|0R;q@#rJ(^&1(IXc#tFv^NX3>#a%&)gXzGuUEtt?jzZ}mi4|j zKncI47C?-x`ZmnG@+O~r8$W1LB8favLo5OlW9kkPWYIA+_khT4&lY_(D0m?Ge*bH< ziaWRVC?9{{VXHx+6R*dr5Gp!H!p*U{CmCFa>Ef*qXr+eBucH)ozqfK`B|c6uaylMQ zPe>GG7tF8M&5Wb)=^;wiP&{~msDaR)V{Uu%w`XhQ*(?-pPqMm^AKzUKkREq68Aq5! zZ~xB;DPA%rYDFOw1H5tVyIef%pQU<(+ICTRgNt2Q=eD2rv3l0M3G-}_?tF=w#9AT9 zRRfxxSp7z(HkWRnViq6Su7hFoPGM!V@OAFBV~DMcO&0^yg6^i^=Y*ezVItD9&BN01POGSVv z1@g=Oe!R_<-?l5a09P(@R$uugN9$xL47_(6Iya1J>Sh@_h9m)=>;dpwy>u-(KfMsx zcD6&B>v*+#l&H`JO9KmULoK%g%_Yat=>En1sYS?h1ww!P~a=oGx`7%+B zOp<~RH<6t+0*N|H#W^Zrntxo-Rebwqci!MX1f##HjJwK`QFP{_b&Oe7{JJ$-3k9fT zrat&_xtdK+CHy#O2u{ihZX%N4c*X&d#KdWl#Hfb#`xNVssYZ9yGJ880d;!B@lei1I z{4LWqf2E={s!hI)8j+p@K(*__XUl+4_S3Zvix}3H$Z-2hx zCarb%^_&9}LaN%6V5wAs8?146(u}iJQEgWM(F`?%@4`Nrk}3-*Cm@DK6H>DR^Qo@J z7kl$z`d$%q$GRIxneIst@sfTKtEXq}qa>SOeb$W>?Ry>yJK|+2@zA`$sPA~19v$M) z50F!5!R=aGcThwyPzb)zAo|S$vE2b_$`n64W-}G8;1=W&#TpdTSg-C+cX(HibFoaZ ziMu$Bhgzldmdt_4n{86?5+(|Ibcd!gdvs>rOn@_WT^pOcLJmnj8ITe0XKhm|16SM`@bRbC;*C7lzU2$pZkT+2mlUdu{+7htq+wi6rjpkYMG8H(XXFxZoS7h(r zUIO5Clhq3FU763va^kabR*~HPIMukBBu;k){BDHz+v_wlj|_iP{7$T48*1Nunc4jk zUVXmz%>&YCTFkN|D3#3_J<$8{XnMySH*WwMtd_3^+gWjxK<;&NCf|8R8RMG<>aV2W z-}+^3%u?iA+{3q?6Wh-F#}AtQej`9wM7lPna42--^?OLqZvy&33(U%`0!;XOMbYI5 zoV0El(6nO_%?kut(1L^+6evAA=d&6Q*V?x6GW+7dkw2z~DC(mUJ!H4I~~ zwpXaKMw({D6Imsfwj}DNKktABxnnMslH+^lRHz!-acqT3k~sD?0{CEOzTXJKV7v(M zZKFyI+_S?zA=p7;&Ay-r)1X-LLerF2N?6pQ>62&u)L$CFrY2PDlZ?LiR=6k{(RVM7 ztR55}Tt_8_2DBTRh`DYtJqMY$yIugws_1$jjOT9ny)yFva*KrgtX+v?T(Z1dk;r%z zXpfPyfzTqVV6pc;sCn2~9;h_{BZWdL2{>i)#5MFEng;%N`JzIlX?@^7_zt(G3>Y#a z+PO1>l?&G^V$&yI$*dRr5)N_GQ0fq%oHR)9YMFBMwy?NYPHr_3MQJTiNnvpVkbpS|O0 zAb;nvL7~Gg>1n~r08pCI_3=Chn+_alPQBQSVZsf<9(?NFO7#rYvqF<4sLY~Z9kGrG z=v^;QuXEs(e-1q0O!PJKznGrQyPR>l&y};1hG6gW{E;2mWww)jQYZ)BD!tK9c2Jy0 zLaSP~R}5E~bVS)n*6JwJKMwaIp!&}2$&e7J63SG#AR1FOmGgf`LH=rFRM&h&qvLMl zeAp0p)=D|J)my}m3l@STX`p0Y33LC2>B7J)GK%#aNq3#c)E7^!EMj3j|stUMDkIXto$Wmga6O}H<-8l6^T z&!xYFMEk}k2zk{?NN`lhiiTk2N&FD@jNEkvBm+P%15H3y@ z;~vz_{!4d7BMU)v6Q$nMW!;z_k^V(r7n~n==3aOm%FFx*q|SVL9m>eb?&(GPReIGC zNyl)=J!h{dr1%qpYK{UI#hfCgTt*y%@B#tX%%>=xo{%p6>W~5dZPe0wZOrvV1;|U= zH$^8>XqTOE>v%gUS)IMtSi2qw-&~iG?(7I(0m(IJ9{{7scaR~!)Wv;nGYb!6M_Li>VDZ)EG+$|6Pza2pm-| z2+tGR7l$C_Z8uhRP~Ju7D6pEYIC+?zJc_mP3k|s4^bRuz+C6gadmJWno&m3h5U;V* zy^6tK=7PbQ3k4NMOV2hvK)NR#x=>;o6`%V&#&O}im1uf2FrMd0TW&lKoOc@L=bLLbOY`c&P7>TFRNv=Er+QP-Z`*1gK zo22MYLkb(JVOq4hO)oSVRGy38_p>@(#|B>am@ZPcL7-bH7G>sy^y9kO&^b66YOPAT z_l-7PK}>!T7|6d~+V7z(cGy(V(%2t)=C)VWKHk-fOw4FnYEHwHJZ;X((kzp={nfg2 zkU=&OVZq0_EPXx!59IC4J#2cx)WuM6syGNS%(VZpdoE30O$yg0*YhVOm7!=4L;Zes&`Ha@3tnTlK(U6S5pvq+D^7C-diU;nWs>29h-oOHw~;tRe)90d#u~P=@5`&H7Q$Gle0^!QN!Vw=!=t6F z%eo+*$x%JtN7PMD>`Yl7sHHbx#}N6Gv138pbDgsnV16E!IC1UYCQDtHQJAoLGe0EO z!M$^|6yd@|%i)lX*GgY;y(C^}=Ux?_OgZ;;0H;X8TSl~ie}I#a+(*9zd+V&%#_oDJ z|Fs+_dEhx5rR-sY-s|Ja>GDgBjNmoKLpj?%g-j^K!WhTn5-3geLuff9%lBRqK2j zzGrf1V!X&|HYM@?D>xJ_5x`DtRAaeq2&N97LAt~y6ruL%nkR@#br+BlHS{z@EZGwN zsfm9sid-|9E>Tu(_0^~MO%QqCQTJI`%=(gF&Eg})pSOr?h7YpekI4q2;~pRfdS|=V zDt)Z>PSM#(9jNmUI=h0Rnc4y8P8p(wV5T}OIsVtPky zegj*~ws<$qEAhT<2!KGtAaI98yX}&|v%wCh#eG6wXMUDf z)mjp;Zm?xs9}qV<$yWmcO!X1TjNl}rRAQlZ3-g}5ZnyAdn?fR#)0%~R7R;5wm_MD| zD(TyMSQMZfjBLsiT`5IfKo}o2+(BrKTLpcDbf##dX61-EpzkD6ev9!VcsO0-c4XW8 z!b>`#3HEK7ZYHyfwSFFQ*U<#-I}E)138>uF6}Ybg=)J0^jdUa}oYP}J*3X*Zuqvt} zs2-Q;anV0*%AVCD5@66`eP=qsB%L+TENT)Zhp|zi%f19HM!d^ZUfH^f3$-xh^HkUi z-_Jtc=r-}LRpuD?9ngD@Yx%(Ni`OvGI%N_S2&^{{C|b^IfMhz@brhN?(!UX%?vG;E zWaO6RZyoV)0D!s-Hsnpdf78Y{<#u~Wj{M*`@vps@$%#AbeaZj;XpN7J2OSbd1EmU; zI#S*gBf6dJQGGgS8!PxaKA*9pep~_O*j;8xUyZ-o!!r!lGI-Am;ZZdoSgs7rp8fqK z3#d|wlLySvI2^R=J6gjh(P@}6;Jat-%U%VqF?691X*v7_EeS*#tymp~2<17hOnjE! z_{+5LioX+YfG`ofF#P~QkTo@RkgJ;v@$tW@FA1Kjy!mYFdU(2XuWDe->Lin zMS#0Rzun|A{95t{eY*B4Nk$Nyw1b8(qGiag3J~NNtr$b)8HnpLf7dD5C$MUSltN6I z-*!qZZJ-|3# ziubFghnw!v_h0zI6d7*DmKT(~90UL?t1p=WSNOhCXky_8d6pMv;q7LVss)IywuL-A^+nfbk+Rz_Rm~4)CN(J0At69e!#`BV zmspUO*bKb^RlBMcyHaQo`Zn1Fk;&oCFxJzLaaom4a&mKgGO{t7<UUgk{{jF2K3cD<`OIeC z6|e;4Au1nycoG$=K<$RbukU<&M$T%h%QSO8x>WviJzI0E*r2NMG zA!=3%cu_B{Fo`i51uv8dscZxJ;dvL9Y7<~PG6}{MYnasLFFkoDtvT_#B#M*51&^Gq z_pZ@k{1#Eq`v#;FJrnlEZTyyr2z=!0wUo++_&;WSNq`|PPqQ|i{I#KVo`$&dd%wp8 z`5q7ujrj*!+P*Bi=Qs41h>lBwB5nDH2B*;sLa-te(DMud0Kunx>$UhQPuq4668fsSaoT=x8}96Fh_ucgh8LB$l-uu}4Gy_`jBYQ_jSORq4?)|(y z@)hP-glTYg?p?9X=Y}8;GE(?AmU~b^DX)ixlZ;%jY`bO=!7XU{{Vsh#0&NT%j~*_{b6c>a z2^-N+4R4l|x+3XmK$a}84B9jl?^f0RdY`W3n&qEi#Uvc zhefus1r_f$^IuA!@nDGX{Sqfuz-r(4on>p4i9nEui=gQ54r;p3LVvYq=e3WXqHxQyy`L_!eizR&vo+FK#c}sE-sLxBgOT< zTcxn4Jj$(QK&E}fL6w@JT4NofyHb-XH+?fwt;>XoXHdNI;bZ?^x&QzGo!zELr$>PD zgU-W;WF}@Gpn1jHHiT94`U9oh8ezWUD$H=#85lbc=OImL-~hG@1E6)z<-JHoA+{S&0UlJE|`22E}0?5dLyR540CPg8LXqMJ4tv?iGef6}WF_TY_ zxXXw2-XcS!^)KXh@l(xFv`(fXXKTpkzLJDD6^<}63VyUrT9)%5*k)9Tr9w(?>6aNz z9mOP_#r0{_9`qP1A%!1o7HgmUmD`nABn)9SQr!TOk9izUd&;SXey8JTxT#^ zp`f;A)2PQj+QYZOigeTLM&u6}VuLJvWYK#inn98d=TS!QElO!9-$^+h!Nk9Zq?WKz zlrdOL0!Nf{A)wJ#vBv|ZWY9@AE@TiJ3}XQxcpF*!sFaJM^s((`$897qsLbXPL_7j| z5dx2XU03=e+S%^Zbc;IE4wZ&FVI%kFK*h+!I$fQDvYPY%#4O%am zahl!dwaL@%A}>A*9QQg>UfaM9whRh)8vdZ3ANmU$z|z?vjF=K(-;DGyhz6j z6ePap&V9vVWs*&L5}2>XeGiTQU)Pug)2Jg|ogGe~z z4;Mu1<_0&aoEt+~FmY~eZpLI>(o(D-M=ouiOsz2_*i1R|6!=n3i)_wu8rf)pzaW$3 zBuR=JB4nLf(y{fX6a=FM7hbezTHAh#BPUs|Ycu4Uo;Kw6-Zn@@yq3BEJm%x^W z8ne5l1|HdU>@>b)zLd%1K~`>F3+Yp*n{!o)h_B={IvAACf)&XFJ6UUhyTTyf)_9~q zN+;%GZkidEAt%XWYC?BG(}OB(mB_zo@NV;^~m^2bjt z6Mo}q^EFe3ON3oX+Vp(KsUmLnljJZ;FzZ}p=>2K9$=v%wnLVkWkk;;o=2W9xluR zNVjx6=FraS#*uhGl_-XzXou|aNM#ttq5GI64d^r_t>##YmVzY`&pw?Xax#z_>qo_S zUy*AvE!Qh~?Vg}UMVj@oIWYEd>sV_#5R#nFQ3LV|Lg=ew!0bSE6cWX!nP$mk!jwJE z^)LCce7sKI9sKSkJ%Ji!Aeg&=c%}YL2jWz4AU5-d3Duu;{>U-5w+Ga;6i%-=D|O@P zR3RhuBJ` zt~kYL;_bys@IkdCa#_)Pd+s?7{r)s!*AsrKEf(b8le3Z4D4jE&;`6K%pdb(l4f*8&$??dQ5sAe(=^%dk z&#Aa9RXiVJRFmy)r{4O(^-s9rrzk|W{ls99(0aCCuIZPM5b-nLG3<63p5w@nR3MIXMM)ql2x*~k%_6FDA>?m%vDL@g?N6Y zjkNMRE%%<&L0qo5c(<<0w43@K;1feOB020TXL`nPgy|5w+aM}A5lgrNt&T&g1a#9^ z%YMs4)XL{KwK5SWZnKWK_f<3Eh-Z0=S%Hd`y&)q`Xq6qyMeT%r;i0`pspV-zx0nVN z17dSDL1Ej;`*PJUgo8Kx7g#aQ(x!`?(&f=LW&3i{6qDW7!^0@| zUh4Mptb6CFHb*!y5alHh`gW0<48!{mp9bvN?AaNNwZ^WB{+A<*Gi3?QHCal(0XX)J z;H_9hCtnR^+~N+~=XpP;4_7(1n{7W6BJwbf%dZv#m&Ca0y1$q@k4V8~EJyDLiHun1 zn}C?@OEd;R%Q>oXWJ>jEKYuA#RY~x+n_gh7BtEMNP--gXr*^_`t$`M2ci${N|EkAs zvz|hz9Ct^S`q}Dfnlr`cdN(1fSeEoX5gA+K7PUZXB2mb(&J6a$L&zk(Bq$5k|ST;DmI9Htd9+}!?AM?{H%I{DP zkyNJ{Jz1IO7?FrupMBpsr_pu`xKB}iRutxpjrqO7b5d3FOzLGLgn5@M1Y`6}Q!AF# zxmSP=PFCmcdc{$gjw%PXO>9iPgFY1q4K&r6Q<$LR)7NYOX8bE5ENd-((d&t#3 z4kIAR-rUDeNnEh}Rl9tbECV^?E0F!AFZYu1(B-}rp%SM!`gHZX5 z;!wpE)sl6;v}(o!s(I&ObYtnoh=E;~H8aG|d&TS!HCgEKODpVfhgYWBOo`)$$%6A} zxjf?Qxorf^sSz4N3ZuIXpogqtgLksCfjqcGC8m6w32F8Dip6yCPvrCQwRXD_nJ3C?%H> z|IdnCaGCAW*GQNGc?iJQ=}=$K=6P*OX}71g)UEgQ&PjWv0GYs>FiNv&F}_t5RHb(; z0CQvEi6b;N`@Rb6{pG+xSpmK18U6u;+qg)aSHBS~C(M<2E*3F>o~uZZq^qJsgR-v! zxYK;_6@y2l*k(>#PCzq{$3>I+(iUMJD+T#t%T(S%t_$6yI0g|F7RM5iaDhk>Ur%<| z0Y<(N^Px1bl%cPEhST&CjlX-7cNfz>>o>ZcMmfz&HOXCe$zqKW$uf%SEc+5-k6*Z_ z<8#4SIdYFc**fLU7$F=?dW82Ql>_XAYY;-t&1`tC1*@~Jl%+W%6N(RG90= z?8#3Eakv0O$?JF*T~E1a$ur&UEd^Ff8~gC%QtyisO^(~pm)}?$U3N7_|K36 zop@yF)--QFQfo#z;9Vp-z=Bq(ZOW9+iKo0W4XO9q6DiFR*$c<+hOnxm(LK*k8?Z`LQfgEmeHqQKf0$zT<#UM zk6tHws$6?t&rJB*`&Yl$kUcFugUh1yR~79lZ>98-Hd&E>@{sT&@<&kg?o8y3FZgLB zMzR>bgToUXWSq?2`v-~}>upx)N4)q@)|MFvvNlry8BdLYd|Piq!7qsw+;}ZR3nhC+ z+tV{Ek|u+cZg|sDcLbsm8vXL#b*&NN-OO)?bt)QUnvY9?kI@;JDn^uT!~(icr?l}l zCQLn#bG${5mOTMX`xQ{u1K`D^z6=u~6e=0Gsf~cm_uRq?H!+*S@Oa!Q0-g52pmu+; zf)wLE+W7+)qlq7W_o|a*f=o8fH*6ysvVWrQbQXXT=yH-BZSF}l?H!EOA>=?bops55 z!rwZU#z)c^YvZ?rbYF3jhCtY%^}(yH8skd*bi7ihbZEJI4IW=mP%C=cLbF-Qfx?Be ztCULD*R(IVHJG^h&nfqsTN8#8KNe_vY{(=&h(W_((>~MPV(>!6V0DKy>4B&j!9Dw= z((AZiu5fcF+H~eYEru)M)`98TUuKq=0wavOE8MQ)*>uku1^QT>av-UmyP|s4G>FCa zuIB{&Y5>no0n8+8?XuKR?U;>rXcC$PJr4+}aJ6v)|B+>Ev!w8q*t? z5vsA$Nb>|V6~0)8b4HYWNRzbBoP{`-qC1}L$VW!RkRzHV7Vqv#%VC}%Rn|EBAgxY#42TgxsiYoKcCv>aA!fzyT4Gr{57#_oEmfN~z$lR%pGw z*L3CfxmpnutAaWVxx`wVcWm|#NcvVx8Cg%V_C3CXWIduU*K$d}3reaHZJvZuRRBhb zBlw~34Ig#w^ZG){)rS<0hdEJIA+mg@?%`FK`Vm4azoMoIw1F(mwpazdZM*X7cs@wC zu_#ML6t=I6SJi}oY!^*ZWuDB22Lpl;IgpjF@ zV0yvJ7>42PiaDlmp0&&ogdqo)00;znVsef2k^CK?BR}Y$l_5U-wjO0QOnX0dO4!I3 z=Pb;??(E>}c|ZWvYEYJQV*dMh`81fQUOU1uGU;kk$7c>m0cEEh7HDU~NL>-SNL+E} zk#7{P>?-*V$>PtBQ9%+75nKGsFE8m(nyxp35Y#LAbpZn-!@^fVm&$lKK$uIziF(S0 zrWg!BHGLl9)+59#M<=hEAeXa#5o(yPr4`s~bIkfN3?%$hhQfG932JkNI zw)*v=7sK_FLCtu0fikO5&sKINVp2m(cU%=2FyKuyB_M2f(~%MN)D^i=i?X;I*Z{O9qbC}WTpk>5mx=(Lg2Eq>2+yr!Lob|;aTT4nulWH=$8AWDV& z+%Y9zO3=W@qnY^#|K(8u9v~NHTV(E{m*as+|2zUSo_|^<$DN!fF_*ZJK*jjczow%= zR)9jKR&_XThzgiFr~5l)ls5K?z$g0xX++f6T*Z$2wE=!nNLcNwOf75|%h7vwlP z;kA-1wn6zdBb@)PgR&AeNcnP0k`EeK4W)=8kRuV)y_=z{NQ@-s1%NA`7?8=cvek1> zigA_JAl)L|ho?o7nvCj?NWDK%$!^z_>FBN->vrEY_&dxBq_`XRlL#Hk?c z1Yz2b1fHqVD|zU!pv5(;toJ!v_k$$(L$-F3=1xKm=+|J1u_Ui@7)Q|MGFeyZ*6gPd z*FXb(2~qGQk7*R_=}mDT=Ai8Bax2mnkpiH=R?ktn`J*dUHGM1k+P*tn(4)3Or6-l6 ziqt4uSSuwOz>sczr-IhZnA3M3R&4>8*J1;8PTe1BCk$w}d#4msfr!kU>5}Z^rg%94 z$Ff{Z#y_d5;=8RhBAmF-qkUnIpan?mNYg3$z)Zipx6;Zyt$<%o0>1IA0u!Hh-?c32 z;Bg_Y27xkk>GdaDk2YlT4dV}paP(S1M~PzavG783z0{3tkIxs)6K@{!+rmiq#sPJ8 z*A?SJ3XT&I1p#~*>OoC(Rb(*Q7hinV^=`X?aXyYVg~Ex8p+IbcKu)U3`Agb!i+Ilr z)ASE#&X})UZENJgL>ORCP#!toH}{aKGiGR#8VF0Shus9NX4X(g5c^O@XXYI)zQD*A zk8*KayHg}(D<`=Gur!ou_90DVCzN8GCO8js#7(zLYjrMzP?Ab&#R8<>eqlVuPIo=OvCxaITtYVn(#kYg@}g(EkY^NYI``Vk`6B*`0hdIB^C!(IFS5U@UR4Kv15j?;U{(9#I(r4Zjo% zu`7Mw>Qu7oKUQzG*ah55CyROTH<3IvkBYX2^*f91Iv)3$;A1EE@^))ZIOH@a?2;bj zyBrO=_rqGw)PENIUh(p_WF-s7A?k<7q3KDv)-~PGx&96SKYU{ z`S-W??ITCzJ}Y@y>h*Al#9h+GnXh4(El4T4brs9%umdsdot@HPRY4%vt*zeU{Rgu( ze&N!@c>jL<`|lT|)tod={SYUcckKMxunmP_{dgGXt{P5cD8yC4#w-fJWJg&pR21>2 zS^>`;JXg&emeEc~5o6AMLsPCjqLZ1_gSRvcWu(nfW*z{qqB=Lva($4jU|Lv8px!SQ zG|%#W{MKUIoXTzs3{!5Ey+b{qExUTQDRf=#{|8q$ z+JSW#=&U&kg~Rh@C$sd9|GB#P$@%%>8`iBf-h@3by6&nCPDpQb7;xdv@5zXA^caL) zP%AYfLZ^c!l@nUQF zGY`du#hauIKc7Z5)uvvWLzVCn#AWtIvhCi2%S}PldOWj>6v@|##Q;vkcH^1i3d_tI z5W&A5+?z<2*9Zj}!gMm^NZx#6kM9L|ihsIxDfN!J!8p-EAon62C-}~(IlSp_E4HKT z>7Q@u*=pBPmz1PAA;HwG)irB*W2?ImDQiUjS}xAjO|iQ>BXROOl|cr-#K~w1v$nNq zU9bkHL^F!}tbekVZuA}=^Ye7lW{pu@V4Q~zqS);VF5jc!_0{guKU0;ZizDOz4f6=H zn_+fH&H2c(xwDPU-aVGUue89kI85xkR=hO zh^c{aDm;qM|H4XY`3HD+f17@gWp%{Rq6%i1EL(dp{GSVg?~(Lq>|T7U6l4r3nCR2) zO0#A0`kc3N%ae3gq$e{#pxH1SZqHct1MTiyT3}c8E$h4LrsU&BWkgACogY|8?4W1Fvh^e9u1_Z>FiOqtJo zt3WPQDkTLuJyh2xPwd0wTM z(Rf#d|M&+Joa0P~)0=O z$(mn?F)Wn%0`G@GpAbPV6xK%Bkc2{X&2#8Z`3c|-@2cmnX>Bf!*z{5N5WfIHU~bL~ z^p6CHtA6!fR1?KJxtL~uq}L&`ErR2^asFnm#!077lR#LiG6=3sQ`x(^c8U(|#F`qO zB0hVLxs|Ij7V=po3)STgtsisa)_C@~=Sw_|KZI{Rf-iF48er+^&gdH^gf-^k->avt zf$rCh)EuODe$jg)=0@^<*iM5XM0MC%e!-67GYAV2{e0~~uZUh9`uFs8;p=DAJ0~G% z(VfE2LYbINuyQ@&U?_X&TNnvQg^aChz!gP9Ngp}K$yedYPiRsP>y0O#6tkzUc6ZZ3 zu9s5@@8(k?QO1B^-E(gAC85u+B}Ie39#tn z61QQjJFr9K2oqd%CW>Sies>WCV)O%Pp{;CFu}l0UxA!z;_v2hmQIiHmi)l3L+go{$ zyh87hOvE|G)jLL?khWjRGDJt&v%|i#3nzZmwwNkDtu;nQb85<*qGQ89{_xHvG3pWC zgWXj7)m8L8M}yMZZsjr9mo*KdTdg?YO*zc#!bsK3cj66e^y*K-%G>P{?%=36{poY> zc$AuNz&H3qzX8wsC1yAZAX#~Q^8MHjv!^GXxWA>(pyQ z^Q9&_<$7*7m&7Odj~;I{z0}uLzS9T=fVFY{7VMEaTHcn`#$ZAa7YR;n_%I_vx6bBNs{F>|a$(V$ zTB%qMekpS58K3mSURw81`vx z5MtR~)tnVFxCe}*;{m7w^1)nJvf3M+=}hE^YQ|h>CUf~fI@n$7HQ=0qJzr|SeM(@k zylpnGTW|Ueg+JBiUhW}&{%(9N(5og|UWR23a<^A}fnFdX==fw1Cta){=QlflKaV># z{$*DPw4g)2VJ%^cv$-4vL1K|TzuUlLNv^+Zf_GtWG#@oAWv$7E1JWh>WuR(dA|(e8 zMt>ugPL43-PfOLX>)gIIoz4LB8l@SwV;Y0At`^bt{&B{8Y$EP0IMi&UVsWr^fFjXo zTd)QVLl}Xdlx9c!8i|!BLi>*FB+B_ZsUZL2-D359$|GmU5u}NRN|Wo^oxEc@?kaXw4xrAf^@s*jwDcs?zyqeHRe|fAQy_QiW^& zNp7dPvuzj8tpdfFHi$$me^s??nLZTK?`Haf0)Tt?Yik!I1R~?RHHH0Ie~9!>)=Z4` z4Nc6*+nC4hR2&MJ+F!E;C!~U&lqm0&VQ(SO1jzjAG!NX3)MKRKKwpF;Cj_}s3A=FF zz~(+dR$0nn7BzVtpsto58}bADAhztA3{0h$VZNzD;*paKJuu5Ynnm0kbT75c)V0`H zWO9)_Jqz2McMQh)Jk32~Xu=yB`!zc>Bt=mH4mZ`yXL?#J|7izCYn9CMv{k7xd$84d zSPTs8SV&Kt@;$N~!Nr`cFj7)gJllEIbPZQDsPs#*@X|(+eJL8s?{3@mHnZ85nOuvzlLdhby*o#Y;W$75BW5ZH>`qcc z?m8UPq)pL<^NB9GuDNx-u4%cVU)T?PdR{a!edyqH^4K;ZlD34J(dVqWVJ*I+TPwb1 zk=4e7Dm32^oLB7^5*tyZH{n!z40h`S5FMuB1LxOqE0ryNr=vJOT7z#8znLo0Lso-R zjv5`RKeq`^T!XNxt|@&U#zpPOkVR144WxWi1!l@Q#kD7^GL&HbrI>4(xjXzjSgnK( zuDyg;PAASdkW2!6WZhLZl|iP|pp-})hN7LVe>zoAeH0yXw&-O&=GnX(usrc~c0c5T z@G*2XZa`W%$WJ_VF7e0BV7)dQ9s87x{Z7oSw+p3GZGubiI)-+A6>P0rRf8xzTcgvY z(v9F;<3b>gu_kR82BWc}HLf=7|g!m?M=vTLDAX#fD7m)s2?6;)V= z(E?q&q>WuNyeqHeE_e+HJJ`ZVG_P>NEH}8@;Vc+t z{h8LpwA_OBGw?_Je(aWNl%m z`7}W{OX)OIzIF|svhLA+{LDMmqHYqZ(9V0vLCqbj=7uQ@in1}Tvn$o`W1WC_SLl9u z>a<34j*k_ zq^A>i^p7z7z_A+{$(YlQsLa~5b_lRIvcm|*fB*v3;EK5b&%TxOot;aDw<^;SR}|BM z$=;Jn1LV4-5|mDaQ|>&l6F>f1wBa5aUS{n^IyzpKehw8`qh>kesJ;>+<0@83`it@; zi0!?{=kqohbYJ@+^LJjSy!-O**vBG6%`~Iw|3Jib^e;39Nbk`&NhbI7vC|tfO{t1p zI>Fd1&Q|$ZR&%Ss3YVV8_^V<-)%)h73<$dsJG$c1GieF&k2?od^qb5W0f@XUeLxvyFY7ss{hWk z#-*_65{)Pbl5YQrziqy~H1PKa4${UbObJf?quSUE(T6j_I~mOspGC`L^ZpL`(%rR2 zmt24XsZ~sGswBr_eu_v=F(Mu;<##7^pGXqy;|qCD*2tQau7;$90qB*?CXHW+B1Djm86Qr`4){|d)OhczLKcfIfA^Y zD0?ctg>G3FN#3)_$MoSj7W%-*iQ*Oy+Qxut@O%=d<=%V`#y86DJ3jYmK z(^3Ot+zr&QQ-DVT0Kfw{8#u1>p~=e6vL`1WZ?5kkT7JIqVB@y7tI%Z3u6pt)Cnh!u zc^sAO3DJR*Ab%v^k7YX}>1vXBOlGTi2;S(Y&u75oRuHOVUbBg@)(orrEMi2ASMhSRaC*4_Z3 zp;m-hkfnV9xRca-&eR6Ta5L!MB_`z3whXw;*EIULCdUfsp-qIM|7d@n$d!?t%&6?J zK=Rnpx7s%0X_DCf|8*!}NJQ|9uBQpWDH#A0v<^ViFOFke#EV6^5I6V&(Xt0~l$1WyE ziFLaRKBH}a@JR@`8uA|(Gcj9_eFN+gu<1B}b^+at;YLuGj(=~MZzMz05@$)Goif;H z`q;7nDRPd4C-e&_D}FM;#HkldvYA|o-qaPBu!_#Gx6>?YIGZlV+Qy%EBkn-GIkQlb z31N@FKo5ftNe+<54We9G>NaGd`EunS62J?}vH*=wgTeUra3ZJ=uS^Hc%aLBjCnEWY zRkRftz98e7Lj92gJ&J!_*jvCNGLQ+eg<(QAOp=Kw%B~t>0g1YVxmU!{)csD_v+{E| zpL;Gw9t*&Ym02c3d~m8?G?caC7_Z9z4WnzeUsDu5ZT@N2g2LTH&tJ?$Pask6Dk}b3 z)J|M=;{~~r9HX*GqJ2O7Ob!((l|@xGK;3cphKumGH4v@GTt-ryR*k&M5w`0+9o;Qr z7)HHnGBP|K+8ctHP4u)3y8}H>wsy^(hywqanb44-#{_;p`z_*Qwyf94nxvrPk8*+U zrj!F31X6li3Dsf0zw;R`X35<%XVo4fye!5=yw?n0@X6cUZ&FPGERJhB9o{~Tn`5K) z5vuWS+8U}eyR7bh_rdZQK%pL;c=MMcl2CPqZNcI1jk@Q{2J!QX{rmVU5ul0Ear1X8 z(@K@u9fRa;gqu(UX$u)l*r9L)@#tb~5&YK?Hs~19S|MRSnflqT-c{H8?Z|eMfgUfT?&~{Br2gH;fZ`3H& zaYz&L=40o7PF9`!A9Knb8*Nk$!Xq2ys-_!-&#M~@KH}8 zH^HOdi_X^@JSspijD${uMa^%ZO7tnS0y$)y7J%CuNj8nGOT=s2Ai21N3}gk*g=NZo z8aC_N50b+d=I!2M!uu_)*q8 z3gqS3$NalN^oklkBzW=e12dFODnG^TyowjayFR%m%Ibw%u;FD8)63V|>2KPte4X&X zLvxRQ_hCW!gg&a`jU&;H1r43bHb%Lvf+H8qA`dCJz-egUKgL;rAuQ_Lh*WG6ZrCU> z>nL^sD*VoAn%d$@Rn^!tjRun+&w>>10A~JB`+UQWQDy(e zn|ykUu{Zb}`7+5H8O|BLJk&h&*xc;Z1EIdQU$wyb*c8n@NQgZ1Khx#& zNgZ0^w|WvZjfdeAgRXT@mx-*_)L5oPnNFwS5spzjnPd(B3P{7?yX7Y9rI9#&vvzqvk zoRb5YQQ2(cK`*)=49(w_Ydj#VI48+iiEthz^6FtRLg^RocJAtP%fKLiceJQ_2F;+| z5*GT$Eogbav(#hnvs%m+5|x?scRj2}uSWs_8B&Pfg+J)`gaKZp-5Vob+mByJi!Elm zgDEcoOCmRPa@exOT=^pX-xJUhv=NpD1X>=;Ld3KHQESQPQGJ5^OA~B+;>d=$j0r*l zOpiv~AR^q@g5EwETS=e#vbA}A&9^C#&zvOjrB&OkO;CcSO%D;#84>1|&I`^_DJeJE zO;N(1va4QeN=b?fevB8LuR`R&F=QSU-{VF+$AlZ@#5Za4R1f(BR3+I1@cc1@u|9qO z&c$&!FO}TjO0_NKM5>_g+n)BOoMFRlOr&SO6BgCcX8&5Cubs-?lju*DxL z*lYg}toRJH{m>}G+CDEVB6JWlqiB+7io4pkF`Vmj9GwPjsk%#_V8fY7n&Sq{On5QX zkOphEd2s)2?h^oDcWz^)^X@Y>9$4wDp@keKGsw(E>+4(HmG%_wb|FYkgqm=cFLlw1 zxUF7Y8h${)Q77WZ3TgsZ{IuFLFrlhCOP4lM{WlO;BqAIjTU7XVtJ|mg_k>@QMk@-_ zJzftsTp#P^pI`Y#+_IR?(9UTJq45BbInZqe`rdVg|yg7BW-TBQb!a2C*y>WkVq(vxPQuw9z#%#H3o*Mjoy!=YXS z_bILyhPEYb22psFuyLgkj>7J}=zW26EMr(r#fUwlqmt;({Ev9VRA7&>Ro|O8%)J?t z&k&v9nOKry%nb?DsQ#HGBX}u#Syi7KJ|gMKPM)gRl9}cMXA7qKeys<+ZE3KbW#ex>hjo1kkjjYnY7*4I4R^D{o?PMi>x+?+EPDb`|Lep`=2 z-;VA$^3msG^^@#44p4|Kf)$hd?>%g5V5~;#N~$vz(h954h-broAGAGJqIJ~e23LTq zsu8ShpouR`g*FMryQF2VHt$A`7&u`J%!AaCTbk>hI-?a#O3^nFS9H>CNOq&YUt&s6kLZHNdjGC;{Pt_7u^#>Fj)fcv>oDZS$u*}?3N7ir)?6cSD*3RuC zT_U@n5HBcO$!Iy@{r(CUom|MlSNMeQ8^Q93=zwms8H*<2ESjqffs$zP<=e(;w9P1!`Kskt*Awz}ob zF&PLP5|ve-8}aJlFSHys^|WPsxjy*Xz(wv^DgADPvNlpF_F(6WW)%}1LSz0}5Y?;% zqO=R5km7K*2!NI>6nYV~#vGg?b}3bBGTzm?d`jwfV1?l?v#g)t+-jw|3*0Rhx>?{1 zwLMu(L%PlIQ~r_abL!8<$NN1V_tTC{9NhZPzy8!5K#RrvUhf6 zQo%{2C#W<$tLYLbP0du!!`EK9l!YI@Q&@HUz%X;tAw!60(WBSD_Qto&-jAV!OPHla zB6)s5vB0WL>Te3^D$T+$4Y8~J;Ieh4fzX*C6AP7%*dhvn>&ahK2%z=S5VSb{+&V;G z@wo{%O|dWq%$zg*E@l|zv9W^Vlq6l*CU@^`yw*W}pgoe;mjtjO7wBy079cfC*FYri zizm1+Oug%EtTk$&9+Se5#9drEwDXP;eVGutsoHM|PqWu#T$eAbR3hot;f51)MTKJ! zEm2!-(m3G}Y&JVe`K_)MaAR9$x;6e$7%3$SF=04*1b6vyXC=9O#G<9{bxPtp=R^NPjG*vBV_sC{v|M9yEzF(F2v3w^e(5ECi~dhv$` zqvzABPCaS02k7w;GpZh=XykdX8Sk)9>DE0r-(#?4QDb$@Jq|S`8^hek1ei@j!El7< zIXd(;YW4K+-eH+PG;j#->#3S$I=QChhoF4w(1J1Hs1Nd4Aq%loGU@K0{Y^5-6QIxh z;>aw^W2M6x1QHw%Mu}9~JcMxyni0^#5DaRLm^vfC@%q>nb$*H4_=*k1i(%Vd(FX_n z8`z;%BCGkP<|R!XbQq*@#09+rU#J4K!u5o4`Oh~Ao> zt&K+il$?vMC@NM?8}v!Fha%M|Q-r$U9SmNeW>Xib%R2jr_25$6xoMb53K67^mhER^ z-(G8aO!mcLge<%-by9?yb1;12*ZR8@#42~4zB!cxi zrkw8*q>)EI4F;9{%5ml%Gnk0o6#}D+$#p%Gt)uYj}|Y?{9*7Qs!;B0F(?j zh(sju$j_Gq&$0frYexiT)tT0lj{8ZdbDO@8PokM;BxKexLGrL{euF|erMqSlh$x_J zw4lrWhZK=z{^gcAvKNdvM-6Z6OjQT0OxF2kaOq<6eMC?|VB?i0TVH#|DwNk*s2XJ&H2h=pAG< zOmFi9(*tWqxGFnGnu9e~SgTR=ubbfk`$4qI- zPhHmIj82+C-~oSQT|d{=KsJe)$teYR$qy1u238tGE0(_DAd4JP5a3KrKaH%s7uM4* zQHcG#OgO7%ZzAzt>WhxOA5tDCdL6sYXLe=DfpT_R+|pc%L~KHE6b&)HVR(inV#0Qi ztgHcxqac5Xp{#*uV1IokAbWzjQ=kM?Q6xftP}&T2K^#S_l&y-LIk+o1Or0lvULzXM z#jd#0wcpvY6ULsQaLj|{KH--b*XKzo^zyFe@-P5#vjAtY`@Pxh0b zrpr6X4+&rDKKAu=K?L=RqKJ}}9YPilIhJ}C3_)+h#^N7}#73AybEX-jOVay?cYP@h zlwIUeh!dSRDue+u*|xhJ(jnVKgW}PMz2aX z;pJkWWD!I1V}ySSXI?q1==H4$@!Anq-vMSW)=a8=NV!?dX=>~=3`~Ovkg^PV8tDrW zU8VEwO4{c5e%u zc6wEtQd5rv?APg1_*~Py`=SBQDH77co5X~^$^T0bSx;T%vRG7N5gagLFhhg?s)}`d z!Vu&=&X~1+g7RtjT};iC0yCVq0u~=q87_6mjO7#Px-uNGD$7H>9t0N0?Ru1s(!+#K zFzV>%j9w`f*jEah-IPo~Q zvfrejs7@5VGR_Y-o&bobaOG@K+Bg}ZSh~KUV*?LT2hjd=+O*4H z00000000000003vx@rIciE2zZ000Bz(EtDd000000~fVHE}#Ga0Zy!UKbi==-Uy^c z5TlZ9VU5JISDuot-4s}2vly(6|Nh{-)^#d!DRZ)`2S9(6KU#L8Z*lIM2d^Xh?OeUe#od&3FcbxO5NU`#pW$g5h&BT z;@!q6iY}out+50Be~*d zCjnUdry5(axUTyvi$K_gzgf)7yIVt)(R{RmG5TQmEOE;+RrOIYrHa>MEhuzK(e*H9iCF05T~+ZUdZseZ?)v;fqI z6!DE!*mE8kSIv12w3JM{Kyvl~efD|x=t=-MYb<8#$SF-jAk`Sz*w8`Q>TNo>6_>N8 z6_wE}QuG|z*E;2Bl=nr!cKcvqMZatZ97U`858_VP4<#Sfwu*T`0d2G%2}I|=`vZOL z$n+~lICGs??a3;_+oefbY%GU}b$S1S#mQS-78yY~Hogx}=_{xFiE^peu}6Ms$Lh*H z{=#%Qy$;K%U-5Qj`Rez*LTsIp1h3qO@qIz{I*bN&-a*CfX*OEt-*MRJyXr;Qy1F$i zeN0ctwsJ1n4Fk312xsgbg)%PbJSW|R;7gL$DL`|eHB+1K(OvBZu6#51vfeb$AK~xD zfx^j8+8)R0V1Kb0?gdKt+*WHx5CdTUz`bOMq!eT-zDQd3T3pIkS_)6kOrJ3;OVi}O zM@qkrZXS^H?234oa{iWLs!yj&_9kD#q2V8u#^`$F`;7 zbSNK(H9FBA6NMMko=pra_f}W22L!(-R@OHcm!zXk%N8@j(JBS%z3ie6TSZ%dFbH(Wxi?Tk%IPgXqM29 zZjv$)X{CxLB0iX*_sox@_RonZTLK0g?OR=cW|-*%miO$T)w8Oir%Yoc`(E1isFF07{dUfgs@VNk3iHY}uS zPm%>QDJ$eE!44y*(-*`LoDrs&(>dzC`BMA6_4OluW`|I@h6KDqW*?r;Jmr?8eAHxtgN3ouesLb9@sEc7xtY1MK#{8CnCR! zP+B&(z!LmMXRir2Q^a09THoa##Dk^Y<5G(LK#HdSs-8cbS(E+NBda>bkT~ulY6%~~ z%X4V}H%wwu+;=7OI}u-+;cfi`JNRW~3-FmO9q^s1-hk$7pYid(?+TGU0T27iUs; z%fEOWLjk|rRd5;@0<+-6oV{9a`{+rbfKK+qKq3aoa_1;KxSZ&;tTa7LC;3d5)epfdm(8B0e?0X+jJA?@{Cwj2MCsMDRF6TCmT{7_Z(jqklo zQN7~5zaqeWY^YMKf{gjSb>eXV)HKah_xFAkXMkgVs?fFSC3S78sA4w`N&{}Lb(ABX zAlym$2z(j;Gb~{Na?O|!fF==g>Wz3IwJKDj1c7R=DM!;)O8``(I?VR3*C(HFCB!t4hx1VbkQR|G=v0GR3PLoR~U=Dj* zctRpSpOkM|{k=G(i@}%VM0)bC17sbo9D&gbx~2YAV-IKA+7{X93KHnq?mDtqC!0&N z`&M4d(fRy>qJSE|inNH#DBq_=|7T#1+exfi6yO6uq5BvAi>2%TqzL{lbrr z%AR5%4)jIwxe|dVNJb}$ujgsHY@i}gBa}nIiMwXS44mYP3qzZSVIK^*pPCAX#SnF5 z6UQ$BjZbWQ)L|3WAf2R5#O*{6KX3_Gldx4cD^5E3=%B^ipCS7ALUezoq9l8#&Hlc)z){%b~qpTD6 zyRc`N5@+wC5(K@{_b0FXFhcKY38zI@)y(S|^Tv1QhQP;@vTf;2(v%O3 zFf?Dm^-)g}IvWy2!1t~oaIN1U<};`rjJH~nSbU7AcKcWVFjxyCeaoJ|>?&7 ztJVHxYsL-+qT~Tt2g`}E%R+^=h8}(zEVW$aX~*NiQPi}?)m`QlQ=ptt92rcxn+aD6 z4Glh@#gQA`72Vx=CxdNp`ZV-%3>yGT>_^_y9y;BU>K-V3X|F2J^a$!vsi(kR727>Y zc|A}wd;=Ibkq1JW5{ViK&7QsL1Agm?^xpHifQ)KpFdQpd5?!viMJM_ zJe=H&oVOrxtU`nkD%nbY4s^T~B2xBj0 zGrddi3@XJ7&>W-JN7DwaK~q{LL?a%9qk#aw+`V;gjc zk&$=kwpCdbOUaq*I_lb-P1%xkf^n91-^t-GQdDA(3N$~h@a#oUE8C5D?^k1`;%)P(#Hwkr0zX?x3lw6 zc-lLHAB4Vg7K0o^y(>n!Q9Irn3Y{iTbbeU`e_I|@MgWi~75zq{`o4hOtD&Cg_(LR4gD@_nLKfQi^k4TwoUXQL1T31f=b&z{-#R(3& z^3;JWc}4*ZpI3bSiLT~{8H~zF51(k&44i%i^^XtG_CE?NiMK*z4U(W(-r$H!pV8yB z|Hl-e%A}CcmPI2d-gR5d_Ikn({{deA?(3UEKswep^^;A!Hmrpy`giUW>+L@h-UYMz z&OS?kzS*tCp^s0UbE|mU+td-v%+_!K006Y%i0ImrY9@U#__~Y!0gl09CoyvU9+1gb6bw?EMqYEJArVRhIqyJ+@#TdR)kxvLe(P6` z%q?MXE#R0|nOu@6Z&)a<7p;WD&D>2Ly+$B_FDGgPhdfe5xDV_h%*lO@vSFpi<1u~c zSiTZ~n6+_OH<{7(;QJrtq#w2@1Tz$*5geqL>?p?#b~g}^3|6^R8b9KZ#E7?BroMIH=|LsxO!s zi!Vq+c$JmAKVyZr=2EwS9MgJb0li`Ou+*lgoBzjIG;u)BJClpc=Cc}%_}~UPBZNl6 zoAW8&gdj?)-65FEv`HT-ddeP{)|QKGcu0d&+bn2tWFe-G=)TERtFXyEV>oMuAnTlHbd6=0jZwVT1^|& zqZ6&h0Uak4_hBuYben_f=CDBkwEtG=kI5!l+I42G`!#~}+5yQLYH&?{qTv?IP zqTld>H&F|;@`pb=XAfriln}x(Y{c>`n=d2Rbi(cE)n8!(b%Y!W!O9Rb|=NPfNbRrRC_s0h=yE||% z2=z4eyD{Y-9;m#YSLMY&8t05A*V6s^`XAF9xd=1>m;Ho{Qd}$x`SK{ZH-*uj+=WFD$qf|D(n^)PMwZJAASwKh-O8X)K4h)GD3sSy={K&*pP zb0|X4A3Ccf1xUkt6dZOSrNW8^aeS0Sfz}5ZcuIRo)Ay^j2=4#w0vaV=7P+Y=r;ccM zZAW$E1GgU0sLK4o!YHLTiv|d7WPFAh%e-|ur09LTtg5ti)V|od0aj2Wt;l2=vkybD zq$e95Y`60gL)CJj`M)uH!3*Kt6CghGSRp%VhFKS&25vrcCW0eVBt-SqRG@UnE|_^{ z0{5NwHp95qC+3~*QC$WOiV7I?9ai1AVsa`gN(M}na@>BBh{5YwbhrT{UFeKUHjIKT zmo{k7*VVO6NT}!(y$B$la#vWD3ldvzXnH`=|F~-yfRcc z#Db6HYP{{Bj3GfR|&@Z~kqot|8lG|23Jl z_RJe;2o8x(dhK~WtH$MO#ce^{Z|KWtn{j)25A+G!)SO{62EH_-RIqN9hx(gk5CV&S zidFWEICZYK_BLrhTCb%R`2w;7PLC0$lK;hHEYSk;*w#n5C+Y z9fc<;lQI2Ear=QV*kQ9W$@{B6Xv5y5<>~Scw@mSk!c{_oncje$fpj^N){}pZpE;Sc zm3Gkqvq%wJw}IM`;y-OVZ%qpBgt~fmKB?%x!5ql(>6N4XbXh=;dR18}tId{!vJ@41 zKG(5Gd^B2X_)Z;Sfp{=xR6i#e|%1O~-CKZ6W} z#}0uvCSxWUyQq9QOv{+7a7qfH{sl5!_mt4|Fo8d#m1f{cUQ-8IC}bzPDU+Lt5R9x| z_i-#n1c+_LfbT|FE9}X}Z~y4;3V14F1Uy3zP4rY!=~>rLcn^jQGzG;q3DCngmwKc4 z{tX3qzhK5ilok(tsz3-+JhN!k#eSmkJ*4?T-RP$*ZQq%NAk9X=dM-jQ`cTrLY@mG| zCr4Um3FVO`t+Y`TCKp0g0M8QilxpI#E@DRzIg^R-^;0`%kKNNWKK!p+tXxC^4LqngzUu{|nWzr)mq`tMjv6*=GCV zb0f#ZVV{F>Pni+0iDAgp2VQh^X)=jqSp}BogbYb7q^r&$)8T6K~d- zK@G0Ne<#T`(IR#qqmUWJ>6JGXyU)&uV70P>&v!2 z2wjGd{Gz>%c3flN$5>cqrX*))*7j$t$)YytRF~nAT0i2U&ae6OEJT^o)udN8vQt05 zD`0JZGt6^cAPK#@-xwBqD1d+S0>vZ&OP5dk{%UEHWt^;OI3H#CjK|o5#2!Fv4J9TH zalbX}wAVs_r}cvRqGR10ArBQP80?zdefif6A+Q8*k0YIXTs~GBuAb%jOk4siCG&~W(?E3Dusep4neJisr45Me%#?*JU390J(0!=h&uK48c!7XH8Nh+ zgMux_V*N&cWxk1YM8?zLE}&O#_GBA5;Rl=eP~aG&nzmTr8Urpmvvwiaf7VXR$y`yF zJS;FFaisb(k4}nZE%iPPZl$IS^nt@LE%Zx#F1g+9p)J2Tl`ULm4e9ap8jYT2@MzMZ z?97^ms#b^oojk$Pf?vSaqYkX4F4^*?@aulI2w5+a*-Aj2MfLQAB>-0`EIE~p>82SB z4{^Sti(gMO3FG@nzqyXrjo_}LWMse6ttCjMc2H{j%76Au4V8#AXUX$LK5RIKR+YRK zYJ|~*!gs^Wa21{2u{={MLY6&C#}=W)7tOdfu9tDoLp629>jn3++s9R1maVxRBqo{9 zUD)^}=c)F6CXP=uEO?6KYQhicy#9$1idr)^AA2bW8({#lMv`nsM(bS30 zC!5KGFky?ARAWSEo^s32dku64_Fuq6#qd%=3z~-2@}B3CP+ly{_6%A2UsA%H78O3- zyVmMzTs$UtQF2Mhv?Wbf-;ENezmkXSDPP8*7X0rS40Ne>7&n4b$=-0RIj4Avg}mp$ zox<${Q%si0mOp+MzRuVPU3Y9}w#l&2gC=a}x8lHI!sld$#W7oF=u1D5c%Hd!iEwo< z2|F@31eu7be2Zrtv-Lze-`0@{C5)wz2%_Th+oXs-d@xYVNV@ikzM7K1uKk!kt2dC^q7FR1Ey(_lOG>S-GT8xkOrr0@Ws4HDy;j z$yfL0Mo_hDwh89N^Sko0>PPt_!~C90>I2_~enyj8bs6uYB;5Scc7^C{9FkS8*B7+c zCII}po6Kyhas0;P^y8)ap9q}9d97h6hXM$CyS7B0!P74D!7@?6QH zziU~X3F3l)uhOi<3dWMl6{_fD@bv>)CDgh}q;ugsKPfI_wRK$$0{0^K~1D&cr z1c2dNF!LmQFgmGkJT~BwED}wtgCWD7(W-hN-Fw`k(+uut00>#DR(s4z(wJvc40M_# zht1|3(u8m~D7Uvd-{(>E;)uB-Fc$x@0?Vy<*)k@e?30nN?$}K{#4n9C2c_?6M z8%UbnY)V2$%#9Xr++g)QVr;KjQa9vXNJN{b#K-I)Sp{dqQ4@zXfX{VQ+N}gA>mI{A2w4hgrYluS*)LX z)tZMqGbf|6F94MyR4r-rf1tbalS!#w`?gubgEv6LmfBCKS4IqAvNf!^&VavNa-O+& zWvGKquh4+<1>pp4On13&e1OBCnao$v74RILV1w;EBKM=1f!o;&3Zp9k4eC-kFCi)j zSS!{FGB4t$=JLFOoyXVtvlk?|@Bt+j+Ua-$kN+CQ59N(z@<=>X&x%q<)?& z#$O?mk8neG=3F2QJgmJy#F*GZ_HfM7UTmF!tjS`kouS+O$;<{S4(NAzYdC>AMt^b6 z%Rt57^c;H{9dxVy@0n zq`FaJV~*^GIi?tMAGuoc7bs}U2$?S9CfjWaKC9s*yDM$6sZ{~QLV@*)yAQro&D6XE;_=8?b6&J z|3I>-opt_FxnM6Gn-Crz6bR`NonQ3?Sxik^Z0>|lE-F)c5{H)WOE5T9^Xfy{zkwGz zCy#B&41*|EwQMGWkAJ~WO7|&pzbclHVf!8kD~M598NEk@L&ZzAEdxT)`WLu{)kNku zu6pCCpG!r;(&?B~-}J7*R1ZdgSQpS`yQ2=*xeq0MSRpU{sKpmtq6yXFL^5j=I9((rtM;ur#+z>B#Gge$BYe*_IWB}3TB6D|vk{73K<-KsU3t}2jwqT@DFvoR+;=l})wiuYU> zBzW-*r5I9Sk@6#JIE9UyQZf-s7^k-VirLNql!hrwSCTL3W=U>-%VPgw9Qh4b004|u z-!OUFV7kMRyh>xz=l-p;(;x_u%8lg6o}rE^*!p6&ykg^~&hNMW{4oV2`n|Q>;5*M=QgOW8R|FN$YvfG3~L~^Q)bGV%uxtL zYw2=+mn)l};9iyE#jFsc<6tF;H^fV*F`D-x6(#G5$#cx-EqvHSfa`!xwfN-@xt?-` z?6)UKv*2(AOx%^)q6OD*dA>a2hdS^?;;yhm?K(YsNBI-F^30CMB`Tde3*sCkHORbP z4B3<~^?~7QYUN2Ai@>d;12URWJ%FBeU-Z6B;|^p^qnmXTRr0!r#;fC_@0qy1|5(=K z<;Q5O7P_7%zv-sN1OE4^S7Y_E5({&Uu5TLnLJ9f-d;Z7@HkVnS&#+mY*vBb2qOQ&a zB4WX4a&Sqznxq<(%{+UH83BQMq*>8@Wp7Y=RGCtJrO~VLpc6MU<_t2npCS(^2T-O> zHD`)@a`WeTqZcfHYw~trpoOnC(}xHWJ#fRq6?b&ANo&T7rHU4uO4W$1Ok0~VD6br6RDpuT^a(BLt&U#=%$kG~0i-vJ&8FMZp;o`_NFVg!d=w3pkIi=ynd+ zM!FA^v(sjG8-m>>X#ug$lYGD zbSkJq@GD5o;y=nR3I%BsRxCD>m6@CXn(s*7GqCj)FV-qkavz*g#cQXgFS++(4r#$M zJ9?P$gEzPNOzfYHH_<^<8wG%pS#Xt6i*Lv*pkB9nUrgtwpMo|HTmLa`E? zkOK_;X1Y2+uXMf4Kxn!b!1~+25Bk`;ciH+s=$n|?682vbORaMe_1zSKS2T2;9khIp15A8Er@byLB~j)9e4 zK$;o^s?zrOaVeP$UxHIu;&X{DnKPE02B4uBP}M;Gdr_XK|uYf{i4n@(%Jbl#_rg+BjO73i@$WT8LXz-B)9r;XF*RFI{HgVph@UH zsg(40{*e@&?D$0qA%yulsV_DsUB{Ekn2z%$G`)!i!kZ&Hz8-JK@h@n}n?x+z&*^3H zy0qemqfCARN9S}k&9LE;{*h#XfJJ&RQgu$&9cVel!y0MW)CuLyC$`=*Ua2$95VG$6 zm9IJ7rYqdNSMfO&RM#K9=71lg4mX_i;ps#boaO0(DDpxhhm3^#w&$$Yv<~|Vd}!wp z`T^}?5XM?5*Hci3Si`87%^sD`K53(d4MyDI#HDNh&EF`wF}Yoe5zC!d`$cyJlKAO) z1TJgftmwIiM0lH2>nimJQixPS$SYO94W4T1HpSfj&?K`BjQp*~;~TQbgrZ1dY|Bjx z2<`0?7Cj~!4dGIuP(k&R3N0YK)oo=RNc_C-@5?Og;sS-|G>Sjehkhw1eZ7pcQ@YcE zt3QF_RTJ_i%8y-)yWM-c>nF23KrH3cV~Ebtrk4omu%JdT$`ZrcFgt3ti(T23=H9CU z)Yl)-1Dv3KL%aZ*f!IP8Km5#tbKiw7GZdkcfB_dD8>oM>SuW#Q;>hMt!^{+GKb) zt(GO8PiZEG$P-75$&#_zedobYfcipjX<`35{feWUj~wINo-ROEW1o-UJ1<6+fc}#F z-8sC+SEjS!0Y}l98h6xhW8i4a+dE{9uV%3I#1i03o){U?qZQeQiQGy*?q6PtycY)P zuFhFYs!|65C{@_Nq9b0RdYb)_v9zo_6KU*gRZXSkE3ZtK(*d~l)$S8rECvdj{OTGZ zB3->usggT@UK&PZdGNaMKX}7nUUC2R71eTUCIzMI?|YluZNv5I8CCY5k;Q}&Ts$Ha zUrE($uM1{$w@XQdY>4|*3%6iP^DP~1jd`7|*@13E?7wcDAw*pN_CUIlQOb_%E8UgYva^5R)#%3J(+0MSW;gXz>5E8ZywmA!N{Kj~UmP0K)o?g=4H#(w$y+5#^ zhuWl51hy%0-Pr|2$YYHG8j{N{GFyO4?V&0y4+&Z8mf9+nJ42#6iLR!n-KU_k#2#8L zUqNt%UEs)6#yB-%^0wj9d4^;~RZi!AEe>s>XE#u7h^FE^0ifw|pt~;vVtr+drtdOP zX6btW$($c1u`|91L5eM~$NQM+fzSIrVZf<_9*>rQGE9^Si;q_53J<@b67z>@B85Tg zE4n|yc=7@B4$Ot~*c1WjS=Y1n001R+OlSLK)CAjLn29F&I?7)e;szhFzH4A5!ZY9{ z1e=fdm>wI^FR(L64cgJi^nVBYlv>cjZ}d2wu!pL#f02Sj-2_D47!Bka`X6`|ZiNwE z;y9Y<+W3lOaQlubwn65i$I%GsvSGshduaDTLuHx1pxuBRc!OKR6e^?au!{|kg`is(%f`m`F6 zSoES!9g2o+wI2Z8ZnrIuo(j0zv!}Ic6>RZeqf6)|<)93#k$w@L9r9zant%`x%5sVH zqEczT^fH=E6M%`6L(8^-ZeIh>b%~4fsG>=x4s;fS?O58wa=cUyWh_c#vC|xRt5Woh zWf189i~nx8t-fiL-+u}&bZ5tx`5_vH^mP)xz;s%-^ZGxz*mlHO5dc%PqU8G zZRz_)X#V?2#=sDVuu&sH>@S(SX);n0+o0K+ zH0_ga#@w?UX&Nn4EkkoU!)-wm;B@E2^R6Hek&s{C%;g#<3$?Cgar z;JwrqH3Rf!EoE<{$lv< zMe{>X|L@XhIWg*6gX3a*klE54m6P!&>U*rQN>*jQIR@GX7i3jL8hBD@D*)aix{oV) zyDrCZ_m?ZIkQ38VDqpGjX{4nK<<7!74fA-t;zx-X7xlmXl^UU}+m!HVu90B3aZt^e z{7`5_UE%ewW1870=a;q{9Sx&(Ek#cf+nFSh$>5FKP9JC)k_;U1d}NOhLMZCVny&&A zjK0K}_hn)tlGMDB>BOcmBTM3n`Me0*S+SZjv9#?ojo<51viol_ zE3kcMjd`jAr2faz%)Ie2&dXJ|s7t;G-w;t73J?=WA*5ORL7$zHk$9Kfwx{*YUQ4Kn z6cAJ~5Sh~55Cio^j48>>op(+wLB^ZFvo^BGuEgVsrPbnw)1;RR)kl>O^eS>ZU@a&r z2|Ot?IVWg%nxdX`ZnqsPb5L-<9tF4=b)zKTL^2kXm+F)l0g)$Rc6lKN#syGojtU{Y z>*i46HgioRA}}T`+ur#~FGMqMEl~DcC@-uqS(WODGzJB8Niak4X%>V620$u(#j@W3 zJv)+p)^NNo7N4F1V(fVp9l#P=y>bdtwEts_Mss?I?9dN}bc3r9Kas*V2+I_Q*c#Kt zrzH*P;4#g9<&Dh<(zg=!M#1~TAwCJiz;;7FJ`e9XS5z!;LV~oK^!@r8`=QgU(-r&n za4HZYa4-jZS2s&@!wT?!%%ajyn7Bap^gGH;K<)3TrxMWZ1@N0xCjcTId&s z{>hRnXE@XF=K{#x;ep0S2;Q>o*e2r74WNj+uhGIWR?@qh{}hN2LwppXGS$RIvg{fb zcU7O2bDS3Zq!}CbJn`r-M`(Dj*_V`Jv}@4KEv#`|&3g9ptQW`FUywXZ6Y%^0vUb56ZfSCK!C;6OVm@jn0^HB6VO$6%mJ;6sJU&+o9|aY z_|8G{g5!3PuoJnVOgkPTO@C1LWYybqfXfW&$cy3t>8s+-NM_IfFx*!$WEPIVK-_w= z9y&HLMd-;^biz^)6KOtV-1pnnydndA)nUxA`h1CF4Jh#P>JZgkh2e2dHWjBg{Aks$ zwuxs_Xw+5Cf@GSYkQEyi&^lCYP z-7A}sa8A7>>Tmy|(GU9UdC4;kz5h1=UF6CxGj6eFI6N1Z{T^y?!^c>|r-pQozH z_S}(0ks2jF`|bXZnR$ak%uuhXoOk>rTp(byVtQ!S(8wK_2>OfdQ0bgDCattXAUbEh z&W|7um_#48t(aj;kvI`!CJW$6QC=jWzq88yX|JM2RzVm{@N^Nuf#v?1SDmxfm*)~iz4oA zrNkJt!UekDA&g7jGY191rfsBY2-#i_8i0EJ`zX3*1&;Ve#{z7nS!>Y_@7_A!9L#~= z6w!)_ZCm?{4AJNWboPvLV)ePk(kd$cDrxin8S4vaDhftW`9`fHE*L+S!ME)NaBGDR{|jD*~Q;)=Eb`% eZwoOr00003(8d1m$bI#m5bH15x&CNe*Wvz;; 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

    &Cm5Rn=o-62RQ5+Wed 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