From 6cb0667b0b09bd0f989379b68572d905fb91cca1 Mon Sep 17 00:00:00 2001 From: Meleeman01 Date: Fri, 8 May 2026 23:20:18 -0500 Subject: [PATCH] dunno why half this stuff wasn't committed. fixed up pricing pagebuttons --- astro.config.mjs | 23 +- index.html | 754 ------------------------ package-lock.json | 405 ++++++++++++- package.json | 2 + pnpm-lock.yaml | 1080 +++++++++++++++++++++++++++++++++++ public/path846-72NOtEXT.png | Bin 38190 -> 0 bytes src/components/Footer.astro | 8 +- src/components/Header.astro | 2 +- src/pages/index.astro | 2 +- src/pages/pricing.astro | 12 +- 10 files changed, 1514 insertions(+), 774 deletions(-) delete mode 100644 index.html delete mode 100644 public/path846-72NOtEXT.png diff --git a/astro.config.mjs b/astro.config.mjs index e762ba5..7117a77 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,5 +1,24 @@ // @ts-check -import { defineConfig } from 'astro/config'; +import { defineConfig, fontProviders } from 'astro/config'; + +import node from '@astrojs/node'; // https://astro.build/config -export default defineConfig({}); +export default defineConfig({ + fonts: [{ + provider: fontProviders.local(), + name: "WinterSelfie", + cssVariable: "--winter-selfie", + options: { + variants: [{ + src: ['./src/fonts/Winter Selfie.ttf','./src/fonts/Winter Selfie.otf'], + weight: 'normal', + style: 'normal' + }] + } +}], + + adapter: node({ + mode: 'standalone' + }) +}); \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100644 index 1286228..0000000 --- a/index.html +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - VFP Media | Managed Hosting for Artists - - - - - - - - - - - - - -
-
- -
-
-
- Managed Hosting for Artists -
-

- Where Art Meets
- Infrastructure -

-

- VFP Media provides premium managed hosting designed specifically for artists, designers, and digital creators. Focus on your craft, we'll handle the rest. -

- - - -
-
-
99.9%
-
Uptime
-
-
-
500+
-
Artists
-
-
-
24/7
-
Support
-
-
-
- -
- -
- - -
-
-
-
- VFP Media Logo - Cat USB Cable -
-

Connected to your creativity

-
-
-
-
-
-
- - -
-
-
-

Built for Creative Workflows

-

Every feature is designed with artists in mind. From portfolio hosting to client galleries, we've got you covered.

-
- -
- -
-
- -
-

Blazing Fast CDN

-

Global edge network ensures your portfolio loads instantly anywhere in the world. Perfect for high-resolution images and videos.

-
- - -
-
- -
-

Gallery Hosting

-

Beautiful, customizable galleries that showcase your work in the best light. Password protection for client previews.

-
- - -
-
- -
-

Enterprise Security

-

DDoS protection, SSL certificates, and automated backups included. Your creative work is always safe with us.

-
- - -
-
- -
-

Custom Domains

-

Connect your own domain or use our free subdomains. Easy DNS management and SSL setup included.

-
- - -
-
- -
-

Artist Support

-

Our support team understands creative workflows. No scripts, just real help from people who get it.

-
- - -
-
- -
-

One-Click Deploy

-

Deploy from Git, upload files, or use our visual builder. Get your site live in minutes, not hours.

-
-
-
-
- - -
-
-
-

Simple, Transparent Pricing

-

No hidden fees. No surprises. Just great hosting for your art.

-
- -
- -
-

Starter

-

Perfect for emerging artists

-
$9/mo
-
    -
  • - - 10GB SSD Storage -
  • -
  • - - Free SSL Certificate -
  • -
  • - - Email Support -
  • -
  • - - 1 Website -
  • -
- -
- - -
-
MOST POPULAR
-

Professional

-

For growing creative businesses

-
$24/mo
-
    -
  • - - 100GB NVMe Storage -
  • -
  • - - Priority Support -
  • -
  • - - Daily Backups -
  • -
  • - - 5 Websites -
  • -
  • - - Client Galleries -
  • -
- -
- - -
-

Agency

-

For studios and teams

-
$49/mo
-
    -
  • - - Unlimited Storage -
  • -
  • - - Dedicated IP -
  • -
  • - - 24/7 Phone Support -
  • -
  • - - Unlimited Websites -
  • -
  • - - White Label Options -
  • -
- -
-
-
-
- - -
-
-
-

Our Roadmap

-

We're constantly improving our platform. Here's what we're working on and what's coming next.

-
- -
- -
-
- -
-
-
- Q1 2024 - Completed -
-

Platform Launch

-

Initial launch with core hosting features, CDN integration, and artist-focused tools.

-
-
- - -
-
- -
-
-
- Q2 2024 - Completed -
-

Client Galleries

-

Password-protected galleries for client work, with download tracking and expiration dates.

-
-
- - -
-
- -
-
-
- Q3 2024 - In Progress -
-

AI Image Optimization

-

Automatic image compression and format conversion using AI to maintain quality while reducing file sizes.

-
-
- - -
-
- Q4 -
-
-
- Q4 2024 - Planned -
-

Video Streaming

-

Built-in video hosting with adaptive streaming for showreels and motion graphics portfolios.

-
-
- - -
-
- 2025 -
-
-
- 2025 - Future -
-

NFT Integration

-

Seamless NFT minting and marketplace integration for digital artists looking to sell their work.

-
-
-
-
-
- - -
-
-
-

Frequently Asked Questions

-

Got questions? We've got answers. If you can't find what you're looking for, our support team is here to help.

-
- -
- -
- -
-
- We offer free migration assistance for all plans. Our team will handle the entire process - just provide us with your current hosting credentials and we'll take care of the rest. Most migrations are completed within 24 hours with zero downtime. -
-
-
- - -
- -
-
- All plans include email support with responses within 24 hours. Professional plans get priority support with 4-hour response times. Agency plans include 24/7 phone support. Our team consists of artists and developers who understand creative workflows. -
-
-
- - -
- -
-
- Absolutely! Our Professional and Agency plans include client galleries with password protection. You can set expiration dates, track downloads, and customize the viewing experience. Perfect for sharing work-in-progress or final deliverables with clients. -
-
-
- - -
- -
-
- Yes! We offer a 30-day money-back guarantee on all plans. If you're not satisfied with our service for any reason, just contact us within the first 30 days and we'll refund your payment in full. No questions asked. -
-
-
- - -
- -
-
- We'll notify you when you're approaching your limit. You can upgrade your plan at any time, or purchase additional storage blocks. There are no overage charges - we believe in transparent pricing. Need more space? Just let us know. -
-
-
-
-
-
- - -
-
-

Ready to Elevate Your Online Presence?

-

Join hundreds of artists who trust VFP Media for their hosting needs. Start your 30-day free trial today.

- -
-
- - - - - - - - diff --git a/package-lock.json b/package-lock.json index 78785dd..9696528 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,11 @@ "requires": true, "packages": { "": { + "name": "vfpmedia.com", "version": "0.0.1", "dependencies": { - "astro": "^6.0.8" + "astro": "^6.0.8", + "mflx": "^2.0.1" }, "engines": { "node": ">=22.12.0" @@ -1067,6 +1069,302 @@ "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", "license": "MIT" }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", @@ -1967,9 +2265,9 @@ } }, "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", "license": "MIT" }, "node_modules/dequal": { @@ -2479,6 +2777,12 @@ "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, + "node_modules/immutable": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "license": "MIT" + }, "node_modules/iron-webcrypto": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", @@ -2503,6 +2807,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -2840,6 +3167,15 @@ "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "license": "CC0-1.0" }, + "node_modules/mflx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mflx/-/mflx-2.0.1.tgz", + "integrity": "sha512-FzF6IQ9i47EtrfyHIZ02/Vj4WsusIGgogGY/0GH3apM66Hw1t6m+RbWjUXW00JW1JFcf7j3/hj1VqKWLPLR7DA==", + "license": "MIT", + "dependencies": { + "sass": "^1.70.0" + } + }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -3458,6 +3794,13 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-fetch-native": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", @@ -3975,6 +4318,54 @@ "fsevents": "~2.3.2" } }, + "node_modules/sass": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/sax": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", @@ -4533,9 +4924,9 @@ } }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "license": "MIT", "dependencies": { "esbuild": "^0.27.0", diff --git a/package.json b/package.json index 5a9b46d..f5b587c 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,9 @@ "astro": "astro" }, "dependencies": { + "@astrojs/node": "^10.0.6", "astro": "^6.0.8", + "mermaid": "^11.14.0", "mflx": "^2.0.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4d6d849..bf9a94f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,24 +10,41 @@ importers: .: dependencies: + '@astrojs/node': + specifier: ^10.0.6 + version: 10.0.6(astro@6.1.6(rollup@4.60.1)(sass@1.99.0)) astro: specifier: ^6.0.8 version: 6.1.6(rollup@4.60.1)(sass@1.99.0) + mermaid: + specifier: ^11.14.0 + version: 11.14.0 mflx: specifier: ^2.0.1 version: 2.0.1 packages: + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@astrojs/compiler@3.0.1': resolution: {integrity: sha512-z97oYbdebO5aoWzuJ/8q5hLK232+17KcLZ7cJ8BCWk6+qNzVxn/gftC0KzMBUTD8WAaBkPpNSQK6PXLnNrZ0CA==} '@astrojs/internal-helpers@0.8.0': resolution: {integrity: sha512-J56GrhEiV+4dmrGLPNOl2pZjpHXAndWVyiVDYGDuw6MWKpBSEMLdFxHzeM/6sqaknw9M+HFfHZAcvi3OfT3D/w==} + '@astrojs/internal-helpers@0.9.0': + resolution: {integrity: sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg==} + '@astrojs/markdown-remark@7.1.0': resolution: {integrity: sha512-P+HnCsu2js3BoTc8kFmu+E9gOcFeMdPris75g+Zl4sY8+bBRbSQV6xzcBDbZ27eE7yBGEGQoqjpChx+KJYIPYQ==} + '@astrojs/node@10.0.6': + resolution: {integrity: sha512-e8JmaP4sGxqvdei14kmBzhAqgd5/L5MTExW3Hks5DOt9LDvGzlsFZwnXVXzWPVjW/PErl7t9uLg7xWhCqfkSrA==} + peerDependencies: + astro: ^6.0.0 + '@astrojs/prism@4.0.1': resolution: {integrity: sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ==} engines: {node: '>=22.12.0'} @@ -53,10 +70,28 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + '@capsizecss/unpack@4.0.0': resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} engines: {node: '>=18'} + '@chevrotain/cst-dts-gen@12.0.0': + resolution: {integrity: sha512-fSL4KXjTl7cDgf0B5Rip9Q05BOrYvkJV/RrBTE/bKDN096E4hN/ySpcBK5B24T76dlQ2i32Zc3PAE27jFnFrKg==} + + '@chevrotain/gast@12.0.0': + resolution: {integrity: sha512-1ne/m3XsIT8aEdrvT33so0GUC+wkctpUPK6zU9IlOyJLUbR0rg4G7ZiApiJbggpgPir9ERy3FRjT6T7lpgetnQ==} + + '@chevrotain/regexp-to-ast@12.0.0': + resolution: {integrity: sha512-p+EW9MaJwgaHguhoqwOtx/FwuGr+DnNn857sXWOi/mClXIkPGl3rn7hGNWvo31HA3vyeQxjqe+H36yZJwYU8cA==} + + '@chevrotain/types@12.0.0': + resolution: {integrity: sha512-S+04vjFQKeuYw0/eW3U52LkAHQsB1ASxsPGsLPUyQgrZ2iNNibQrsidruDzjEX2JYfespXMG0eZmXlhA6z7nWA==} + + '@chevrotain/utils@12.0.0': + resolution: {integrity: sha512-lB59uJoaGIfOOL9knQqQRfhl9g7x8/wqFkp13zTdkRu1huG9kg6IJs1O8hqj9rs6h7orGxHJUKb+mX3rPbWGhA==} + '@clack/core@1.2.0': resolution: {integrity: sha512-qfxof/3T3t9DPU/Rj3OmcFyZInceqj/NVtO9rwIuJqCUgh32gwPjpFQQp/ben07qKlhpwq7GzfWpST4qdJ5Drg==} @@ -222,6 +257,12 @@ packages: cpu: [x64] os: [win32] + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.1': + resolution: {integrity: sha512-MwzoDtw9rO1x+qfgLTV/IVXsHDBqeYZoMIQC8SfxfYSlaSUG+oWiAcoiB1yajAda6mqblm4/1/w2E8tRu7a7Tw==} + '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} @@ -378,6 +419,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@mermaid-js/parser@1.1.0': + resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==} + '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} @@ -647,12 +691,108 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/debug@4.1.13': resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -665,12 +805,23 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -712,6 +863,15 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + chevrotain-allstar@0.4.3: + resolution: {integrity: sha512-2X4mkroolSMKqW+H22pyPMUVDqYZzPhephTmg/NODKb1IGYPHfxfhcW0EjS7wcPJNbze2i4vBWT7zT5FKF2lrQ==} + peerDependencies: + chevrotain: ^12.0.0 + + chevrotain@12.0.0: + resolution: {integrity: sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==} + engines: {node: '>=22.0.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -735,10 +895,21 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + common-ancestor-path@2.0.0: resolution: {integrity: sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==} engines: {node: '>= 18'} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + cookie-es@1.2.3: resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==} @@ -746,6 +917,12 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} @@ -768,6 +945,165 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + 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.33.3: + resolution: {integrity: sha512-Gej7U+OKR+LZ8kvX7rb2HhCYJ0IhvEFsnkud4SB1PR+BUY/TsSO0dmOW59WEVLu51b1Rm+gQRKoz4bLYxGSZ2g==} + 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.20: + resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -783,6 +1119,13 @@ packages: defu@6.1.7: resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + + 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'} @@ -817,6 +1160,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} + dompurify@3.4.2: + resolution: {integrity: sha512-lHeS9SA/IKeIFFyYciHBr2n0v1VMPlSj843HdLOwjb2OxNwdq9Xykxqhk+FE42MzAdHvInbAolSE4mhahPpjXA==} + domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -824,6 +1170,13 @@ packages: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -840,6 +1193,9 @@ packages: engines: {node: '>=18'} hasBin: true + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} @@ -847,6 +1203,10 @@ packages: estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} @@ -882,6 +1242,10 @@ packages: resolution: {integrity: sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==} engines: {node: '>=20'} + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -893,6 +1257,9 @@ packages: h3@1.15.11: resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==} + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} @@ -932,9 +1299,27 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + immutable@5.1.5: resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==} + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + 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'} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -968,6 +1353,26 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + katex@0.16.45: + resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} + hasBin: true + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + langium@4.2.3: + resolution: {integrity: sha512-sOPIi4hISFnY7twwV97ca1TsxpBtXq0URu/LL1AvxwccPG/RIBBlKS7a/f/EL6w8lTNaS0EFs/F+IdSOaqYpng==} + engines: {node: '>=20.10.0', npm: '>=10.2.3'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -984,6 +1389,11 @@ packages: 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 + mdast-util-definitions@6.0.0: resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} @@ -1029,6 +1439,9 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + mermaid@11.14.0: + resolution: {integrity: sha512-GSGloRsBs+JINmmhl0JDwjpuezCsHB4WGI4NASHxL3fHo3o/BRXTxhDLKnln8/Q0lRFRyDdEjmk1/d5Sn1Xz8g==} + mflx@2.0.1: resolution: {integrity: sha512-FzF6IQ9i47EtrfyHIZ02/Vj4WsusIGgogGY/0GH3apM66Hw1t6m+RbWjUXW00JW1JFcf7j3/hj1VqKWLPLR7DA==} @@ -1116,6 +1529,17 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -1160,6 +1584,10 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} @@ -1187,6 +1615,12 @@ packages: parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + piccolore@0.1.3: resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} @@ -1201,6 +1635,15 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + 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@8.5.9: resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} engines: {node: ^10 || ^12 || >=14} @@ -1215,6 +1658,10 @@ packages: radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -1272,11 +1719,23 @@ packages: retext@9.0.0: resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + rollup@4.60.1: resolution: {integrity: sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass@1.99.0: resolution: {integrity: sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==} engines: {node: '>=14.0.0'} @@ -1291,6 +1750,16 @@ packages: engines: {node: '>=10'} hasBin: true + send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} + + server-destroy@1.0.1: + resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sharp@0.34.5: resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1313,9 +1782,16 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + svgo@4.0.1: resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} engines: {node: '>=16'} @@ -1336,12 +1812,20 @@ packages: resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} engines: {node: '>=12.0.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 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'} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -1459,6 +1943,10 @@ packages: uploadthing: optional: true + uuid@11.1.1: + resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} + hasBin: true + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -1516,6 +2004,26 @@ packages: vite: optional: true + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -1542,12 +2050,21 @@ packages: snapshots: + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.1.1 + '@astrojs/compiler@3.0.1': {} '@astrojs/internal-helpers@0.8.0': dependencies: picomatch: 4.0.4 + '@astrojs/internal-helpers@0.9.0': + dependencies: + picomatch: 4.0.4 + '@astrojs/markdown-remark@7.1.0': dependencies: '@astrojs/internal-helpers': 0.8.0 @@ -1574,6 +2091,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/node@10.0.6(astro@6.1.6(rollup@4.60.1)(sass@1.99.0))': + dependencies: + '@astrojs/internal-helpers': 0.9.0 + astro: 6.1.6(rollup@4.60.1)(sass@1.99.0) + send: 1.2.1 + server-destroy: 1.0.1 + transitivePeerDependencies: + - supports-color + '@astrojs/prism@4.0.1': dependencies: prismjs: 1.30.0 @@ -1603,10 +2129,27 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@braintree/sanitize-url@7.1.2': {} + '@capsizecss/unpack@4.0.0': dependencies: fontkitten: 1.0.3 + '@chevrotain/cst-dts-gen@12.0.0': + dependencies: + '@chevrotain/gast': 12.0.0 + '@chevrotain/types': 12.0.0 + + '@chevrotain/gast@12.0.0': + dependencies: + '@chevrotain/types': 12.0.0 + + '@chevrotain/regexp-to-ast@12.0.0': {} + + '@chevrotain/types@12.0.0': {} + + '@chevrotain/utils@12.0.0': {} + '@clack/core@1.2.0': dependencies: fast-wrap-ansi: 0.1.6 @@ -1702,6 +2245,14 @@ snapshots: '@esbuild/win32-x64@0.27.7': optional: true + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.1': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + mlly: 1.8.2 + '@img/colour@1.1.0': optional: true @@ -1801,6 +2352,10 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@mermaid-js/parser@1.1.0': + dependencies: + langium: 4.2.3 + '@oslojs/encoding@1.1.0': {} '@parcel/watcher-android-arm64@2.5.6': @@ -1987,12 +2542,131 @@ snapshots: '@shikijs/vscode-textmate@10.0.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.13': dependencies: '@types/ms': 2.1.0 '@types/estree@1.0.8': {} + '@types/geojson@7946.0.16': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -2007,10 +2681,20 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/trusted-types@2.0.7': + optional: true + '@types/unist@3.0.3': {} '@ungap/structured-clone@1.3.0': {} + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + acorn@8.16.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -2129,6 +2813,19 @@ snapshots: character-entities@2.0.2: {} + chevrotain-allstar@0.4.3(chevrotain@12.0.0): + dependencies: + chevrotain: 12.0.0 + lodash-es: 4.18.1 + + chevrotain@12.0.0: + dependencies: + '@chevrotain/cst-dts-gen': 12.0.0 + '@chevrotain/gast': 12.0.0 + '@chevrotain/regexp-to-ast': 12.0.0 + '@chevrotain/types': 12.0.0 + '@chevrotain/utils': 12.0.0 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -2145,12 +2842,26 @@ snapshots: commander@11.1.0: {} + commander@7.2.0: {} + + commander@8.3.0: {} + common-ancestor-path@2.0.0: {} + confbox@0.1.8: {} + cookie-es@1.2.3: {} cookie@1.1.1: {} + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + crossws@0.3.5: dependencies: uncrypto: 0.1.3 @@ -2179,6 +2890,192 @@ snapshots: dependencies: css-tree: 2.2.1 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.3): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.3 + + cytoscape-fcose@2.2.0(cytoscape@3.33.3): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.3 + + cytoscape@3.33.3: {} + + 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.20: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -2189,6 +3086,12 @@ snapshots: defu@6.1.7: {} + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + + depd@2.0.0: {} + dequal@2.0.3: {} destr@2.0.5: {} @@ -2218,6 +3121,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@3.4.2: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -2226,6 +3133,10 @@ snapshots: dset@3.1.4: {} + ee-first@1.1.1: {} + + encodeurl@2.0.0: {} + entities@4.5.0: {} entities@6.0.1: {} @@ -2261,10 +3172,14 @@ snapshots: '@esbuild/win32-ia32': 0.27.7 '@esbuild/win32-x64': 0.27.7 + escape-html@1.0.3: {} + escape-string-regexp@5.0.0: {} estree-walker@2.0.2: {} + etag@1.8.1: {} + eventemitter3@5.0.4: {} extend@3.0.2: {} @@ -2293,6 +3208,8 @@ snapshots: dependencies: tiny-inflate: 1.0.3 + fresh@2.0.0: {} + fsevents@2.3.3: optional: true @@ -2310,6 +3227,8 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 + hachure-fill@0.5.2: {} + hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -2403,8 +3322,26 @@ snapshots: http-cache-semantics@4.2.0: {} + 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 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + immutable@5.1.5: {} + inherits@2.0.4: {} + + internmap@1.0.1: {} + + internmap@2.0.3: {} + iron-webcrypto@1.2.1: {} is-docker@3.0.0: {} @@ -2431,6 +3368,27 @@ snapshots: dependencies: argparse: 2.0.1 + katex@0.16.45: + dependencies: + commander: 8.3.0 + + khroma@2.1.0: {} + + langium@4.2.3: + dependencies: + '@chevrotain/regexp-to-ast': 12.0.0 + chevrotain: 12.0.0 + chevrotain-allstar: 0.4.3(chevrotain@12.0.0) + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + + lodash-es@4.18.1: {} + longest-streak@3.1.0: {} lru-cache@11.3.5: {} @@ -2447,6 +3405,8 @@ snapshots: markdown-table@3.0.4: {} + marked@16.4.2: {} + mdast-util-definitions@6.0.0: dependencies: '@types/mdast': 4.0.4 @@ -2571,6 +3531,30 @@ snapshots: mdn-data@2.27.1: {} + mermaid@11.14.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.1 + '@mermaid-js/parser': 1.1.0 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.33.3 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.3) + cytoscape-fcose: 2.2.0(cytoscape@3.33.3) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.20 + dompurify: 3.4.2 + katex: 0.16.45 + khroma: 2.1.0 + lodash-es: 4.18.1 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.2.0 + uuid: 11.1.1 + mflx@2.0.1: dependencies: sass: 1.99.0 @@ -2766,6 +3750,19 @@ snapshots: transitivePeerDependencies: - supports-color + mime-db@1.54.0: {} + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + mlly@1.8.2: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + mrmime@2.0.1: {} ms@2.1.3: {} @@ -2801,6 +3798,10 @@ snapshots: ohash@2.0.11: {} + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + oniguruma-parser@0.12.1: {} oniguruma-to-es@4.3.5: @@ -2835,6 +3836,10 @@ snapshots: dependencies: entities: 6.0.1 + path-data-parser@0.1.0: {} + + pathe@2.0.3: {} + piccolore@0.1.3: {} picocolors@1.1.1: {} @@ -2843,6 +3848,19 @@ snapshots: picomatch@4.0.4: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.2 + pathe: 2.0.3 + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + postcss@8.5.9: dependencies: nanoid: 3.3.11 @@ -2855,6 +3873,8 @@ snapshots: radix3@1.1.2: {} + range-parser@1.2.1: {} + readdirp@4.1.2: {} readdirp@5.0.0: {} @@ -2960,6 +3980,8 @@ snapshots: retext-stringify: 4.0.0 unified: 11.0.5 + robust-predicates@3.0.3: {} + rollup@4.60.1: dependencies: '@types/estree': 1.0.8 @@ -2991,6 +4013,17 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.1 fsevents: 2.3.3 + 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 + + rw@1.3.3: {} + + safer-buffer@2.1.2: {} + sass@1.99.0: dependencies: chokidar: 4.0.3 @@ -3003,6 +4036,26 @@ snapshots: semver@7.7.4: {} + send@1.2.1: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.1 + mime-types: 3.0.2 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + server-destroy@1.0.1: {} + + setprototypeof@1.2.0: {} + sharp@0.34.5: dependencies: '@img/colour': 1.1.0 @@ -3054,11 +4107,15 @@ snapshots: space-separated-tokens@2.0.2: {} + statuses@2.0.2: {} + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + stylis@4.4.0: {} + svgo@4.0.1: dependencies: commander: 11.1.0 @@ -3080,10 +4137,14 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 + toidentifier@1.0.1: {} + trim-lines@3.0.1: {} trough@2.2.0: {} + ts-dedent@2.2.0: {} + tsconfck@3.1.6: {} tslib@2.8.1: @@ -3164,6 +4225,8 @@ snapshots: ofetch: 1.5.1 ufo: 1.6.3 + uuid@11.1.1: {} + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -3195,6 +4258,23 @@ snapshots: optionalDependencies: vite: 7.3.2(sass@1.99.0) + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.12: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-languageserver@9.0.1: + dependencies: + vscode-languageserver-protocol: 3.17.5 + + vscode-uri@3.1.0: {} + web-namespaces@2.0.1: {} which-pm-runs@1.1.0: {} diff --git a/public/path846-72NOtEXT.png b/public/path846-72NOtEXT.png deleted file mode 100644 index e28c27672582fb582f1f29f32a06e06924e73807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38190 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 -

Learn more about my projects on {platform}!

+
+

Made With love by a Furry Fox Nerd 🦊

- +
@@ -131,7 +133,7 @@ const pageTitle = "Pricing";
  • *Free Social media posting, and part of the VFP media Directory
  • *5 gb of free disk space
  • - Buy +

    Plus:

    @@ -144,16 +146,16 @@ const pageTitle = "Pricing";
  • *Custom website technology stack (non node.js websites)
  • - Buy +

    Custom:

    $--/month

    You need more than a simple store eccommerce; you need a whole custom solution

    -

    email us your vision, and we will figure out your specific needs, perhaps a new non ai tech or business venture? +

    Email us your vision, and we will figure out your specific needs, perhaps a new non ai tech or business venture? only the boldest entreprenuers pick this option;

    - Send Email + Send Email