From 44788a186d9455fdbc3bd3e56be08c30b66e404a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 15:18:35 +0000 Subject: [PATCH 1/3] Initial plan From f0aa737344cb4a7521b203769c99473f880182ea Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 15:53:24 +0000 Subject: [PATCH 2/3] Convert docs from MkDocs to Astro Starlight Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- .github/workflows/deploy-docs.yml | 28 +- .gitignore | 9 +- .gitmodules | 3 - docs/.gitignore | 11 + docs/404.md | 9 - docs/astro.config.mjs | 108 + docs/index.md | 131 - docs/package-lock.json | 7620 +++++++++++++++++ docs/package.json | 17 + docs/{ => public}/CNAME | 0 docs/{media => public}/logo.png | Bin docs/{ => public}/robots.txt | 0 docs/src/assets/logo.png | Bin 0 -> 118407 bytes docs/src/content.config.ts | 7 + .../docs}/basic-usage/code-generation.md | 7 +- .../docs/basic-usage/framing-details.mdx} | 57 +- .../content/docs/basic-usage/framing.mdx} | 85 +- .../docs/basic-usage/language-examples.mdx} | 259 +- .../docs}/basic-usage/message-definitions.md | 5 +- .../docs}/extended-features/cpp-sdk.md | 7 +- .../docs}/extended-features/csharp-sdk.md | 5 +- .../extended-features/custom-features.mdx} | 61 +- .../docs}/extended-features/python-sdk.md | 5 +- .../docs}/extended-features/sdk-overview.md | 13 +- .../docs}/extended-features/typescript-sdk.md | 5 +- .../docs}/getting-started/installation.md | 5 +- .../docs}/getting-started/quick-start.md | 12 +- docs/src/content/docs/index.mdx | 134 + .../docs}/reference/build-integration.md | 5 +- .../content/docs}/reference/cli-reference.md | 5 +- .../content/docs}/reference/development.md | 5 +- .../content/docs}/reference/testing.md | 5 +- docs/src/styles/custom.css | 6 + docs/tsconfig.json | 5 + mkdocs.yml | 99 - 35 files changed, 8261 insertions(+), 472 deletions(-) create mode 100644 docs/.gitignore delete mode 100644 docs/404.md create mode 100644 docs/astro.config.mjs delete mode 100644 docs/index.md create mode 100644 docs/package-lock.json create mode 100644 docs/package.json rename docs/{ => public}/CNAME (100%) rename docs/{media => public}/logo.png (100%) rename docs/{ => public}/robots.txt (100%) create mode 100644 docs/src/assets/logo.png create mode 100644 docs/src/content.config.ts rename docs/{ => src/content/docs}/basic-usage/code-generation.md (91%) rename docs/{basic-usage/framing-details.md => src/content/docs/basic-usage/framing-details.mdx} (82%) rename docs/{basic-usage/framing.md => src/content/docs/basic-usage/framing.mdx} (63%) rename docs/{basic-usage/language-examples.md => src/content/docs/basic-usage/language-examples.mdx} (77%) rename docs/{ => src/content/docs}/basic-usage/message-definitions.md (99%) rename docs/{ => src/content/docs}/extended-features/cpp-sdk.md (91%) rename docs/{ => src/content/docs}/extended-features/csharp-sdk.md (98%) rename docs/{extended-features/custom-features.md => src/content/docs/extended-features/custom-features.mdx} (56%) rename docs/{ => src/content/docs}/extended-features/python-sdk.md (93%) rename docs/{ => src/content/docs}/extended-features/sdk-overview.md (81%) rename docs/{ => src/content/docs}/extended-features/typescript-sdk.md (92%) rename docs/{ => src/content/docs}/getting-started/installation.md (82%) rename docs/{ => src/content/docs}/getting-started/quick-start.md (81%) create mode 100644 docs/src/content/docs/index.mdx rename docs/{ => src/content/docs}/reference/build-integration.md (94%) rename docs/{ => src/content/docs}/reference/cli-reference.md (97%) rename docs/{ => src/content/docs}/reference/development.md (96%) rename docs/{ => src/content/docs}/reference/testing.md (96%) create mode 100644 docs/src/styles/custom.css create mode 100644 docs/tsconfig.json delete mode 100644 mkdocs.yml diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 246c714c..c4725213 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -23,14 +23,28 @@ jobs: with: submodules: recursive - - name: Set up Python - uses: actions/setup-python@v5 + - name: Setup Mylonics Styles + uses: mylonics/mylonics-styles@main with: - python-version: "3.x" + path: docs/mylonics-styles + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + cache-dependency-path: docs/package-lock.json - name: Install dependencies - run: | - pip install "mkdocs-material>=9.7.0,<10.0.0" + run: npm install + working-directory: docs - - name: Deploy docs - run: mkdocs gh-deploy --force + - name: Build documentation + run: npm run build + working-directory: docs + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/dist diff --git a/.gitignore b/.gitignore index cc1b4208..832bd6b6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,11 @@ main.exe dist/ __pycache__/ -# MkDocs build output -site/ +# Docs build output (Astro) +docs/dist/ +docs/.astro/ +docs/node_modules/ +docs/mylonics-styles/ # .NET/C# build outputs bin/ @@ -67,4 +70,4 @@ Thumbs.db *~ *.bak node_modules/ -package-lock.json +/package-lock.json diff --git a/.gitmodules b/.gitmodules index 903aba6e..b6e873b4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "docs/theme_overrides"] - path = docs/theme_overrides - url = https://github.com/mylonics/mylonics-mkdocs-theme [submodule "src/struct_frame/boilerplate/cpp/struct_frame_sdk/asio-repo"] path = src/struct_frame/boilerplate/cpp/struct_frame_sdk/asio-repo url = https://github.com/chriskohlhoff/asio.git diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..82f11dca --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,11 @@ +# Astro build output +dist/ + +# Node modules +node_modules/ + +# Astro cache +.astro/ + +# Shared styles (cloned during CI from mylonics/mylonics-styles) +mylonics-styles/ diff --git a/docs/404.md b/docs/404.md deleted file mode 100644 index 8d9fb0bb..00000000 --- a/docs/404.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Page Not Found ---- - -# Page Not Found - -Sorry, the page you are looking for does not exist. - -[Return to Home](index.md){ .md-button } diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs new file mode 100644 index 00000000..a6c4dff7 --- /dev/null +++ b/docs/astro.config.mjs @@ -0,0 +1,108 @@ +import { defineConfig } from 'astro/config'; +import starlight from '@astrojs/starlight'; + +// Shared Mylonics styles — cloned into docs/mylonics-styles during CI. +// For local dev, clone manually: +// git clone https://github.com/mylonics/mylonics-styles.git docs/mylonics-styles +import { mylonicsStarlightDefaults } from './mylonics-styles/starlight/config-helpers'; + +// https://astro.build/config +export default defineConfig({ + site: 'https://struct-frame.mylonics.com', + integrations: [ + starlight({ + title: 'Struct Frame', + description: + 'A cross-platform code generation framework for Protocol Buffer serialization. Generate C, C++, TypeScript, Python, and GraphQL code with framing and parsing utilities for structured message communication.', + logo: { + src: './src/assets/logo.png', + }, + favicon: '/favicon.ico', + ...mylonicsStarlightDefaults('Struct Frame', { + github: 'https://github.com/mylonics/struct-frame', + extraCss: ['./src/styles/custom.css'], + headOptions: { + ogImage: + 'https://raw.githubusercontent.com/mylonics/struct-frame/main/docs/src/assets/logo.png', + keywords: [ + 'struct frame', + 'protocol buffer', + 'code generation', + 'serialization', + 'C code generator', + 'C++ code generator', + 'TypeScript code generator', + 'Python code generator', + 'GraphQL code generator', + 'embedded systems', + 'message framing', + 'cross-platform communication', + ], + }, + }), + sidebar: [ + { + label: 'Getting Started', + items: [ + { label: 'Installation', slug: 'getting-started/installation' }, + { label: 'Quick Start', slug: 'getting-started/quick-start' }, + ], + }, + { + label: 'Basic Usage', + items: [ + { + label: 'Message Definitions', + slug: 'basic-usage/message-definitions', + }, + { + label: 'Code Generation', + slug: 'basic-usage/code-generation', + }, + { + label: 'Language Examples', + slug: 'basic-usage/language-examples', + }, + { label: 'Framing', slug: 'basic-usage/framing' }, + { + label: 'Framing Details', + slug: 'basic-usage/framing-details', + }, + ], + }, + { + label: 'Extended Features', + items: [ + { + label: 'SDK Overview', + slug: 'extended-features/sdk-overview', + }, + { label: 'C++ SDK', slug: 'extended-features/cpp-sdk' }, + { + label: 'TypeScript/JavaScript SDK', + slug: 'extended-features/typescript-sdk', + }, + { label: 'Python SDK', slug: 'extended-features/python-sdk' }, + { label: 'C# SDK', slug: 'extended-features/csharp-sdk' }, + { + label: 'Advanced Features', + slug: 'extended-features/custom-features', + }, + ], + }, + { + label: 'Reference', + items: [ + { + label: 'Build Integration', + slug: 'reference/build-integration', + }, + { label: 'CLI Reference', slug: 'reference/cli-reference' }, + { label: 'Testing', slug: 'reference/testing' }, + { label: 'Development', slug: 'reference/development' }, + ], + }, + ], + }), + ], +}); diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index aa88ec09..00000000 --- a/docs/index.md +++ /dev/null @@ -1,131 +0,0 @@ -# Struct Frame - -Struct Frame converts Protocol Buffer (.proto) files into serialization code for multiple languages. It generates C, C++, TypeScript, Python, JavaScript, C#, and GraphQL code from a single source. - -## Why Struct Frame - -Struct Frame offers several advantages over other serialization systems: - -- **Zero-copy encoding/decoding in C/C++**: Uses packed structs that map directly to memory. No encoding or decoding step required. -- **Flexible framing**: Multiple frame profiles for different scenarios, from zero-overhead trusted links to robust multi-node networks. -- **Nested messages and variable-length arrays**: Unlike Mavlink, supports complex message structures with nested messages and variable-length packing for arrays. -- **Smaller and simpler than Protobuf/Cap'n Proto**: Lower encoding cost and complexity. No schema evolution overhead. -- **Cross-platform**: Generate code for embedded C, server Python, and frontend TypeScript from a single proto definition. - -## Installation - -Install via pip: - -```bash -pip install struct-frame -``` - -The package name is `struct-frame`, but the Python module uses `struct_frame`: - -```bash -python -m struct_frame --help -``` - -## Quick Start - -1. Create a `.proto` file: - -```proto -package example; - -message Status { - option msgid = 1; - uint32 id = 1; - float value = 2; -} -``` - -2. Generate code: - -```bash -# Python -python -m struct_frame status.proto --build_py --py_path generated/ - -# C -python -m struct_frame status.proto --build_c --c_path generated/ - -# Multiple languages -python -m struct_frame status.proto --build_c --build_py --build_ts -``` - -3. Use the generated code in your application. - -## Quick Language Reference - -=== "C++" - ```cpp - #include "example.structframe.hpp" - - // Create a message - ExampleStatus msg; - msg.id = 42; - msg.value = 3.14f; - - // No encoding needed - use directly as bytes - uint8_t* data = (uint8_t*)&msg; - size_t size = sizeof(ExampleStatus); - ``` - -=== "Python" - ```python - from struct_frame.generated.example import ExampleStatus - - # Create a message - msg = ExampleStatus(id=42, value=3.14) - - # Serialize to bytes - data = msg.pack() - ``` - -=== "TypeScript" - ```typescript - import { ExampleStatus } from './example.structframe'; - - // Create a message - const msg = new ExampleStatus(); - msg.id = 42; - msg.value = 3.14; - - // Get binary data - const data = msg.data(); - ``` - -=== "C" - ```c - #include "example.structframe.h" - - // Create a message - ExampleStatus msg = { .id = 42, .value = 3.14f }; - - // Use directly as bytes - uint8_t* data = (uint8_t*)&msg; - size_t size = sizeof(ExampleStatus); - ``` - -For detailed examples, see [Language Examples](basic-usage/language-examples.md). - -## Next Steps - -- [Quick Start](getting-started/quick-start.md) - Complete walkthrough with C++ example -- [Define Messages](basic-usage/message-definitions.md) - Learn proto file syntax -- [Language Examples](basic-usage/language-examples.md) - See detailed examples for each language -- [Framing Guide](basic-usage/framing.md) - Understand message framing for reliable communication - -## Documentation Structure - -### Getting Started -Installation and quick start guide. - -### Basic Usage -Essential information for common use cases. - -### Extended Features -Detailed information on framing, SDKs, and advanced features. - -### Reference -Build integration, testing, and development guides. diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..98df47ac --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,7620 @@ +{ + "name": "struct-frame-docs", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "struct-frame-docs", + "version": "0.0.1", + "dependencies": { + "@astrojs/starlight": "^0.32.0", + "astro": "^5.1.0", + "sharp": "^0.32.5" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/mdx": { + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.14.tgz", + "integrity": "sha512-FBrqJQORVm+rkRa2TS5CjU9PBA6hkhrwLVBSS9A77gN2+iehvjq1w6yya/d0YKC7osiVorKkr3Qd9wNbl0ZkGA==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "6.3.11", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.15.0", + "es-module-lexer": "^1.7.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.1.tgz", + "integrity": "sha512-IzQqdTeskaMX+QDZCzMuJIp8A8C1vgzMBp/NmHNnadepHYNHcxQdGLQZYfkbd2EbRXUfOS+UDIKx8sKg0oWVdw==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/sitemap/node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.32.6.tgz", + "integrity": "sha512-ASWGwNzq+0TmJ+GJFFxFFxx6Yra7BqIIMQbvOy/cweTHjqejB6mcaEWtS3Mag12LM7tXCES7v/fzmdPgjz8Yxw==", + "license": "MIT", + "dependencies": { + "@astrojs/mdx": "^4.0.5", + "@astrojs/sitemap": "^3.2.1", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.40.0", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.1", + "hast-util-select": "^6.0.2", + "hast-util-to-string": "^3.0.0", + "hastscript": "^9.0.0", + "i18next": "^23.11.5", + "js-yaml": "^4.1.0", + "klona": "^2.0.6", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.0", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.3.0", + "rehype": "^13.0.1", + "rehype-format": "^5.0.0", + "remark-directive": "^3.0.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2" + }, + "peerDependencies": { + "astro": "^5.1.5" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.40.2.tgz", + "integrity": "sha512-gXY3v7jbgz6nWKvRpoDxK4AHUPkZRuJsM79vHX/5uhV9/qX6Qnctp/U/dMHog/LCVXcuOps+5nRmf1uxQVPb3w==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.40.2.tgz", + "integrity": "sha512-aLw5IlDlZWb10Jo/TTDCVsmJhKfZ7FJI83Zo9VDrV0OBlmHAg7klZqw68VDz7FlftIBVAmMby53/MNXPnMjTSQ==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.40.2" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.40.2.tgz", + "integrity": "sha512-t2HMR5BO6GdDW1c1ISBTk66xO503e/Z8ecZdNcr6E4NpUfvY+MRje+LtrcvbBqMwWBBO8RpVKcam/Uy+1GxwKQ==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.40.2", + "shiki": "^1.26.1" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/core": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.29.2.tgz", + "integrity": "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/engine-javascript": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.29.2.tgz", + "integrity": "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "oniguruma-to-es": "^2.2.0" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/engine-oniguruma": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", + "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/langs": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.2.tgz", + "integrity": "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/themes": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", + "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/types": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/oniguruma-to-es": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz", + "integrity": "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==", + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^5.1.1", + "regex-recursion": "^5.1.1" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/regex": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz", + "integrity": "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/regex-recursion": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-5.1.1.tgz", + "integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==", + "license": "MIT", + "dependencies": { + "regex": "^5.1.1", + "regex-utilities": "^2.3.0" + } + }, + "node_modules/@expressive-code/plugin-shiki/node_modules/shiki": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.29.2.tgz", + "integrity": "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.29.2", + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/langs": "1.29.2", + "@shikijs/themes": "1.29.2", + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.40.2.tgz", + "integrity": "sha512-/XoLjD67K9nfM4TgDlXAExzMJp6ewFKxNpfUw4F7q5Ecy+IU3/9zQQG/O70Zy+RxYTwKGw2MA9kd7yelsxnSmw==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.40.2" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz", + "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz", + "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.4.0.tgz", + "integrity": "sha512-wie82VWn3cnGEdIjh4YwNESyS1G6vRHwL6cNjy9CFgNnWW/PGRjsLq300xjVH5sfPFK3iK36UxvIBymtQIEiSQ==", + "license": "MIT" + }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz", + "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz", + "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz", + "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz", + "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.0.tgz", + "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.1.tgz", + "integrity": "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro-expressive-code": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.40.2.tgz", + "integrity": "sha512-yJMQId0yXSAbW9I6yqvJ3FcjKzJ8zRL7elbJbllkv1ZJPlsI0NI83Pxn1YL1IapEM347EvOOkSW2GL+2+NO61w==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.40.2" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/astro/node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/b4a": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", + "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz", + "integrity": "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.0.tgz", + "integrity": "sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==", + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.1.tgz", + "integrity": "sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg==", + "license": "Apache-2.0", + "dependencies": { + "streamx": "^2.21.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz", + "integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.4.tgz", + "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", + "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/expressive-code": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.40.2.tgz", + "integrity": "sha512-1zIda2rB0qiDZACawzw2rbdBQiWHBT56uBctS+ezFe5XMAaFaHLnnSYND/Kd+dVzO9HfCXRDpzH3d+3fvOWRcw==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.40.2", + "@expressive-code/plugin-frames": "^0.40.2", + "@expressive-code/plugin-shiki": "^0.40.2", + "@expressive-code/plugin-text-markers": "^0.40.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.8.tgz", + "integrity": "sha512-iOH6Vl8mGd9nNfu9C0IZ+GuOAfJHcyf3VriQxWaSWIB76Fg4BnFuk4cxBxjmQSSxJS664+pgjP6e7VBnUzFfcg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.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.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "license": "MIT" + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-abi": { + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.5.tgz", + "integrity": "sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz", + "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.4.0", + "@pagefind/darwin-x64": "1.4.0", + "@pagefind/freebsd-x64": "1.4.0", + "@pagefind/linux-arm64": "1.4.0", + "@pagefind/linux-x64": "1.4.0", + "@pagefind/windows-x64": "1.4.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.40.2", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.40.2.tgz", + "integrity": "sha512-+kn+AMGCrGzvtH8Q5lC6Y5lnmTV/r33fdmi5QU/IH1KPHKobKr5UnLwJuqHv5jBTSN/0v2wLDS7RTM73FVzqmQ==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.40.2" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz", + "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", + "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tar-fs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", + "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", + "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitefu": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.2.tgz", + "integrity": "sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..29ffab51 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,17 @@ +{ + "name": "struct-frame-docs", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/starlight": "^0.32.0", + "astro": "^5.1.0", + "sharp": "^0.32.5" + } +} diff --git a/docs/CNAME b/docs/public/CNAME similarity index 100% rename from docs/CNAME rename to docs/public/CNAME diff --git a/docs/media/logo.png b/docs/public/logo.png similarity index 100% rename from docs/media/logo.png rename to docs/public/logo.png diff --git a/docs/robots.txt b/docs/public/robots.txt similarity index 100% rename from docs/robots.txt rename to docs/public/robots.txt diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..edb7432b6532985f438987be5f7e193f3bcfe96a GIT binary patch literal 118407 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

QtnZ=G1;IrGhCW zj3~&m=gf3xCMNcp0<5y<;mMx?to-ZPcgNd^-xu0O}XhhI2d z_Du+hLx&T{=HINEGU?jaPv0jW*_DJ}SHG+^`8Jg-Y%?I16~fispi58}ZNWrZjs$^kfD7U+j`(d-23pwCc>e`h3Oz3L|BQWc z+82x|SNt1@Uq_T{&K%QYYP`>&ZYBi--fgkneJr~EH|f^ye16PX&RuQL_{2E1dm+bJ zqhM~IR^?qI}Fs9 z>ktC{n{(mYG9^L#AO$6*Sid7V!?u^ZHT&n2k+L$)CY>)21V@z2vPkr(M%MC;GviLD zxdoBOHq%Bh;WFN%Qs>PSGOU1ajpn!y)_KJR_kvEcNL`KXH!fL<*4H`{{b{+;yb;}R zA!7cgXQnzfG#gdal`l&x#y8bM&>Xygotq4W6%76)Q3|1;+RkFky0@G1mHPCXyRM@4 z^EnCq0?#Hq>P?Z>xJ#qcvles;U zLE8hyYW>;fg@+k-uYaHtR3i#V6-$Lk43E@_ay%P2Ug+BB8iFWq%ns|WDJ|FhOX-q` zY_eNzDEkP#$S0VJnwI4}@t-Z<@p}K+P>_$y&8}pm+Uw0(nc5++r&$vR8=LVe(+RKJjG-QS{Rcl{!|i7eOP92ZM75pN`Ce1$@e2e?v~2H?}Jy z4mbIl&I^k@l6|r}vHw=?@3}3nOo4A`W8qg}cUHy-7UIu9NR|kAC~_bni-I$nh?#*$@D7 zv-uBl^R|CpZ2nj-=8=W)>hRxn(`&hyDu;NWZ~;Kpxc100jy~`HWkWE{l1U@nB&8E ze0k6jJwn*@8|$^1cgYQRdVQTShr6u{Z1@CawPrAi0}^Qe;f&FqjbK1j;rtDspTrXYXL$DSG8MNX>`DfTos1$PPlSOr2>xAs{Iz1Jf13Mqq-htFWDj4 zGYV45Wfj%U>-Pcf^hd_2Am$|uly|MJPobCm3-kK#?@0W& zr1COGe9$uKu`4GMr~~^wNi8F zjZ4yjrv?~2=DpdnpJ9{oUps7dMtZu}<*DuSCz^z3CLA}n@oH^hoT&6q*SmNf-G2GbFz%Nmu=#9{LfBS~=o50CD2IjOXm7k#oqxPXnYLmB7N&Jf5FOoks z#gtRgh^~tLRW{rV6#mohu!++ZS~O$%0D-{AYIi z>kQ#KV`JyX!gGCvsX#V(wllIlTgnrHp+>xwc+f~yxY^{}lDHg%`^JKSnYBd4k9~R= zE=Y@A77;NDF{LU?(LU?3iGHyM*={rZ-c2;)-VWhGVhwLdBl_^H zNmr;~DK}iyAjBFe-M)@Kp>cAzP`>ms1GGCh%B7gGOQ^i`^c*9|L`(Lknyui*|MA}B z1NvAL{X9+R$50;eHx!hXkr87I4uy z{h-PjOt(CeoJIH;Zw9%$oVE;w zubJDg%x$1oNXBKPH!rxSdKNm2*|la~=Y(VCcW5)+aO){=we2)8G`JTL&Qpgy>A+wa z;F?tCY*dr_{c$4ixSr(i29P2EcWv0h^=2*i z`9G_ynk^>3j2&OqF=eJ-pR!L)dLnDhxtYKGm5>^V&nQgVa1x_Y)Vg*+-hSvIJ|Ps- zPLm+aU7bzt{2(JrO?(li%sLv@lY)t!>`&Pc^98o1!&(ro1lB1`DH!Xt5WVuU^1W{m z8wn0sbT#H^tM4sfbEDB_Nh-RP4+yJ&Z(ld?7>Aft5fkyhKo1G*){m>@DaU)L`pLp2 z21YEK=$Yi}1orIqcrhFMl^UCBx~_FG2FG<-YZ>N%4clhp{Me97Umi(f)oo5KYp2i-9I6z|QZz>s8T?%#N@whm9?zvS*D=Q}ucfJ`CUhfHqgx z`(O9_zr>F|E(b^d(YrVM6PboAKZk|z(x=;QU z|B^obtNtjVL&dU@*pNEgL10O`AlSG7Y7EhWRvA&uOgpqICr2t%Q1JbtF17RY{q^nq z{cX6-^<;J9nQE-gxHk|^Sa})%-K?CfG$G-#{nt>MHXb*vXaMKyy_qOXF*rxaOX;M$Ls{1NEca(9NXQjE~f`ykU9 zXccQv(~dCzl&v9Akcp;VniC7t}ETPQIr)wMixefg6POyVFN@n}-lZC)lg-Oi5&k1`2i=Ho!1rjFCZG&f;D>U@!h^?s3@;NAx+P zAJzm5nePA;QAdG9Ga+eWgV#r}RITrQPzFRRhsfVA$z!VwySr*!;Mj5Q0v(M`HDnLi z{Mqp-30Nq#iQE8I;NWFXQ*UPU`p0h|dp^0|?zcHe@sFp#(Fyo>jK{2aN~Mnt^A3p_ zyFrn$>;4kNfl=1Q&FJAR9#&_I-Q*WC^gT8!jM5?5{dwAk*9gt#JKKe*CF0%EJXsM_ z3zHTNukytc&(ne`6sx{?p^ibBc1ZjkO%$R%Wd9x*@_PPXsqxTF)sRZgf#5-o?^F7{ z!}{IQfQxyG8ACwQEX?OknJYw(3pXqu#7ya$%Z+~&kfS_w@iu?{LV+-ABa`j9?++`m z{+F1@Vv{VePyyQ+!7`h~s%PK(G<6EIe=c9X@Uq++^m7AC z_e|9evF(Nj7@PL4E<1bz@$J0%(dA*Pb>YhTwE;NxTE5aL^97@dS-WgfZSACV}j_XR$I zMB}zdS$WTYTjXS22UfZ_d4EhW4o_SswNqVQRAS){?rZvoyO$rjIn6|juj)7#kJ%)G zvmg)ZNR)?9x_%t=Mu5;R;QZPgp9IcLCD3%vio6z9-P}LLQ|QyfP?eB|MC0(cR^@XtP%j z4Gv%qS+nHmZUGuHxL#`Rg(~zjq?*3EzTPgKyN&y(=2nl4OKz!vf5JiV!anYi zj)5~-wc4lo8wV}%3(TV4+&kjq+-mo%TJDx#(b36pb~sN!RQbrH(xnWHoV6MKEZiCd z6S$P&E4=3T2c*11S-evKDLBjy_ic!jffIVX=pk&beP=M?NkgKZr`Y}Q=bap4D{*q6 z8?m2yQK(*v80^d9QI09`@6hhyEjU7z`f8|(FnJN|MPw&jm8gF=ZA5!K`$eIiU&WD> zWO6@5Fh9?6^)##JXZ$-kTg%$}$L)T$>Ycc8$@8Cq0HAzK_ke2H*HmD;x^xR1F0dld zI!4Fx{J!SYrUB17!6Xpo7tXk4P+ZcD=;G2~V$K&z;c)&AqkqdY5ml~fQO0ZjC7uKi ze~Ie}7TrVmb2v{0C$*?)HbuSnp_#DwNNX?*C8VZHLRpuD*+p)@N@tbXE0QNfj!NIg zG!5RCeb?VhVLmPSII)0F-(xWb0f}8ZWz*#@a`G*_giro4M0UF8tKer~e*o;}4Vfah z+0gEATtJ93;iP8)UZ;(ovU~w)ocABmLNf$8i$GRqK(+L;>IC69S;ML(XH8=?q4Vkz z5e{8>V8Dt`FTd^V-|B0kSO?LC>No`s*#|PT<13iNK6#(e#XUUTY4a#D82?f-)eknE zxB`7Pc`E(r7g90Hsy`S$IGXikF^bvicpPBb752) zX*(usK3qH)8u}blwH;npIWyZris0Fb+xbP^9Zst>j9^p^KqIY zUFC9y2A>?CzYS_iKIJ)H8^1hpb3x~`I5_Oih7L9gC2D$qJESZN5}}+aCaH}33heaF zwBMcYB;F+pqq)L{n}Uv98Atg7Zc0q0DtdWw7Hpku5khQJEDN8w@y%%a(us>4;N~Y_ z(M2L+y%30NGmP~)g_ug~kfPsy6`wk1-Pu0pQl9f1-Fgpv8gOE zk~E6C;T{Sm^IUCMH*x>&@=;Zi@ybqY4!zKp!NLZoRJJ!$pJKTbLLccw`?eYZ^aZ{B z2RZ@#)EZ8)8}WqX$#JTFro*T_f%uc3BR6pjE5sdMOATdK zwY!C4_g{^^WA_o)eREWRRlgppm?{mK@SKUXMxiROc5bv!m~+<%smnM!J9%7vJji}8 z{_miSwrTYjZ_>w%(^;GZ=PJIF8+Hf!Q7Xk!!l=Xj9aHs0C(NQE)}wj<%u!>UkmD9b zbGA+mg(jp>6err>Q8H~&nFFMvuL=ifwB&boOAG;tbW!Sr=272ET*DScVasFM>|mCB z)HrRLA}9aNM5$KaSl{)~HKba-P<{R_JR^fAnxZ%=;)}|Ha6_lJQwf08wmyF_azeA5|0c0dwlGhTs7b@dw`C7&5A}=L z6_}*L)^?>zaca8i^bVBitDQBw##-vklSkbfb73KwBb{U*qxN=4HlXSlnMsoie|u<{ zIW5vnTTqTP7~EB*)@4MIv|$%il)6yV5UgR@2>eG2|Cg-aO=f}(hSA1`!8)LFLIl(( zQAMvA8C8l-K5EWkd-&@+lQkyMtCR$T(GPsqNEB$01!z7ke8B=EQL-t@9f|6!t^)n; zp83Zn9D#wy2%XU52(u+pvUPzZwL|9<=Rp;TPThmU{rT$srN9)h+2w_B@!Ll92j+v7 zf-5CMgL#evh>iI}(S1~9dPyTikZJ!ukXC;$CDs=IX&KJi_f&6$&SFJlz1`p@O)WPU zROA?p4%x}8r#Z&x&5p2UEJ{J?jN{>m7iTIPyj&Dn4~0jTa*9)bruU~i!+St>>avni zH!?6#=y#H_E>qf($^>DE$0?SO+TGszdaQ@uI&3r?-Tfn;pHn7n{wl}|WVc7Ar-vfz zJkaW|i=Q3aqy;5qB8aYGo^h~vOMpKj#kmm@)pL2paEW5 zq}KtT|)a9X^rA`OzSupjSekk3|DY9Yv*IvpNc zXn^jm`?d^ZFbtd16BrYg5JO^f zgB?x(_S1mYro!!`CeezaqMg{Ay!2)`Vt783P)Y6L)z*4iFGbHm*$5x;gHA7xkkuUO ziD$DLZ+?jziWm7%*vzF?X4)jA1$5GU1uDXd8=czy#%E#2=%256f~#X{7v$QB3!VQR z2L^1m;xs8(XKHyA>kfVFUHDa6@Wa)HCbQQJZ!TVZ-_1wnq#@F9=lPmo#DGM_#nmX~ zLad!C(+hBa$X{2!-Va)Qw~j0F42ct0JR>ZWH-(BI!utnZ5XUo7o~hwH{mQ^Bhtzsc z`k3`dZcDMrRwN-(_LAJ{582p5!`TtiF$y^eCLWj3r-BmJJoZ6m*!pJ!$WP3GlV<08zUq<;GEK1=1gMV1Yfpe%R1xL=9&4OVxKJ3m!A>Qqn}*Jc5(%i$?sZ3gcGC*_1WeUPOV`z{YSH|dxZD4DYq^8tq{5*NqY(1gx6>2Iz^Q$CpW5WQb`$q7d^qg5SWDs{^ zt-t?_XD*x3!QwhCQ_?|uzyj3PvZj;KsX1qYgV~Bce`PfD53oqscY9uZ&^0Hia zN?5Uw%Q^b9G_^Hm9Vt|$Xt#&D@x^Jishk!Uyp=F98O%|1#EQG98a_pjPY5+EnZ;6G zCY`NN)~(f8sXTFJb^Jl}iOaxsr>{n*)_qGKg-FDP#MCg#rh$qING+REPyMGXe2X3X z+WqqG`?5psH%qVv@HU!Y@cR>*4YRPL<1U7{cFrH`Mu8`IMKMg{?*mM@M&Lx>G=oDA zlvBR1C=%t-Zz4+<5OF!3GJ^r*Ll#Atn<8kU4YB=!6T9^f@>o+ZVL*qylET$C;Cm(F* z1O4oK4#k zPlQJ@ZMbj$xl_W)E@Z7xr*&1J!4qUnur)BKjoL3)L4oa{v177Xslk5boF`q9k-?=m zpuu*5B!?r8b)x%a4}Zi1@(qeuIcFSEJa6;^RJXw^4w$ICP8J+Wo9j`l5wC-J0il(0 zBHJpwPv7JIjHRnTAg_vLFvN!g8r1Eqyw7$W)b_ho$1wgcBchEfm}=GV>W;;#!eApn~b!D>_rfgY6@4ov}?ids2(_t)ahFFR2DTKr>0=AsID+*sY4dg zx)jZ5s*lI|*C}l}&#-HWZb0=*mZoBDBMEmcd+;RV7 z!fdIc^{6Sc37Dif!dZ@LzfoFoO7x`h6U`Qtdk;3I7fotr>>eqGvkx;tSHQ$Sxvs`( zBg=E(TX;X(&RQp1eYYVK3*}jiU#?qE`WIe7V^pp$zm!0f5!42vsh~sI8WT8)Hx1XN zVB{R|*lqEh7eNc2MzbN{B#h-`{iJ3|O~B9AU4dCky+|N~dBLP^#wmwgtTVAFrNnoe zB>W1f)82xmi2gHj?K8j5GNbuECFcGZ8jh##R+R75PD#%)Df(iHRdP5feu`hyV51*H ztD~ADBU&ZI1NA9VV4`PGG+=mQ%&xPzdr_lP zzW|e_#smv%s;!WAp}2YBU#{U#eH;ae#RC*y&d15mRft93bJ^+aXsHEBr*_qIwwCAT zf4ZKV<|%@~i9%ytZN^8l!k&&Ni~Kl4`cJ+i98Gdl{(!8_<8rH{oK3HME_k>Yib;@_ zQbK${<*$u{c@P#w))xeCNd5YimKZ3>tu}okhFoQUxTcIw%wrI7?E|)On*FHoCli8$ z8V$=3Ted)OcG?qO;~^c~2U{Ey8uc_aR?69VA1`*Y6(61a(Vzhyu&0y2jp&*zeD5&< zR)yv#A$gj^yg2(WwfhY|d#p$tuJK4?1Wf1%_rc)mTNk#N7Q00_%v z+~P$r5Fw+bdIg+J9(%pw{oObbjz0?HRYLyI;_!kXftStbauN0+Y2gw)EVCN>S%mKp z4Xt6dZ$}srohee8JI>2e5}#CyRQ4dzGD*!N2uu+1q(Ld3EtV>dA{C6p>wy8>uMu*Lpqj*5-Ha<(^YGNsI?apMv~ zrmg=%2c2@i4!7aw?JrZc^4{Z|)Kh6lO+YQ8YBJa*h(Ip~@SI_-e}cD8E)Y_EgDt?F zy{3Z|1ox9f*CR13{Gw7ZzbRk0F)_Lwf*Fk(VZIDaWgCtPW|;w)gxw4@lDC`o=FPXH z^G7SLOu)VeSCZp(>#h~V8#p-bdPAp(r4?2Sr&Mi(kz;Sehvvz_ zUv@@zb4&x@B(%dYUB$o?cQeShrN~l+qm{{ z+rJJ{Z?sByWChF6(-6qtu0{#&C%swL&!Z}KcDzxO#zsctNTLai9tl2_Yfv^Jq}6ks zirYa}Dim=~O=@xHuDJ77?Dxj9Z!+2*jLb+O%-tVfk|C<8ycSZT7hU zm4$^im}Lg=MBsegAefo)uqH6WDT0XP)lUysW^lZs=Wc zCK+&wm9Q3DY#E2`LRYg>#{gjqbIEeXi8%}f`UIJCJVrm~t^}ukbUXS9QrT?384pV* z0gOJc{bff-?{Q|l)I(HWTtSBegQkNd#)+I^b1S})_47G-+#<3@M)0t9c^f<=2SmYX z8nvh~#g5op^oAO#jZ-`uGSsaP{PmSz<^|7MZE-#;jdG&~u@)_cHDF*-QuWhQcy%Sg z#ApzWEHCYBlUvk;T=aI_nns-<$LLH8=wJofYN@EjI$-28m4sUfj9tZ&xxZZcc|M;t zpDX?m$N>bxn&1WZjn;#&D{qH|-E6#^w_gwRsK>rzBlB>lA%0mL&kN5?qJxG=sZ5aZ zBPNqw z$k%BWX(?nH+hX^#{2SOMtkrDaFU)Mv(ekI;Wavouqxa4C^J_+$;SunHl}uh%wzKwr zC+42mF8$WGNB>gQMv?d2`6r~c-yJh_S<%$AAKXRyQI}CAP^kOO13yfB*DdD5w-a ztb(*O2vM0Ss&p?!QxOhocX{pHE_zgOCDO!wM2K;hWID+1P8=4xd=R(T-pCqmc=5A3 zCQ^;E)-lSO^++6F)P*J4{HRK^jEy}A(gSMilN!M8)vz&dEWI603cI+wOsc?6=m9hb zxO1L`wVO!qufX=>E+7-o1ktcwd02C0GEr4>cU?wDI&@qzo~Pwxyx~zDkJSSv^J|?N ztLm6`x9^fK_E!+ApZn_R1xV3s>W8ILbF|sO@A&f|p!_3z$mdxw)9NI4(Bb&z5gJ0oQt160_gq z*fn)Of|8HzfeAr0DUsnHOD^sdGbgkCdJVilf_VAZKDxmTnXLT4REL0G3b%Rc#IPFY zzm0^AfZBoZcpJw_|J7C|p-sJoGRK4Lcr$8M^z`PH*;3lv@Kx8h7RyH+<6`0xq zYc%;-orglo9#g`s&j^|ZHB|tJ91>*|7|FtA9(?LsPFY}p8foo5e=fn#HT8EUfe020 zp@U7XEK#!%>r|J`prQ}a$GL#RM(#xVp|tx~V3g$kMv>bnaUe8jUPRC5V71PLu7KLZ ze4Dk>MO60$QS8b~s4ev@xqBmuh8=Zv308?o!NsMu`|c?~3e>%Hqj37~2XGYtL1^pU zstrQd>)H9s4{x{qC5SQ_2QeBQw)E_ne+blF6f@G%w};#2Fx*RgyLFLbco+tpN_X^O z#Fc+gfAR=LO}jJWZtry#I9Ku~h@VvuKPQ*$;Qv&6lsQhP>Yq>NrE07-qJrE=u)vDY z?Td`-sZdxGkR6?zb=s|5;rX?AUhl7EJI_s+*Ru->k^$s$l<&)sUx(|(R<8t*Z5u+v zAQy77wl@Bzozgk}XD8i<;))OzdD5u_V4`@JoW7ng>9;*>&GzlLZdw1UnV+l)tvKl z+6|w$w4gj8E_;E@`3VVy?Il04ekEb6>j&&KqI%Jhuj8U|mU~9Q`zh&WmQ*rP7)YaJ(h(K_ZkKk%aj@L-t~G4{d~MiEV-S!t;^R zZ1dpAkco3CAfNY>_!aa`wX6yH^u%lAWn?^sxK42MVrU(cc;QTkGq41BzXn%(Eog4O zzuhbCc?zxBH}`^4bDE2+7k`~6r?ql&@Z78@&iH;_EWYuKIJ}}lv&^Yv!A3UM^G6$R zYKpUkQfywlmPiD`sw{NQMHKP!WPx9I*oi4QDLEaueVeN}OBW<(;TWrvX&v;O11wXZ zs~Y`hduqG5G&)0Thf01t96XxL1KQ?4%mGQ^WO036y*x@xeBPad3fD^*0z(5ti7{Dh%l;Qc-17NxDcYv((>ENWg+qchK zSPl0#PFHHV+>{UGL_M_&;rl6Yqs6paALNi_dU-t&U%;~_7DC6u%hVG()vk4%@_gPI zwB>~N(q&_~R`6e5apxKdmu~iCWjDaMh2;v(>cU?44S!=l&A?_#$+3k6YDyCcYf+Lj z(i_ZJXyu*}u~Nca{HpU)7RjHLr#h_Go$;Lr&2<}`a2NEDhy&W8peAi(K%(jiLi|a- z^2|`C7YbUJ8A#w2KxgT*?D>vCm)r5C#=U+s@w&K1S16goPkHQf8EM#Y3UD(|zX6qn zI~d#ug|QtWo@&f|^HpXiJ5=f0T1pueyb*f|k$s)w+8Ln|s)LS6#J$OLYtELDQCWE| ztS8M7)SrP`jewIDdh$k<1lWca%II`7bsg#k;}LBtu#{L)QfT6ZjHRM@siaFoSgy>B zrN7IOetP#Onu1ZI3s&B3&2`)sZg=@z=V#FE`#O=yW#^?6%RhFVCE-;C@J-;&m8P@Q z(K-+BQnC7(;WBKQ$1WB#7p88#j^fow3EcMgxV`)-%{0EghIS{oJ_+4a-1QQHXetpD8Dm#SsUH= z<4m_SNB@v57V*=`iBM7Zyyp#sGfHy+U6}MD9Qp4dw zwl;RlT>PCxjjMuBa&-?+sFpoB42@rBh6#%XycaC#abb7wvFoV@p70HIZCK{#ISS3s zx9>fwxui_FFaYB)0vJ(nohVVx!?;&%LqwdVciKGS`9Pqnx*Zv8(3+;o3q z4v=vM3i7+XoSu%~#NyPuZ|sD1@>CoWNOh<@9#Z1*p*P}I#KqASGyG!Sp$B60SB-Dj zr>^Q~1*?=EMOVKX#OHKOW^ngu~PPo5R%k>3aA3doZT?N#i6P ztir7O+v5QS>Bo)tr}+5VW<>?1-0Zz{Q|&>jl*T@-zfN2^-hBGe2c{=BHjb_Vi|{ia zJ(}Lu1eHvS3gyXsaRp=y=E&`&#W5PUL)TRdO4a=uYD*2&21hEWC>txmDNZ>P1zp7%lNX-^6>?MB{46i$;W;FNqOl+n6qYl@n+iXb4T;&{-?7u@~*EZv-hGv!@xx!isriaxuCm+XH!}@5k|_XgR{LA&iz8Vng;X9| znXK@bRI-eOtHJ?=HvII{P&nUOL8&DT1T`hJ*m8I)KDGR{PFvi%;^t)ypr`DxVb&1E z61A^~h8KnyA4%U5A;|SDY^i`;=khlJ^D59RT+@a zMJlfaN)}hy=YT|3V{h3q0Tp#ESJVokd227CFyk8~WEQR-TFoC-m5pTyzr$jCJuAsU z@_jT>pW)G6MHM+yR=m+Y@=|{>$bII6GXq}Hwj5mQvt}QX}4Y-pvT6%nE_?Wh@wnKCfAHBTG^YEAL$m(;U#(KlU%+b z2(Owd6pNOWgtFsuW2&*e)ogpYnCrc<_*Q0N@|q)!qDUzjImE!M{b{CeeB7Q)~sA?pgtvXEA^v0T;?bfc>VS3T*cD`}%2Z4Br zhfOe4+-4%Oac4nZA-`>1lz$!JNCx6QQ!&h|GfAvdwQ&{iC@qs6$@?|hH}r98 zFB2yd(mk~YSO{Wkyr@pvEk!%ANlhh*Hk7;4;nA*V7iK7ePD%MH%T#{)fK)Y-QNV}+ zAf1VQ%7a%;63?!^hD4>VPv=J~KLFUES*Fx<$SlQd{p?H%X+q`dtIs>Y^98&GD51=7 zo(>;X@w&3Oa#_<9(1SolHjG?H<3^yhd?Cl+Pi(pIjmY}3D(>LOX(00UA$8a4wUW36(5e(^km6$1_qt3Vq)#Our5qpTsdj zW+5E+XIPjuf!~D68puo*p8`v&kY4i{Pa7}Ye#B#uiE_M9TXnVI+U$S|!-&U(qC(~v zU9ExrWn$y(p*SrInmx7pn4XbkkEKF=KWT$Fyo-r^q^5!;GJF$l{iHC+_CJ!&!6DD@ z4ddCiy|mo2mTPI*%XTfhWov0++17H)wp+%V-)#JzzQ6u}dV1gIoO7M~zOU;8mk7!< zE76`QxGwqv_xax5B6dln*8W<}X3zqgH((iUyFZ4ChDt5uGgeRywUw!7@$~A7-WX0Z zi+0`pM9ljroJHMmk(`Ln<(2=z%$@W^%TX}45-htLLZFz}X7+Pd6mUi*N(zGit1da?n`E)fL2siTITvb}E?!GoU4~k8++1lD} ze;7?+;bY?xa?J@BOxQ}Oy@)s!AH~~X7vl1bx#~??=>fR&sY(C*ccNLzzlF1=|YZ5ITEF_*eCO)Qo=snD9_pky^;UgDA3`|{JDDYtzgrAhfN)8)E;Zy=6}+=JtHMn>97 zi^oNx!^FhIx6`a+3pXO-l2X%Sr8O<%o5@b-5BcN}w!H(xyTUby!jSm(jbBtfpK=Pf z15ytfB8MbO_GDn0qq9;-DCwFib90=r{b`KFim*QyYiflP&8n)>G3nKucT8N_$+uU{ zGI({k3s=Rk*Vciz!Gh4};y%LyR+!yr}H@Zvu+XB zJ@I%Q8G^zOael?5@tD^mj3P`+U=EsL$P06_Sd}eXWn9S|mw3PBrAUZ39%voOhwXg{ zD8(pIhG9@@{SYusULI6>TTynS8DoaZXT%c2TE4`nBDX#E8xfPQ+v$WN4UV{b)FX$` zL>xgO1gq9$ax4jZR+Ck~-Q#I)>{?t2NljH1@aO8dj*eYl&xLqAKxZ!MNrqbIU&KcpHM!ryYM6T_J3lUHXz_RW&%;x``_2wb%Xc2? zNkE7d9@_uL%?A9n-+>{RyIbGgc4XG)tRKB$Zfqf_r;5{{B>}2SIJ=_RujIZhwWvvq zq}O!Az26K=iQOuYk?bSA4A~*SWop3~>orD*>!~`E_N{E&sH^V*^P9X&Krw=D5ReC} zolk3E;gXQH?>Nf%1%BPTnaIVN&LiW}XygyGHRpjLp<;GY3ZRX-}D?(~|P$lWxT@zUk=MfuoR zJ7G4Tb5&5L_j=d>-GIAO{CXK9oUGXS1m7vwCTwGr$pBQ+=2K2du0N5W!NX1MTD;_HwV{PJ+Br`f4-~t7S`UfhqNBX^W2q&zF}tiE8od6Z ziNzdLB3pYqNTyVBA!R=if&T~JBv6>)isn7yaC0-yV58mwyrHR{b~(`!H6Z|=gKxI? z^nL5@)(t}^B^u$_xMmp*>09=eR*9q8s;>LlNx!=wH>fnCpx~3oK{*53{q#HTF6iNF zNS%0K5uf`V+BNF)+PkCM32=0~TT8ZmPfjeAN%iaQ8(SXvIqC=Oo!ixyQu*+8QrV(u z2_rmpj%Y`(q%3ah(dav0%cmtJ zkq)YxW$4ZOD@nf8;XMfk?n!`yy|B4CmCWlP_hfHT?8^|8>UCvV(L0bj)f=24 zw#|%CCdyRX;h-Ww>TM&IJxGBpJGE}j-J*deGtdXn_3W^$EVQ{tV&AL|XVl-Gr^N64 zHQS~OK?w8aVyS*pePb~|(Dw7+rKP^E$*Xom-2%AJ`ySoqJ#%E;pQX8a%zg4JdpVL0s7u)}2gsR%F$LNcr>Y3m zN?jxV{bfs9PV>NE-GU@FPM*rzWDK+1Wcs3ZY+5~Z`LOxd z*8s3|BL+r>ho}Gg5ry}nt^9pG5flR(bZV>P6qCv?6NtDo&CxpiZ=tPvzF_@;3N81l zMD$m!eRw=CN~{;T4(8ARuB(I+1y!jt-1krDQj50XC)a+n)e_N$IzvwCDTUWJH@+7^ z$Shuy79vl}9e}k%gJqQCF(T(aVjlpLxC61G0@XBmn!y+;p^Trxd0p1c#*!oA;p-0K zwcm~ko}-|Z3edy<5*lLVb@!NIFi46G$6AnH*@N!u0V7~X>Abb?)$OW7b>ipNYrVXd zjI}~?UZ6~Ub2Lv*Moj9hPkoo3p3RF-JvJ9pR;76$KlgLz0JXQ|x1SHZULWZ<>xM*8 z9?n>UB&WH)4#Hc@xP79x2OLTXNFHrNJ=k=iG<;dB?>iEwwB0lV_O#fh3pFX&25SHg zWN;>}kBLAu$Ji_a^@~Vp@Az1jB73dJ#T2pI>58if0wvM%1F(!T)XV)I&xeL`KK&XO z1!dNUvmAUODqEZ#(uZi{=>-Aoh;VVPl7fh>H#Rn?`@~ zStFJNR_b7Yf1Sx=*-St7f@mC8F_J;eyGnMi@ zIF$rC6~!y9Ki#rX9j#^v{r$Q{NW-PoO4-|uY8qQY$hN8#h=rJ($4dU@nYqOQ=4V6_ zCOqhKmS-Qg96*-xAgd`UR4y-bKQ^n3Hd3fmZ9OojB(|?7rr@rWo(ulfE$_7=a@?$r z_S*u9N+mgK`ZeUm0nmQki)BX)fg{!WZMS8$)6?k4(<)%!&_JvTSVCxiZcF$&c7}z~ z+)>&}n0a&OYP}MO^8rvBL(wW2E|%0qf5Rn4w-2NkbQ1a!jSy~HdrMFCdm7(*FAY>c-Izz62WdKOYGj${i!~FK(s+3RdPA0 zfG>{}^LU=rj|lBPnNvV8|1LFv*_*2OaYprfK zo@?{^X5et3j|UNtGdw)YWjoVGUO}-7h=;$~ARs1QB@VKS&z1`cYeF~h*pkfo*X6Jg zs;FIcGr?osn|o2fp$tZnijmofmLSmh($9pj+hQMet0CjAcI2r()<-GR0@!!a8&*%< z;%hP^uJvzqx-{&!zqFBqBwSmYdua&XxT@i7d2yW1Lsizq#A1WoTfjJ3sH^0Jo;PLl z(1N{VP*8=y;5W(4gfFvFClRx#0Dul{VQ zp65DUJzG=9vR2@tnsC*NHvoK?LC6Hl zpC+W&Ee4E~8=9Qvml!qbLrRBQtRzDqUPw0QEn-M3RO#5q{KK&@5%3~(+)8$$LJ}pQ z+xwF}JRFgl?Y3gI0j$)`&SI!CfOk0AB#<>(q0@9Sz3c{3F}LQY1!Y<+#K7xqIKmHU zBy1L&?z(yhxv4xMON%|3B#L$gD4!F)=kf2A7H2=U9+nPMOBTCW$H(*SkMT(>Qk(6- zpOy{g&u@#kCgJ>{(75{eRk#&L`F;e~-feS@FR#YK*7oEEh)p$c0hkYKEkJK>B1tf5 zp^!z0*;VvNn+7u%AlWJC`CRlbf<+uRgX)+Tcu6oJ@+a5|5H&t2z_}DEM{mWhzz5*! zxiA+u_uel#xUfhl=^#{JMSUJ>v?#Ce2!g1WEoG5_+N{OX!2DZeHR~33DeJ;aa~#-U zN-;WZdZd3K{qI}uq~+mwqt`Ii^!Iy7YyO}gs>(?zweWV0O|Rl%=ms}=fY(b79*u;c z^!*(EB1=n4$CKl@!eGGbd@zNWi&UQJ(&AJhMcNs7Dbi%Zmw3M_z=)`5>;r{&GkyC9R(WB}oryctIe5_(~mzU7UKN7MaI4QD| zIJBQJf+L6f=*(m57WU>|k7LqgzPrUK%-XH~K0eRvIcDkzxxeawa;C)lOC?KPR(drl z@@7CwJ207*nB$wh^!DdS%YstZ5gb<~Rs zFOt@E8(KS9!8@stRI=_{3YbGl&oH@}P*!afUu2K}Tc>MFOvNZ>%yz?E>6k9J%qh zrM9XSKlU!`d!>|=F}4DMZ-X1x*baUs1`Zo^1f#fD zXg;Nuh={76=J`wBbb6DKvKUOkHK{uXJ4(7eEM4-<_%xK>S8yksUbmhk?`j@KHHWij zEz~D7S7@>%CwQJmhWO4G4atxcL)lq#guqfwM+>1TnVMg5SjJIJQK?AMTYMm~_$1&o z2fucWvb5RSWrGrK=%_InZpr_>fsQq*yE2D-fxIO|B$Ca~1rY-@kBS=vWLwh3tC(Yy z5z6^+25EwC|C>y0A%UOGooDk4-!lv8%iYZ{75O8)i_mwTtB!^6n!E-fyfVUWvf z3ZSX;zJ?&p5yoa$tsu-`h%@);DJ`KWF;*KIE(k8fHrW~#`~4bl_wbjt6?m9wv`#)u zUWwX@vzwqcH(n+AZC0TnWk?MZRk{|&K3Afk3x&tu;~dGnPjh?1M{fKx?8UyD%mgAC zw@>w35R-_9;Rdcnj>{S77ElKd-`BgshXTdn(Hd9l$#t7d4?7j7`7|YnV)-;DB2)yC zK;r2O)%Oa6>o9P&*4Fc;ze%I-peuExrDFA-v)axcuK~+ak)(u_l+ZuaYJB;8_ zijHMRtYj=#5nR99o+?01Vym@lGOf{BU4o*mG&B4105{kwLTgVgX~{@6Cbn+T!pfh; z=??z)5DN@6&4V&sMixi~Zksp@AQk#s=L-4WYiL3t0GwJtqf*CdV{B|JDntyO-4ho2 z#@Z+{9rJuMj!3;n^-kiv&+ZpT1>#iL@(h0sy+?o93;uD4G7dC1SD{YId|EnT-7Uik zXVV&jbq|VP1Cd%P-twn~nS}(%PXT5Hq<`UFYlYcA{+3KCVWLg_wnJZzvS-q%{1nNr z2J;771NQ|oDO*ojee@2z>VKxLso!V?n#h`+bS&0M%gFA0df&&E4wiD&IqUmt*IUN; zK=RomT&1L8C}U^3n9M)BWuId4SC0t_o#jt}xZW930WyJHrg8-;mG~eKAkf_L0dRb3 z`*oqefSc)aw{7vPX3G5M_^mCPcwIz zCiRLBG8-*Gf16nk4E}7*sVWK8IBayXgGfFa=60~SmLjW2qXM5_M3|D$%^Yhi2^n7_ zk`W=^=C~k&EjM<;UN@Fs{9X%+gyGf)BXp}8tXxT{r6aF_g-|DSao8T=*E)Qc$!lx#(1d7eg`Ezu; z{MMKOas{UVXB*RKJ2IBwBPx4|%(lx{Wxo}5b1bw+{pwJlVJ~ndf*k<~$pKJ% zZE5K&SCp^>=1op7A}$1?^6r=TK-pKN)6>(`VsqGKQ}|_!7*12OpHM2zQ5X;$#JVE^Op?(V{mDJ;W^d^ZjH-nS>|hf*5)97jQO z%3@ShPq(MQ&dvYU;Bm1Xc$l89+U^o_UlVtlGPR5*U<)3TM3TRz9>aC}j1le6;V56A zSYP}^x{xH^#le#!X#TYPS ziPH@pe8%S7-p$J6HsO1TrQq{MJ z@}>Hj7g@*cbJ2EFGHa#8tj~Y{xYmaLPb+0lm9=CZ2ta&?)MWsA(xAm3yw1gPMHf=X zFD(-a72&>nk|{(xt?whRsB~{ZRVqXA8Pgb4fI?6extuzoJXB|EpslfSJ7K5YWZd7$ zWwYS(AZPG6Gt^GzS}HdU_5F~Z8Z4ymJp3VwY~^w)M^Q=f%_GIaHJrmQO3)i zKYCeg?%ZP*c?0>sf=qNyIg0?d3(&#kbXckhR1!KY7LWnUhPmR zQ5;qp4heslr+!-kPLll0OqVlYQmxg)ba%=>J0nB5I)UdgXlb3lwji=)`L|_3QWoBL z!8{~&VO-+Rh1s@auFX8J3nIQPFOEc__WpTHJxvP{ghJ`+xofE>0r*E_d@A<@k(kBn zmf|JUww%i8$Cu&XJ0HG1&L@V5jiKd6hU(BN(B%otk>nTW(GQQQx$#RbSo(N<|9*lm zj<7RueJ6U-k@~J_0E0lK2#=7^O(>%p9lskY*hiJ#1A<`$iJkA{lskf`hHh8mQzKjf zmeJ%YfK+R@>AG#K7E-}c@;^UTjc1seoyPv@oworTnZ<=?8FR{tR8;x-`2xUBU~umr zC*11mpo~+TqP{#6gBt*;f9GVLTVo9QD`1qp+qlT`)%EAcZE<!-r&`LcO6rQfx0%Dj-v0$ zc4JznSkP@FhbVjya?;X`a#)498en4wc2?JCfJTElTVKx;K6LjIsyV$=M@viFIe&;l z&cAcQX-_~(_zSormYWNZn*6Jek0Sm8WRiWQOv*qvo`C25fR)&}=Iv(S@!A5iBO)Wq zW{L#w{aa*lJ(QLML_b=*u&TO(qN3kjH0Q+q)b;h4Ji=CT9z6$GfB(B~%Zf7BQBV>I zy^ddf4FsIAm}$@f>(?7YAySMAE|9Z*>$A*QZrjyq}|->?e37a$Xiph@0sq#;{tZ)RjHglKM_Ml6pN7i z`*i(#>C9onX|OBj^t)ez*uh;om>pk-rrR)z$oxebE8MVB_T@5I=yBND!@PWF90sGj z@OA8dl^-pdI?)V{%#vnK8Lp};D6tZ8>p2MKvr8|uN%=r^w)fW1LLY=_9~S+4VgCX%RP2{3O8CV{&0DitlfMK07yb+!)|N^n5$ zK{z|Y$~#q1(3kb_h^KcPcot;3`m3bcO|#Za_zDOW1~D1bw!1q!A1#neNO0vy1e1AQ zPe%Z$h~TlN)nAcySAQ2fZ!^$wVb=g}uwNI3odt+!f{!KASVQapCLtE1k>RW8$roD2 zrCOkF5>u{GaYCL$&?PC6J)JbHe>4-92y`(?XfYE=1>EGDS5K?Ixz4MT^M7)-tmD+J zC@ZT2AfZOuk_ydG$!Do@!_1IOOS!q$B~FyNNc~D&KB7OpxW7fV8AF)XqGAge8kc=P z^K-Qm`#ZPv88;3&o~jcgB_SGgpPv$Lz-5<4Mg4QCZ|+ ztPPOW^_tb+6o7xY`K>0V>n>f-b8o)>?XmjpadYhCq!PGrvL>571iH8Hkb;j-PhZZr zaX)rudiz@xuRWMgANnkMc4eiLkGK0TJ=uc47kBtwOi{$dDgEQ>Is;axCG{^0eXs0z zlUw4&>bKghgkA>##}j&Fmr&M0Z9x`4z*^1aMr#Sh7CFOMEK(` zwxKT{0}2iMDWbj-R9KelctRmSL)i_^$5x4}^J0C0jQCz{1Va<$cl1o%4&B}tj$F-F z3r^vVcGceP_n=ejDZ=sbN_~hJz8KZ0{>H~GEbMfLE|7PmlKKq+IHo`hR*a6u*49Tr zI+D-*^VQ@VXlqNHnlgAD8085H-c0M~b0$hXSl~Y)tdEzjrG$i&4EXwqQ;W05U7SYY zm(>cZ=x@BK7e5`1@^qJ(Shi)CFNhdiQsTZhI3JEIW^if6rJ$Ae=J;SF*-^`+skL6% zSxcgiDMc3OOkvcC{*Vcz^QFeb#C~%cE1S;;^rXA{hRkXq%gbsBvI;8%7Ks}_zkt9~ zOdXT(_pK28*WSLqzKOCj+8@Cm=;Ttwe|W%HFH(pYb$}wH3=O| zENn7Lt!p5LQ$;^|B#&i|4Lp04hnwk(q1Q1;z zKFH-19ybk97syFnBz$<{!ELIxib2d_rWN~9>e|K%nM@U1gAkUsP~Hs3G~dn0P3TT~ z)Z~`wlY3h9fo+aXEGsWfzsY%-_0;40;Gh`7#vODQu+ov!_m%coIs#-x%RLXKayiNT z?x*EO^EwjJSj_UwB(?V>5|e7~)&+ouzB#KriyG7@=>~T$>+M(i`qYM_rk?H|G&qB4 zS)Pvsw`uc>Z8fE$nBnO(eQa_LY{_i&(+Ze)*~^a_NL@H|PSSn(f8=Q)Xo~uf%bMa* zH%)U+J(=Sn1_(s8+Ged-_5N&HgoTB@6(Xwv&vmD$AAdBHgo&L%?|7pqFJA$m@_@k7 zJM?Od1a%-&a7@wLO-NwlqXbL12cDB?A0H@5=>EE&WMttK8+t_>Uow0^X-6?l?|uFEU zFv`kJ(cHBHE2xg*QuQTV4Zhn|g8rU>MZ8oxnfH8RIdnMu+ zsZi`S2IJqBUaV}{F?HdQT!OMlHaWJ1Lp6##D-5xRgrMEqlBN9b-AJZ=~?k%xAL?qVAonD+SxQxcwX~J_=)KYyVEL=a5 zSpykKH;u==@{2oU5zYsA=Cb)bG0GuMV)7i18$bg9AoAj7k!fO=wz)!<@j|+^OZ_7i zD)Tc!B7#3{swsm_I+dkNqfM#mjp<@b8zNKwrZ4O^UG)K;t6l3pS1_EKR4QyPjuYw= zEs5b`#k1_szu)ch2f1PYYz&@OumP%#mt6LfsISe(Bwl?MDoji_`CE@<7)n?KW;_Tv z_7IDbpq(t4@DilGlStgbc2~=ixAhnAyDnQ>pKCQtFKvW*W8VVeUILrkM~xzTM7 zq1a*TI3;Quh$4E^)tOny*4jS3b83|X)PLD_ap){W9;55f@LfwWCGTRoh(*TrkYSh| zbPSwealqWd<7E1z9s{L^d0AN^BW6|EXLSs#{RepmgN?K0<#Yie&rWZknd=Q77JBA7 zaoT!V^ozFR&O}nV&vBG5)j_Z80{`x8^$G+~OjS+0$;Am@Y}#&y5-rLaQ-XT4!yEd8 z(tdZqlUR9U?#&T$@j&yn{FF}WK6PP8102Qf;g*eSdqDyA@_3nW6> zHTVQE*0pBJ&n*N({rN=%B*(%i#=h{H7-f-)-d=_mi8-rX7D_xfi$F^O_Wv(4(Ae9K z{J5~;w`zyZl@Y^a6c`u*C%aTkLDi$Kt&AWl6P#&rc&uNu6P(1|e!2gvt8w{g{3>(( z<;?xg?_Qkz5h_A&pF@d;Nh}ak=r9{Gk1re--T%XRfE}(=qYOh3F0L7$%R*^!=QVNj z+U>Z9wrcvjUhQ`8y2{G2bB}b#lk^4*U$7EmfiM;{{Zj}xsz|ZMFP1#HiED*_l9y&) z$mywRL<>~$>Z9;jUrS$r@aE3{wh3%icZK)m7{oK!1dor}o>$g0a-YmRpG~f!TUE}v zo0&i6eW^V#VeyGmV9n)VQ^vb#?KN_qSnRjJ*`NHCKlW=v(gTCvz*#njvf^$kr_XQJ z@YD>;t>}kxmtO)mV6Z&v%2sQZt4nuxGO2RExx}{ zbb0SDlvPA}slVt(-tzK$?7hb)27A?RYb=e#yj;A9NkL3+a4A!{tGfD&`b#(kW&(hu z2}@W#_{WtMgedTi3HnZwu#t zw|F?oE*n>I2@I!I#XYww(~=8Qf-6Zs`t+N(xkzQhEMW>wWg{a3(wqs0<4bWSbY7rf?h!S_K5(HsxV%NlibB*)tE-KavD zAsFL59Gw*T>2X~MFpg;lM0*Kr!75^*Z^`KrodoK_Fj58GI?_?^$@HE4QFYS*>hqzg zV^;UWr5X0kT@8+go0auh6TzpbqECu}+U{=*WTLc`dFXO>J7JLNfp#$KEB<}|EO&*% zq@{#gzaP$M@`8v~tO2bR^xvjPh*@9GP2#>?EQTAD9ZYs=7sN!M*M|gwtRF~e3}g{C znmolW&XvW`P|at*Jc)E!ZuP|BODa=+6Qd60lJH=LJ6?}8-DSSA2q4s~m}-hg;`c4fP{8TOvtqxeICkNKhFb7A2_!sT#sK9|)GVu>~^X3m2;+_UQb>|c(u8VEPf56)g+e*(-ZiV_9?8Z9OVpYT}jr3H6F#`p84|LNJ9 zn^pQ1V7(%6UnhLk(@}-YW5qm9__u3bzAWIpdmg4)t##oA@|j&Z0KWe4_qFBAs>Y&K zvq?UhM`4Rip>Jwb@oG60OczXLXw?&!=~9)z{&xS)AMAX<#l}=um*m;-xsq^j*kHwx zWEb~331+#+NY}Se$iie0EJ%^btjmW)VGrr1=@Sl~@&QO}e!`9S*Snd=nI78_T?rP; z+*qaYC%q}|5vyWT!gyKNyhuM`6AEb|=OtQe#h)mHI)LF~|1{$9>`rlMsW%qAz^KUX3EsOLtzNns%8%<@wMgH&|FW9=&4jDrkVfd)R<l3(#>{ZfMF{*>NsvVOrlGpERq zX@$#l&h$(La0cJnY?te#i;9Yx+&0cv3-PJ`dl%BKA(xi>#l}!*n|y zveWczs0sx3V#^BzrT+SlzajGG;36@ca99H3Kh8_CFNRL z5c0>v(FvNYLG0)q_Mu9v;rG zoGEgK4{MNVELIBzCP3)39EZne*dV*jR%TKoa3x3#cR=ZoGwD>R)rpqnjI1ZGsh@u z=pqBjF(p|0)f(!h=#^qI z7>tM!2u(n8aWs@wvQZ&P7`3z%+%c{&As=X^7zhq-3krtD3Oc=P(g!V+`OQo|Dx$Vi zcHTzqZ~CMRXA60=#PA4z>3(=%h>R*%W;=2lLvJliUm9qPN1ZK|V35BcF>);ghyPK< z`^5Xn!?&bI0{6RSYkVH*rFT;>o_p||8(d`kb%WQ{*4B?M?=kkl=g_-X#O5n^;FH8Z z3R3%T)B3gkR9LQA?Q;bT?5`4OPmIM%Za$mn(=O}5ATJUB_J$1p0Z;-hKM^T;Egkz{ zB^*r!Li1E;bv`>p=BcVvhEog~Qqh{OL4-Fw7t(gYVZrH&#V#XG&%7fGH|k$GT^e5j z_ym?1gpBq5z)5(J#vl&0bi>GnD97Y_TuiLJ7Jvb5GgDTK4@Uav)wBu&vI+O2nZ_3$ z5cdu#E4%c}U*`02yl-9v2Hp&^T#)zKmI2)!ci^2}@LuBxoDFR(-w>SI@V^R#4ikHF&T0-tU6@!2 z{)9zLpf-?o)$wlfoye1f?pkDt)HYOwanC#{_)CZYzewBNTOA{neJWD(mWqdt_6lU{ z`vW%jh-ska<|+1myT?|kUp58%#@+cn0B|aQH$%fM%{vl;*S0TZ*xugW!6da_FG2le zYvKBwPfHQSp_#!@3CU)z9?O?z{yGlF>0gy`uJQdZ@Mmo_D*OP9Q_u?xQI?f6yN-iK ziD@6Dgv6Lw4=-9xSy|cgY`YC$9^KgBlpa&BPuS3r?G_enkgRw@MRmk5CKUNI(Faf_ zer0EQCb`7o-`>7BDW|Bq%FL*j@|nu2N?JTSF;$v#{yJ^&_u3oz>F)yEUQm5<7{-8q zrKAv0@m6R+J{kbm@O^LdjR44tmyc0+sQ+60-#WXna+7q%$=ot2RcgXgF}TNTOPwC1 zXZ=NkWN=rode$YOUmP~-%tlXdE+>=45R66vwf@KUB2naHWKa+W@`5W4+}OlwXXKv{ z$TsF+EwSI}Zr)y&mgjE;8C@1-k$LSO)y%>zX(U9Iaw#}8P_%GVA`q&7n1brZ;$q`o zQ#Ang_eagDM+3>?%xU+4O{vo_C?&?y*A~jVSldja&rA19<&(lslH|UF0_*Hcw%i~S zJz#6hECePQSui1iE?E`0AE2dYC>B4z0Ye^_xuvD0HtCkRck8vA2sE}5vpyO+5Lit^ zNbn!xSyW}!LkJTb|IFL^9wqO@y&XO^+dkYrH{~#xX)ovi7kG7GVC+6=%%Y>_rDkxb z?$9DH8GH73FWD!SQMR_<#h@IwlYcK8D&rf(00sl#{QWWCJs+~kaPNnMvC2; zZ8|j=Ur0b;PcktQ5m*%l19+gP@mpH~d8L?~Qxc0YmO6Cf8C>D(h2M)4&)9AgZ56W& z+`{*pKkyCw9`+3UPHIn+)Ni5{{eWsttToWeN6x$y1S0c8H1%EQTO(>CHau+y^WWT^ ztuHyi^>6~|uJJuScA(*+ck-AK$6Eri=+dG>DlB+u5MzYQ&*Iv&Nq71!H^c8;8m4@sAKX`wK(^fC5ve0jV9lad41 z9euoF53ta0w8>XS9Gf@>xGGvVLz<|&iN@6|6Sp&;lf+RL?`hOFH`2_KvM(QiQnwIK z>8~^IK$R3T&lIz$382G`92%PPoa5ko_3KW4Qn8D35~y3{{}t;)17T2l(^?-#gr5t$ z8~2oCkqbYQ1JH%nu>IyYAq;OYd*GPV%AA z(CpSsPaXQp(?D(pm3$G;`BMtr1{Fb)aM#H$%>BCW`{dU3+LxsCx)(a>P*#Ryp(wg5 zzmIMChLU+gcj7iUtLB;Q34U&A_B{?%djG1AF9pF97c4@>!~a@YIz9sc9$HLh-o0d1 z7U1eW*=AwBs<}Vml5NH-rWh<%^8@D`rp%t@$C{E~ix8Qd#3$^6jN5gQ8jp**yROTh ztZ!pa>vx@C0TuR?NgmSIv&pK&R&vAQp_BoZ0Cj9sp9Gak@Yhpv zfOZBpi95Y_tbFvxW_NLT>v@HqaEY^&f~rBNsv#+MIP0%h^N@yTBR3-3Wj51}2xjwJ zIV|q-*y;&sJA0nUS`1^%-07I4nTw?QHs?SP7mzW_Esfg+s$4P*r>%TaG# zb!kFdA#v=AAH+b_Z}Q~Rde3~Wu|+(=X|>sJQ^=c zVOp*GfG^8k#nBXjN_(y%hB!{!poSp3?xW&|82AaLuRS>UGXln!00K5QTNB*@1(rm0 zrgE*0V^1<6-<-7$_xD;U`krR)#=-1DAeW-&Po^91Gr2s=KB|eJeg@%ZzN76 z()b47r!(If_cj?c_(V4IF0`sfgp@|+<&K*O;zR4+*JNK7GGel@X`crGOO>Mb@@JW{ z+%}t@{kaFuB@5BuK%Sqge7{N)k7n&2wV;?dI;G7)?VP6B9{qc%2JYuewG5L&^?PmM zevnwXi`^K>FBU)YRdogzF z3G7Ahax`6su-qq{@U6BOwDhavZZ?k>4n?3hg0|}02MLLEWyHg|ePsdyHifcb1RY+I z^aIr>z`@p`+idp~_XDUXSMEJ`{b+15n#kl!6>9cnK(s@1=v} z)GU|v&((UqE0jxpT}e_B_WUjUq6#Syo$>3JgK5r$8fTT%@fIh{N(C<0xvWOpm-b-O zGFkr8uC8WZ&@Jgk8UQ)#760*rhuwub5JrV!RF-V!n`T+IHg}9v)x2S%&#BVq)T2oyw+( zH2xa}Az$B|$ZdKmisdI(Y*4yB75cEclaQDBtzHZhDLpsW^8%n_{J-YBmcmfs(aEQs zbAi`TQ4G8DPfT(%X+&wT<~Dy8v7L-T4ndHaxws*`eujXl(qQ~qs#?_f+Wq&3yF&Iq zUsqs6b#YkA4uPmQPoXfH*_+MGMPG&6N^mVa6(anvdZOu{j*cC>Ff`IfRahppLF?j@N#=U9&)HX9UXfk`xMx6xVZx^ETJF z48GM%#r+Hdh;C2xUKWKo%Bil2OzzXi*T6tIbW+~yMpcEc3JNj%9l(K5a5!81x;DMO zzM97y3+2y9%6_0j^U#%n!xa0;{CuKC)Z`R>f6Tz~FiQ3-k{b)@<@#`_SNA4oP$ClE z8AcFl%1^awMU9YfoS4YZ5Woj`c6$2oR9@X$W&&P^zEeCn@NidAkb)2tZ<7060blZ= zm?31$^{w01ehgzEq@<k5)Z)7Lm*7=T5_qMsBEpBEZu%?t8mzu^|?~ zgNlki&bAQW$lccz!gs^wU42G5bjwAtJS9z2^iRti{Lyr5!kGQFXDq$Gs|7F%?a+bz z%P-0%+4VS1@D1-0IZQJ$x8C`RmB= zVHd&YzCV>MH{9^AS=@CvGSY-<1YZ&e`K)C_1bX92O!FjQ$EvJjULG$31Kl|}m2!k% z)&`#*g$etcDA0tbnQe3xvpyvrpKLPuj(<`}9OAF+fOQNY(JzW+=Q7S z&jYw_Z)KC{-W~#>;f47*I39O_smwt|`fi4xPU)u;LQa3zK^O0?*rED-dL*Mo2;(3& zs>nSGEWs!aQ**^kVyV!lBE_87l(jbZ4S#1cRy>SpJmiZQ(@i~7tbC=oPZhXd=@L0q z%0h;rN5SDeAC`LzVAv$oSTynFGkKkSTlChs+1P4oZF+)lXO@$`wQ;6?K7Vh0?a z7ar4il1Z1SU6`SRc1cHqO^?q}53}SA5gaM^FRga}E6$*S7Lehk(!s`oAFvp-$Y>ozoI z)amJ|fmG-sM^J)wr3FPUU8NT#8!A}UTdtCVa>H>G9s&x>gD)xSj>W+5Z$EI0cR;7Y zYi$$g;^XIc^CiKLCSxNfORdiBCtS+6h01f$|B}e$Mi9iB`q4^GZj>jM^!VX3j->d{ zFOs9#)Pwh8!gQ`ge+hnQ8o16kSO7wEVso>*8Xp-J0_K{@y8@0q)iXvd$~?uP;+HEY zCokv=iX&6g^qOjsg70eg=H{}HkWkLEB!(J}Bq}J!|FvH?+jGAP7(M102oXCa5zqQD z!$&6pagC6!J(TU6QPdlLJ_XbX3?4=)N+4_$+|v-DP}zq&=Ne!{rSOb+O4)EfOv04Y zd3(bcgNv(y%o=bsdrCMX&=|Z}MOJ<$Xj7YTL6L*L7MW_gIRgDW`2OhN-PCmC#E8e(U0>fs$>?=%{cx3so@CWEMAGwnA;T7Z{H4m_)d{~a@W zDLQ8_C8MtsL*-quH23`A8HMlv`WKkjFrnMO+|K<<|J$X?ZoeV@4WzYEt3;TWMh~MN zHUsBZIqWI+JzI$5hfC?PgT3|ZQ?E4oo2y5M0USoH(M*A?(oeZU&c6gVE3(}HP5=QS z;5yon%R;8I==10i5sF5NCS5KEzGnIS<@I5b!&0NoMjX(!SnkK4^mCpq@3|5DueZLoV_zXY0e7D#!mGv z_)G~c2Bq_3EHX@4M3_q`hPH8*db{W!(FSL8i1S!|6Y*YBz?nVK1_qiK>q%E0?8;1d zr-0|LjmKW=t=2@y*MSv}3obw$A^^!rA5HS|+qQ%WIP0qLe+(1*_OsQ11|c!B0NW?Ai`xJZ-{7QOzn zMg|i12PJX{W#9$bXPCyd*%FY})lJLhvm3`9NxBK@GGuv^#Yci9*YCjo;CvLHcI=j; zQCP#lV0o60czJVqNf}$r;(Ib=kXypy-1RFQJ452{;I;*4`fzS}==RTvZW-y?xgGvDIit02Sj*A8pEV!u6Y`&Q68a% zJKV%Ci*sd&thp{}c%nfNF?b>s+zq%Nqk#^`poxE5e({td<{+TW&JAZ(< z?Qu_V%H;fXR7&t|b6d~|{An{LRVJW9LmK0$jr4 zRgu$B%mR}?&VA{22#kko7icaMJ_4nvW&DrUyjE?V?W*?Ep!H7RYnrU9`_tR=+!w|z z`EcA^(H8nFXXvuI9Q%^Z$g*Jua0Svuu zrlPd8+JY8aLigLP!Px1<#KdE(y&uKnf7O&;>1S*}Q$(?eQUSMmZ{*@Qa<#zRr zDf*d>vaoH*aE~nS+Wf+t@K$Q+VK?_tU5YB3t;i`WTe|8#)r$8ovpgy)5?{^ymA0K) zMx~oS-!Tx%+Jtw{f1vo|Ez}lH^R&P{PEyYpz zE4VZ;wnu|+05^~M^G=${+q~Q-?icc?7yHv5-#e~WHxjm$g|>+@UO(GT>OeCoVD!zy zvoUa#yvQ1I0UhtPDDnyzsQN)ctOZF|+T#dObj( zQgL&06LhdLn{RP(On+_Nd=QL=P(JRy;L?a)tw_+A)FcO_S)vce9vgleK^UMy*Z3+1 zmGf}F%!Z}mi65daOP4~|lt&M049<=(+{A8VQ0+-)Fa;PC+apN1+pYq%Jpb z%Rc8a<7}Ryi=Rq~R1e0j#&$Mf?)II5yQ5_Z?_OR3v{=v%?-;Ch7VB+`qFp2(RwP=w zX$0=bt}3IOn^XJIoI%&t-f8enr$m6XLZSsRuysbH2P-?_bI(-d2hWqy!`7Hc1*oA9 z<&#-|&&oAE=HnFOF?c1;32;KR-wmZ3sQh3pXZNS+pFT~Wut7x%HJ>2a}NEIxabF3F%H82JGd)%;_SB~ zV+|7Hai1ON65od+0=oeBUp4K*VP}TsWbPbXrq&ogKC2XyLhj?Vu+3EGOV^bK-i-_H z5pEO_l>{5w;yhkJLRf1jWiwp+Y}{KA-WGpaD=>BChx*k}m;HzK1&WOqy z8(k3nD=Y*-qQ~!1<7qq9lxxG!2zByW2w4xwKr3bIrA~)&Lj!wXv~JG;V*Rx48;$f0 z?&bPtF5@Q0p{MSL=St%`b4mp$1YOgMbH?}yG05cW&WqA?^BVoc!_EEf0VM|S@d}eH zUJjCyC*-jX$3Nb9u97VR6@DMaZbZa>2>6W}_Vz=+fIBpDT-rI$D5%K%=R2G*p&7MZ zUIwQeQod(VWAY%2oN`uWsaPh>{M*gVq7?mZlFTs;TBu}5%uu5truW9qg3O*n= zoh4?E0o}M4kAJABK2wVN9K=kuli1y)P>KYTpNmxe#g!5kZm8-FvAh7t@)7C1Kp4nT zU|8T2pn?x>H4U(!<9Zreax;0hwk>VR$tHo2!E6|2G>P9>YdB;$aY8nkWYt~{$Vp3Q zf1RViMS{*6RxRkT3_d6+DJ`Q8l|z8MB+g7A(<0!joLqs(+m`(#sAqI*21L1hOTmcw zC+_R*F(?NV1-OC>%H0RyAZca|~&#t#g%3E8n;s75GdmS&~#C%RI$r3VH zOfr&R(Pv6Ec#bU-BinXeReiFLg6~tQ$!l5|44N&VK|Gx&wm%{v(cQmxSyECq!tB$M zm&Y(BE}eStL5tRIBKcGO6|RNc{IW4e11pH0fKFSkO2BJ=p-PucPVOtkmT>*fg`P;T zc4a~hC|5*e&S9_pO%-STm{e4`j7N0F-)~|#QNXW z#}|(nvdUDF^D~gIXKLJ3+b$bVLJe<~gVRiK`gnjp%M#+_cUUr-}t!uy6$FRp(R84Jb{k+i#jPf5(0p6|WT|V0g zH*!0pAf7f0AtL+z(ptHT#oah&Bd<`IWKam<&}S-SO%QcxA3xk>;@*2oWM2?p>fhNLxkgK%9_;S2KlsLB z`ef~Hb)oDVJq47uy4qaRC#R;AMqU6yD|$+BeUk4q@6ZJV(skcN-AI~+B3>qLFXji7 z(Gi@C9@5bA^wxes-$WMVG6Jh`GSvw|bO_W`$JlQVTY{vi(WRy3BDs9im|q=BnpWv8 zi|mJHTLCftyHjn~8aBJ*8jh8;oYdkm=Lw}4s5kC!WU9G!?0dDO!U+hg*KBHs&JFFJ z`cWP}NnA_>P$W|Sk;wQ|G5*(@p1I016xg`(w%P4;am7nOn(R|Npjh#vunC4gBn2>&+Ta?5xbK61Wz&@a13E@y`3QR~t4v>vG$Kh~{u6H_Ey`7j+A^E4cQk}GcJHU~ zPi0+@n0$6Od$z8fzDMhmAFgGRBY{FyT4SiHBmc5eve3Mp0l!R}!d2a_RH(_&Q%2`Q z5h}@&W({*+A(gY)J#S*K|8j2e*<*uxFV??QPn5@Qt~3nzDK(sAC6o29}N(vq=o0{9!b%O|Gd_qYTq zdDV0SAZ3Cog0@(Nc(|0AJ^{$j z4D{d3+1YS?J*GqYw{(8o6!}q?i}$|l$=4aOG1LPPb?J74^K?PC)lxEKBbTj|l-VQT zkQQ|qihED93J4KIq;e!j-iOUtc>hC&j5Mmuw^+ugBlH?Q(Qv^{w;I5My9>Pa0tLj-pwAXzlZw4l}?a1i`7}>wF(sg60&SIuwHb z+%hof=!VI<9V!-nb>pbE`N4=QY!-!xnbpfXOY<_P@yM1kxb;2;(8zg{b<;z6GM=)n zM|<>E#GF!In~;^4$iS@8`HBBXXu~qTy+e%w~TuIoA(_wq{kAL$yr`_+!p|e1!db9IU z+n<|O0ijgCe9C65ot$P>`h2+#*p^o2AJsWfAwzYVfmaW>=S)ZX5nNkY*LgskLUkyyTWosr?8QCIF9Lx*p^yn?i&xL`l6_o*Fg z910}D2nzu|_&SesY^v(m%g^`ne$Tlz$B0kfmYBn^VXN;cNGiVgi&6f9**X8-*!d?` zaie}HIJp~ju%@wIDrNP)ZfUu7P>b)uP!w7zFY^{Ryy(OK<&rLt1jmUrVnp$pxw?n+)8Cn^CRtGn{II z@fV2ov}lbi6=88$Q3EqGXUv_V-=EzU$1nECZMKg4DMg-0MpX_8iyIqfP2cpRH4}50 zUOv@hzHoPOaSOWs+j`{gH}#0l<41(8ATUgR?b>y-)2%d;X#2Me!;+h$AFRh67hYpQ z=mokgos5W{3fR~&MO~C&V*{9y8JnF?s*oVTyV~59yKN`P-RBNLd3L(NmQ%w_? zV;*LFm!lsBlDSq~m_gA}Mfy;!Pm}LO(BPnN!nXiK0sI)Z<~yRF%c)d3tVmXxK?Q|^ z$40BpnZvTvBp$AVin_~o69rWAj^8u5wDPK9@EKUVVP|_piaNU2yspX6{Z#CyKH*yY z#q!(YjzPZp=c~3lFU~Aj56az+@3v#x)bhT+ni!8S zEL|K3Y8B&uyL^g}y)3+n9d%9qV#<|di@zL(U{eF~K8Rh4|NIizm!`nEHyh_}M=K%e zTXqprEuPyb9btlQpYP$$G#8LG*u-mZ%1$XVEaa6csvs@z=>gE_bfOTyWkg?#YnlyM&OT-+t3W5)@!>5!F5 z%f6(_Q!lQXu;KH*D8gC4V@NCs>D6AOF5!%h0w8&D_{=#;SXv{>3F=(ob92#z%x=dataQ9+-qf zOFa$o{HI+_(a~j-tHgp7+v_q|XkSDif*Da6qh{oN1r7N#^3+n{C+!u4bG*Z}P$DEy zuJ;=N8>TK04%nKUYNuOW(Y(x%<}U_Ev9nAT{p4=J0x8EAu&J86{WdQ6a54c39rkLR zvBbcLUjKL8Y(kwQ8FYUozd$hJ`SUwK5e)#y9jk0A!`a<*$a-3SRAlXTE?M=W^OmWx z%Dm4+S^dt6!C)`_btH}tl+bz_aZKQ5VppjAR=bTKZTZNX#agNRU3Tc$(}j#+=E9Yi zhH|W}hM93b@Q;wlp#7|V%|6YNu1XS{Q#Uxwfo8=ewyzl4K5YyirGM91QnG!+)pa)T z8k>aE*lp`zW^{ChCLuoFyr_pKJC z`z(oIq$%OR%Y$A&jpO?tWtrxI(Y)n_tH9EQ|8MCC70yh0frRlUKQ_K%u5)?5CHY80 zXE(PyMK$k>ecWs~*a~-ZVmoSMJcY-eBpo9H*enh^hQINKrrZYCO+BKSFba@w`}16zo+qbO(w#LugXxJrA* zC?*=}ev4}~l|nUQ)?8JES<2Tj=c+AW&u1iq9r6cNLfcBt5o!&z*fLgUHWjhiMYgH8J-ar&Jwc zReGuzEjg*d@tR$FSB8)-W7DpiBe&D%Hqq} zJ^xm*-60Z|`(OQe^I}Q({OH<8vS84uENnz%DxHvgIp51-R=(g?;M|+=iLld$A z5J^vVlPF1)!07s|>w4*0QyfTFq^LWLC+tR+L1Vq0d0 z1R;~~&ty_*Q;f_0-B*ONPb<9)#DLsoYlhshH z65FBLAuMWagtob^&WZc2|JcmPAjbWwdw_&zrFJf$L6%ZI6usqFu37Lm8+fpK9nmL= z^VvNt)h#n~wGSqD3wt`vf{bl6B1kl|+%2XG1KrB=_#2J~nZJ`D{L>;Vc_BHYYOEhf ztV){jkXF*;8!b+MAHhi+Ngrb*FX?_XSjk6!Te|6|YbHr8wVtg;P%AHybg??5mIBcXbhR z5znqAq}o$2^uFnfD5xlrhi2OmylP#Tog>yL<#r<<=;5z zI02hA4_KWL{cps6Ev=74pnv*;8gtjziPQgqGx!5WmhzDf1wq$aW}R=>X~_7Iz^v*Z z>m_0i&Jy|8-^|oXFF$l^)6R)HRCIkH9Xwv8w>LS0`Cq3qsH_p-1sWmK3O~waCU;8y08oqd=@P}!^-+HvM;6WhSJ0w!RhnH@2cA&ya zEyH7^6-Cd5kbk$F02O0GrLYuQTd)Njbnd`h++LQeH_}&9{W7&F$I02NCZ}YlD$x~` zz_u6#A-k&HEvt*wvDcpVX>I5tARCB|4yU4`cu1%y04hZ8FMprP4Q>*Weku@?A(CU0 zQ+7hl>G-y`|3WgAIfmByVSXv0TC8+0MRflakZ0{RO)no zEzCveYRd_NL@;No$=q>xR9nBURLYfuU0yo>Nk#9jddGmzi`t*`v~v=sq74T zW+-OLG~0J13F{Rxh8Em0HYD^in*<#E;Vj$IDiCU&oB-_@I;5}J!GMF92G`ET)s^A& zjxx1MBYwLwz|r#81`yg?+q}cV2eN+)s8`x;WR>>acFzs7k;|N48ex8DGTdNhm&CyE z30mF3aC`MyawowzLIpGp#yJS>hre7RW#D^p9|)KFxwhu@eCafA5rz13_wIFKVC9$5 zzr6~;Ww?nS^5u`m)1C)<&c_^uZJf1|gQeAJ^8_5(#9}4rtc0R@D$`>hTzN zMN@zen%29)2^YP;;I$@|4H6Fu>~K#_9g)l6H2v#r#&$;X_IvN6iCaPUpXQ)O${X10 zQ(X-8BjUW)+Z-jDARk(GsC7|u$<;@d!%v@wv$WV65iJT$x4MmZ{6}5(hjwM@E?_XV zI3kZ(ye5dw&~}wVjTE1@!J9f&bt^7mNDyH0?rxXrOlXAUOH_jG7r#-rGx}l`Q54(j zD2fY;RvK|d7kx~4w_uj6g;&o`yj^L`)$6o8Wrpw5^7--GKomB&+#s<{yvjTwP)p{4 z@3G!>2L}Z0G*ncalLbOI@f1kEY~=SaPlGgbI;`xK^*kLw_V(8krT_>+6H4Re?sWI7 z3k|#epA)KGd~987-nYyGxG&u0AydeG<<@5Z=h6G2@Ps-A`43s3*ZYD`>gKUXgYsC& zYC|>7&xNw8E;6)qDfikF+ysp8#J?K32#t{oH_8v>zT)Av^^isVJI@QURr26%$o<3M zM<4kO1i>LlKAf@O!_%#n1L5b&5BZz1B;QaAxdmFsWo~bOwTgC)r&A0$IoZ#Dh`EQn zfmNG#Z5`i0=0s18miQ48EZzD!f*(+|#3R-U3psJlgR>c|BqS8S8;sXHqRM~NZW^!U zLg%q9oY4|kzhi%Uy5_6o0DmyxGVJgXfwsx(o2HAH=Z{i66NVuy&v(Y603Xm(uqg{- zy;eswQXbPO3eyW0jxzPOD-DBm)(~Nhy?)0J4-DM+F*n!cxHn-0s9Wv>6L`5OWBVrF z?Tj`)rmOB2sg~Uj*=2G*%pGX$@*uUqr_oM>&`1?y9s82oKYI_9CQ*y}oM{4~YcGLF z{4-|dK2lxU;>5d){pYxw-xW8fQn&C>9_~bXS(v5$CE49lFCi+k0h2mo12=-FY-b`+ zYqK<*Z6dVt6DAUEmEH)oWps>78HI(keA80?Z!>76VxxOsbjJM7th{L~uFkc&>10tREM+1Ow+ zYvgyq0gVIMX}5#@O8Z6M%7jrfH3j8y2q#SN8~or{`!vJPRN6E1ZtH z&U|q3MWMCVdy~W#OJ7aG8%LiOD0DLeRQj&Zt?|Lf!lU5$R1%`Dbs9&B3}b)!WZYHq zV6?D_Jh9~i4w3LFUdRChA;LBTTK*gz6d$TWqHaj}n`ZzD-&r{Gt@XYM& zQ(eG?{eQ<1Gk2WN)L%J2i3M-R=cnoG%S+R@d)W?CMqU1Y2Y?*TNwY@lA+qkEZjT@B z-rqHI!zmP?whp=jVyC3$fBd*y5>Qc$6!Z0#x+38_@FDmn%7(s*qUDkLHhs=6 zNQTqdN%g~7e+Sx0lTw)^N?#<0NhXN4$w8h$mxXYvr!2kdhW{ODv)WDrzY>V zwB{*hk-fcOV~QO2x7JGsT|4KC8^ z8&ymIWHkLB0Q{o2x32Z7aeaN;;!S?$peK&49UNtoFd;&#MA^)cttH%19~=3SD0~4| zr{3NQwZC)#7lZ^|6k*g!kx4|5_DahO0Z#=Coqh4bTvv`IR5dUo{o#^!n7<4gTG^A9 z4_SMDYj@L^1#H_ZGIzVx%h&JXk0m;X-jj%D{lt;hwk0-k(dzuT&?br97aE;|Pr34( z1eEsGFh#`x-7gYro#lWGLvDB6(CETWez4)U=pm{zPaxe7LSYgWp+~IijGi}HZu88t zG?kxQKI8(QFW9E$KW~JB;^Vc9J)KI5-Bh9-o)V7w zozR34k}Yy>#7>499W8$(xiWYEjMR=IYWuXJ9v#~;CMz*kqXyfe8n_Naa9<#0#!xyE zweRAz`=+-?Szcq)$o>^Rwa9tvbw=B?ewuTXf>HQH62-}jf%!`H*PXUVmQ)lN_Dl8j ztWioJ9~d`1kDWBZDO2cqmpw)(PKux*3$bgvPVi(RRcFt}>gr#>G*kY3|DQN0wz5%+ zWvA(wF|Nx>lTLtP73Ij@oi0!XRUq!EhUTk)h}=ptt|2~b8AE1O^+dOz=LW1SA0@1a z|7GW_sKmk%fDYfB55}G<3}OyvMgJPFQUbn5mZr&N)8=>Xzzr~R(s49}TT((FLP&!3 zqC}Pf=_}6GFw|FSR34mRrf;6|S;wBJ{5*0^Q?$397#&2PTDg+SRg=W7yic3zvR*ci zhSwLutdbU=uzPhGs&ZEXCDM_ieAjE7B*Q(c{K3-dh|0g14`t3TD>-a+$kWQZA+@gc zmc7?Y&Y(TDCDJljFiaYrZ@Y^G9t)h#)W}`A@`Q~~1zGPMZk8xLR~oXc=P@}k`j}_< zX@{pqA@|D?yK(Cqu$V46Buj)F{A9-Y7(cvAMGERKE*dVkx8Czk zyuJ>8JDG!#e{y{MFQVpCPoN~M&DdqjI+w=oN=Nn;@ESpYUogM=@V5d5o8J!+w;c~3 z;D_w7*p@y_80aWLzrDSM-vDRU8PE%`P(CeP3#i(&U4e#h9V z3Q5x9-Hc-@j$mRKrS318_zo-dV-2vUP~auAsmNg8mFfc25HEdweBRwnL|vFamZ!5< zz^uJ{gm25jJh{QIm;q@5-FvsW{#sFnxHrku&Sp_otSDwNomsEFB=gm4T#P|m!c`PI zhxRa8gsVJ``0h%|*O1FmIsAe*)tvkv*VlW90Lu6@wze@kUJDIHiBn{WGhl(2 zn$vP!!PPN4#EWw6!5xgPDsUlJgPikaGcs7rYk$yPC>}C?IEnyQseNf~=10{iyjd52 zIKK9-71SwV@vWALavoe7MI|k=+y;>Q87WS~21^CX5!Aqz5g-Rbu;qMCZ6kcx6>T~` zw8_kCY1D{qEit>1l-#UVF`1*4p-Ae0zk2*Pw%YQ1E4VU9Gk6Tg^{xQbcVVB%s93hq za!#P#bH6@lrP^5C!&Eh&ZY+LvL`&rbAs0Y8`(a(L@DX;i~u8M z6cb(AQlx?hY>Ro2>dSX;rc{lEoFZRn(`=tr`Aa)`Y?Qn6#TLteb8G6PAj>G+BN>vL zNs329>2KKkGl3y(HzrV)C$5mO5rsh^h4b9V4-;ogS-|nGV3f|jahUI76BUdRcS-!p z9zA5uXHp>Um?Vv%|5ra6-XI}E6T+^~_@M0{N3d`igS01sJ(mpL$y}}40kgfWq7d-x zht!QBl%r&=q8jxp(gyj`U}GV&40EIL1cA=APNG1M0Et1psR*~eP`39}$n(R7l(@sx z#Am*TAj+xQWl4=fJAIUkDsTnGnP21sHj2$HpkO5H@v=a{zR;})+Klihz7k` zQx5-|D4e+YqTn`?>-fVPW05{BMW+%N0ndPzBv)64Mdd|p@cbh9?-oIT5WE{>9&b5oX6M7t~+q zi!duhHhfwPti(s89WIS8wbOy#q_i@+{8`sZ6pq`PGyE-Uqns_tV|+`o_S%@xrz};A zZrbp3@Xt(OIajIXF4iBej)XjNXBHpJ1vDPSk6w;2NBSt=m9DBZ<1mt-+hk>ri|PK-oC zep}=_0p#7sX21jzZQ|Z;2ZOd6yS$$kiuq{skJe%W9@j?@zW$#lDoIhB!TP0l$G6@l zlrS7SJ8GgIur}I{YtWZk0iRGPLl-l%oK{#)DAVQn459{yv+^4o&zGAA=(KcQzNXvI z+bom0#1C>Dn1Vx3H0$E{MrShS$s=c z+0t`nTbUw3mSA02^V_e{xEAO}ks8ZDdYwq;^>O4)L$K5oaKT`BkrT`ckL{3hQnhuAdm5y{^5Tya9b>eje zh0+3g6IN!<%jz4}&zPQL?rY9rzaL=-J|_|2H-Y*rD(GroZ8WT6u*q)OO!!*OykA@O z6VO0gmZcq2f5c+d?NHddB(s66bDX3>5o{Cp67Nq^$?zF}9(yKBIBViVv^y+Metb_I zEMxQ1%zDBUETjB%MMX#osn)U~*r{0C=tC+JOzvl_s$m+V-+X)8z1s3;mA$St?5%)Y zyM?54IkQZYblZ|~CX>Od9D(27@(ZbtQ^$$a68F;HYTqW)Ra-ee{yG&$2$3Zdea1BfP(+YwWA49Z$w;DTH_U*3C54DxpMw!#44lV>I;dy>hE+l4Yy*u1QSB#Mz964s zMzRx3Yy$QLkMroiCXXz6Wy#Q5$b)kN=|uyB7E9NBWj#TbwR&t>uHChjjRaxD|3YLb zWj<6XL!*qMq7g{R6-MUr9Gzzo@4(@76SO?a=(SWQs7|#-uvGHjMnoJR+Y6Z9Ox+0r z?*dmflW(8%@WU2#Vm2pt%H&W~ZHkp&(PmJGaf~p_GHo+zY5t}vodyYC2Ln%VvBNlN zz|-WAJsRGI3OcGcY3)IU#9Ifk)L04{ZGEwfLC3I=veUWQAS-sAi_V_68A%NC8;HaV zF|X1aztSKVU?0;XW4}yE_UCbnEWQfb5kjY1ls5B{7;M0ZCelznWbX>=Nxl5eaX{4~ z<&s&S9)=R2vQnmpZ)J)Ao+3g7 zHcc(7o5Z6v9a(QK5D)Nb6M0jl)iB}TF7IYP5C3I!jfI5sn)9cMq>5Le0dnJTRQMkn z(!g&3v=`hPEcC+u6&|Jd?O6Ru?B{lYx`q4<`=wy|Zg3g<@6XbL=dU;PL>qFqObm#! zBTTV4of-~w!$u=#<&4SCs_~ta<^ze1tKkHLaHzek489=>h+#)Ku>l~QAZPK;Isf*& z#oqpypPg-NtMT5V0V>Oe_Gzta1ex%Z@^@~B{zq!tfa-gU!_$yopdQKm3=j$KiLsIC_Qk+T>-cejyF6~DRDx4o*-0I#Rp$U1X zwG^KAW6+4BcOY(}Dcl`D z>DTBo`bhhtx|K8_4AM|v+aV98l^<=(CPrBo%>b#?4*=o~|0v?rc=`lv(aNHtzwAyq z`k2!8K?3}^yD7yr=_LlGAdVoeOH1@WvWLVO2ARw00h%hPcAuq_vnR+mN8cZ)*<~;E zt%Al7{Fg$13b#1UCI<6y`6ImZb@uCI;If9;fGZtYu~^3N`{;O(YhvW zt}v*?Y4IIp1+@r(v6QlY_3Jf3qWZ{2=p$`k@@1(a9X8-Vo2s3rk~J}vj5XwS7^u)%&cJ+-Z5uNFrjKZO|z-rgEcwn9*L5Ovc{$n+Ejf2t>Ei-E#; z-Pcj2%N(+ESo0~L$%Id#b$P;bJOv=m!@coNzHH-h6PV+#%MdNdG&yW`Rzr#p^1*%U z?{&ub)_u8s!X}VnLHG-V;E0Ih)Ua&EkRMb9IgB6>UONapk)QST?Lr`T!&DGzfBN6o ze`J}CBhh{F5)`;p397HE;`;;|=@jnA{?~Cqc6f07?~j1W za7%`^fx23VbV_1T|K+3|m05B+tt@GgqURdcuiTsXe?FsW*`7D~67R=G|5cPyS8B<7 z9Y`T6Ww-=sKJGAn=2P~jE5-oDV@Fv(|N13W!0SEyDOX-Ey{D(gPoPy`BSkOGnHaP5 zltpOKyiifF=o6|aWWN-mk(ax?p7J-wHpiESkb3Ef^|@i+^7l3N9Qfs9B^YJhOch<(xdxYS@aQv&j^gCS35{KIpOU1k+&8%XK=Xqhx*(}HMuqR-J)PkinBMH!IwXl_>* z+tI{u(sKzni9h_GT0z5ephRx99ANtRc>s)D&{g`_Z!jVC>{#|6s16-(JGcAIVe+(ZA2{{L+&ZAA_0{rQ(?I`Q7NnL*T zO~#(*9dqbpuPY(=?ow{%wTp3%Jfje@>Rb`uLlnAC!ijafdsuwY()w-Ij*tuuGDiMK z{IAo2DrMf+Vu+L|uVFG60l7;_20+#Rd-!+fU2od^^c(C$a{He`vW!)?yi4%qwbYzI zU7`B9vJ|G1lOOI+{t2ke(nl96FM+= zDLOR1ajE)o;^jfcS@_vV-E);UO{oKl8P+ah80hFvjvMRU`09XvH4x_fzL+Jmt^ypO zknfD}sd|CN2a$dUWxGuOss(@26lag1rw@BEC0f^PdU+#CjZ}tqAQAj8Qo}x0-CKhj zZPZ>;KuSg4l-nvR#+JXEPzx<4(bh7hbBni1O;b{+zk%cQ8t1#w3i84qCO+Qp>2hIfUcSBzg5`po)1}%!8csJ(zSt1@Z2vl{@2qbZ z5M9e>m7t9zr6zQVZ&sYenhFf}nN3!6ya9ESK}uNM#TuSR4Y+&%9je9i5)V2@0`w~Y z6W#QFSGVvHU}3er1X$eS0DWnlnP(czeYT9v9m)i zwFi>nZwoHl?qziMWAR8t*gw3pBcq|)(_`nkG)*i)rkg9yU$=Rl1>n3g0C48yk*}yL z7R>)|r$-;8jy46g7%Jg-$-2B8V)rtyOIm9tjn4m(>XZjwB}_b5(wJL7Hz==%K|KR% z^-kaRvBWWlx*O7s@v0eqs;&z(MI;76U$+XRTcQ-PyolnRB$!ny$`u`9%u^FEFX(nk zPS0sJ{l=hqiwo5}@@1V8dHO3SCAlWi{y?Q7C^Ee6fJ~;vgf`Tk;~T3*!Yo`y`$Yk1 zrE`H0%y)HkeFxXk zi0&qVH!l@eawdYz50s7hTO5~IL8N^m({669+gsf?Ex>T@9gDErP{`A@RZ+8R5j9d^ zQM=c<@lv?2S0^7go9i(W(#BFihcyhVAN=`!H`U@a&qZH+Zy9$ESbe{LB+q&JDIyfj z@hCqgO~zTY^LG?6shxZTv7+R{@MfK_q{&-X9)Oy zr`l5lRFuMs!a8HbbJ+3(jXyNLr!|+Ey+R;dDO;&&Nbf@c z@WjHjJMgL{P-pt@#byf$>NeW{llso!e%eZvWHj#@`6a6Y+^-y^YAUpq^S+61QPau! z@Dy_7NM&ic1iP70=?WQPE=QcK*Xu$7$xirGN!8Pbq0?Rqn_Ms%`IyX&bcwEJ99_mMmvl?0S!2@nv3Y*p;qNpx@C zheu;hTmBU!ONIVab|T!6HXfwTF)Xyoa(Hm`=g!^0VEHf&Powsd^0c$PyY4DYB^8eX zb?Ni#pDJ$hf-;aVQ~RvkRH7naE8EkeQ$1b#(vS8*ujr%#(cko_hbq;!x`=mb8q|yx zlrLW5&o4Z(@;vkNOAR@BtyI((bW<=|YAU;4S~_#SrR8Sy9J`5pgGVTu4&`jFS`Vo3uvg$YT>am|4*-)^mBP!N9Z60A4MT8~O{Qi4e2RGRIL+bN>`wOzfH>D_)zI=v z@uz0cVr85;IC*%){|-6p$M9QXOn8~NN6NRlJ;$X}U_|8-Guwt{|JLd7;bYFn-jzj> zO+R{@=i2U)AR9pqrSz00pKvQWrbNO-(kci^jw(I0A5&XseRIoUS5N1I%h~R1ZER)yrQ<=+xa9-GyKjl6S3hWp%`C&$CN#z3re%0qN;gKH4o zWZ9L;N8Orqqf-ZT8yx6d?qdx8hGf9`4h2g=#eMsK18#I?m`^w(-CLzw8W0#awB8g| z3tM$3o-egB$*Z?x=St=ALtgER;RqZ@Vm}i?lBp>yG*H#PVt{f~;s^EXjF}4F7s;zc zoXCN9Ma1fiC*(oWTM6l1p}urdAe6KdV%lLtOXKAF7^8paC^c=>-0BsZqE!XJ3c~TJ zZ|z-7zI!mJh?crDR^eY6$snS!4P@<5P{gi>*8Zzs+9Y!w#NTKO=jx}gtRT} zPEJXAKlfv`dBZuLbt#>l)8Jcyi@RH(W|=9qrDX+YZJyyC2hCs9#cpb@c=Nc!CD1BArt0 z=?-v0r`n^X(fhrTnh@IPuy1*6zvPJ=uKM|x6TdHtU8%4pqGv2)%Bt`jD~uT9ix%(p zzVRobf0H3Qvl<50Tv_^E2FQby5-IQO;Y#1&H7b0i7d)^8Xc?^e1O+_Naf%-9Jw?CO zeD&MN#i`abA2uc38stn>#-u{DHdwF4Qo9P+mJGg@=~STtL5V#$7a&T>99J7>i|5)7Gd{I=8n=>?L7`hqK73J*mXinJw>}c5^IWFp1%+R2fF2T(qUJ!n2}>Z{6pbOnzEB|6)s+ z)v(=ks_ehR6qc-YG-~hHc8cQWo8)~lWR_YJC{`6ku z!T%J-lB&v&EoXjZZ3E8QWK`0jeH^3`_unxA;x{}rs?(8VZEZia)6P{4gKKnf&~nUt{1WdEUdvF4)>F z`MMVA=E%kIh%^}|X;=K~dpsG>w8SipGQQ=G_irlJghX>7AgGfL;p0COqJY!?L>1o+ zY7ITz8Vzq1bC`(8=zO)3WPU9c(jVSp3fYB_%E($sKv1+y5fu0La7hus+vK-j-%Apm zTlxwLf$mKgBvpQIM*l{`IKVwGP6vLABiVnfc&9)n8=QQ?wNSKL399)UNl+-s4voOc z@8%@LvW*V|08LVR?&|6eRJr@s6pk*WoB~4Di5Rs0{?vd`o=&Am^=<_vUu6Cdy8qYJ zSp`JZ_FaGI8eou?8X5$o5s>a~rMtVOySuxQ6p-#l8l+o7I;5nVcY8nI(dUr|qQdNb zUH@2X{Wf&+)asHp=1M9CEOVd)`bGw3ZUDJ~jH|Jsqd?{R6^lDhSfuNM(jR}#BPft^-tyHV#qVxTy?vblOJCn$#ar=$9;iBF2#oC#^=wC zTCVvXrY0cp%1DuqDYH?ejR}|Cs?*8HNlBpJSc-a%pDm8$EsdoXt}eLOqBO`rAC3C( zRpAuGSWS?eSD9<&cDU3dqmt3$eSa~sj46ne?R*|Y_GD1m+hs-^3`~Kg_4YbjKYFd3iC7Kxg ztZwoF1_Xs0X~R9)R%5L`=Vry_5X+o_-R5elm0a^tjMSVBVX?xC}n&z zMDw3eK6K3aj~{yicKYd^2yA;Owyi_CB7x?Uf!1{;Z4Jv;YYU6@g7=K_Fsw0Kb|OEB zukxVvLG(K6L5Ucp35|dLVX%rD^?l!rXOnWf9Q+Cy3~g6E>*V!;;i%CiiJCblg#qzI zGIHWX;S1`w7ncW}dG7~wHFsQBRkIIzvjfEqqD0(q-Kn~T^wQ_DcP?BcG8Ynt;Q0>A z2PT4BwlCpyE3L*u_L|nOL)ItZWp!6imm9JcZb9&E)}cq9bKc@uN}|kkhNw7uKTk0Q zDG3?zBGH3H;qr3$JT9uc=JxazIsX;hH4A+|KWs3bTHu*sje*4XYOd5$a}cSbWrwAf z5a)c-u1!4@RImalH>`qj7g!KJ&7r0FQ}s^$nq^1BVvXG{WI=LR(*5kDW>_LdS6OOl z4Ihq&v1=eePDB#VXsY}uZ6mI1&)J)AgCvnyXSU6~L)9(&@Bou;qJ5V3j=)4XXQR{a zH7N>D*QN9JRMPTDW?j~~9@z{Y(P5%kTIFYx2yD3k4Q`P7$G{T0#QzV~;8K=x_X<&Z(NZ2O!m5+nt>U-+K zf}&c*2*@1|c6^lnHnhcsCsR})QlLad50{;6J!3a#-WtOsnvf}F-3yRe<*NIAUzvp4 zCtd{vCdH>CNiPDf?W1&@&447>WBuD;XNTDmgKlm`^|O>n+zjDUlj&w zWZE1Ql}9NK1LEF5bP*w2!HCQ^DEmQ1qy#Fh@&X55 zQidE=$MeDWELTm?1(8o>q}jztznA}Hs5AQj*GECv=>Z`riI2Rt>X>}otVD#YFG*?C-U$m@aEm1sF12j);L?sIiRoRo&a*>YxCvp`NB;#sG5x8>{uuzck_ z)?H92z=U^|wgsD+C4JWY$F~2ds8B%)OhyE}?~K>5+x5qK9{mes5~0JVe~#|ZZPHyC zr~h!^HX7_?C8JoSV)(NzaGVIbpQ{4lwxRV? z$eP7Z6T9<#)FXFMA&2pUY)M2Y(ZEk*V^RH&m*eb{Bbch*zB^Q|kp@*E%^kZ;;PI_~ zWG;k*{M46sK@7+zm5)dJ=R)%RWo-1kZ`t5f2hEO1D}R1u88&G(6X757G6R9Mup3R} z!a&G+F(mVgqRQOhN|p=PKn)%-7vWBQS=>bQ7v6#f?C_S)2C1cepE@N~CL_sT*-K9Z z4qn+=oUeNlME&>-jc$Jmxbl;7fASPIaFCtQ^A4m&0L8m+WYV*}1Dk#l-808^Bzr&u zEz!Npi65Q>QIu4X*y<}{BjsbjV)X!~lNSrt5%EspZ))$%bF*U`xtbOhI(`5rahDG! zV=nt`q?L+p688t1&N!^21EIE1JU%b<`9L*Mv^8-3DdYBFJgb28d(W$B$!ImUp|K5dtsMTyfMN;5oh%xuytwa5V3Oy0Dzn~neO>^U2N=xmQ66pg zAWy64Y1{Y8?@|o@ZVfyzIS*S7fs?=XiAg3#^QI0k^y)(F7Li;~5`nRUP!pb#$Se$0 zG$6!X?9l{1c)Ro27UVC@V>u#4AB}^nli20?v$0Y*tBS#ws|mK26$JUi|4y2arC%@D z`>Hn|cX2mwJ|3PxHa^XwX#6;uymNaO&g{$M?eS|I54*Vzwx&Cy>-X_-fk>Of%KFq? zh%W{RGIlQ>EtEaqDS4=`HBTi^Q$$UpXp#Pk7oI+m)%+W2Fdel_2>s+;*9Nr4l#m3v z4NyE4H1Z_H%%%&))pG#1+2xU&j>GyTCE$4nvWo0%?CiR#w8}Bc_cc0=W)zFG-(Avu z43wx4J<#RVD~ciq<(r$-ET}Z9v|b%v|LJzVSw@?nDKs)Re%8zvBwF|K+=`&xL#z;p zcT#E&G)i$y3{Ecd{N_eqfgqB!HKw{XY|a&Gllf5G?soDJ&AR7jcGDUB?+z0o9y$;6 zy9@Idi#YyFOVXgwp5)hmT^cY%aV83CadDj=7yBl)ff?yIwVs?f=gfSgN&r{qj)xVX z3W5V^d{1s?En@U^Q~INp6~q`D7_^VT1}A0w%;t%;nReI-X6vpp?XLvv8X&@7hmUl+ zks#DJp@jLcv5z1JdBBw0!1s6&c)M=D-eo&my;^hiX+UK2a^9-3TZzu53*cyr^Cviu zfk5d#nKJhACklk~1q_`s0~A)xSnQozRb1KG`-(x%7`}Hu$S^)MHt?PLEG2*Pl!7$o zTOq>Lk&8-VlAV?*1_1`2^-g@gX5&Y=BpSK42?8tL!`o2+V)kMnqCTX}_XroOTWt3P z%|Cvj>kMY^LXHa~rKTd0K&E74h340W^0lKipDjIp9Z90~J5SZNJESNK9ez3f%7GdJ zOJVeDg5=|RoYXKhsZ|Swx3m(gZB$2P8EhzpFdVOppo06+Ba($%Z}{z7`k1GqE6sYl z@a>ixhghI4!>w#QUuf>)w6(H%^37Cx3@AVy_YVf#c^xigYJELyhadv5uaaQ1P>Nw^ zU;N3qX3|SxWkHS9o?ZNgKS~5@f~BchWl_re+V3vz^CkJaW~SWLq++#Jfp5p?0;QZ6 z0%*V$#klw-4*98)NEI{jb*a8$@ry_lh_!{I>+S2qE3esXUMmcbkB`+KeZ7AR%Rifj zakxGWFbl9aRW{$cedOhRRn%d8(Y~uHD1ZS757O`;0+Nd4^yP0;5{Gn~=|A)1%Lrrr z2MK_!HMYX=ad%jC>e#Pr*&lOO7Q2~uDXEfFu!!6|J|=w_XU|0mwFUMHSzOo5kXrso z1&7yGI3$dXT8rteUHCm#ix=W&uOoh0D>cP0uC%ZQeui9j@FFdflY4i1Y`LV3>nC+DJE4$$$xF3v7KVi?O2 zWUy(3VW{dFI9K-cAe)L>{R%1i?yYMlc4eiBNu!os4Sey3b6#4OdXjM!p~$Vf9xPuhe+5F zAZ!XGGllf9t5^enEInt}o>{_q1ZYTUU*i4IGIQzB%#6Hu~M0|)o@$g>)dowC00P&!Zb{4Ama zm5`WwUl#v4?FpOWvJ)6|Et*fl^)oTalSy)rv8C2%$)`iebQ)5aCJG^8kr_HU2pXYJ76AE4Y&O`n-X%d* z+Zg<)i|SQF6lhTSf43C%~gKqc)V(aoDG zHtMy;WMrAa6ClPUV9!nVqrfA~Sgo#1JE{TCNeQEqI8F?dq&N#91i8xjaG=_ImqEW~ z3=@=JpiwE+9e=NOUv$E-HcQFE_LWr(?I_O_B&D(+PKC@GNl~|;^KhKXf2)|m_Lqjj z>N_U3`QFv<-k`iJ9_xj9%glB4Dw-cUwAWYzsAn~U+uo+EI>v|uV_q)yF79P@X>R{ffa5VIjq+t zUu3u>(Oa}U9_x`rG*8dimzN)yg5Dw)uCe%tVpo9cd#FKN*gZnL3Z*bc*-Fm~102a=)yYITM@@bY}%;B58|2F|pwI<}ZA+GM5nXiR8yj)8D_8?`9q zRQQ4H7Ju4=bhsn2D9#Y@5r{1$)|wPWMV0^POH>(hWtAu>Y)mY+DncGjWh;WMU|=3` zPug!F*lI=Ah8=V);0DV52p~sRzI=Xb44+53a~Rl*R%yFExx2gH%>%B6HVnR}9=pZ3X;?=iStMF_ne@`?yaxnZ^RFJ2+_Xg=A^Oqov;rPtlLa@uG zF#Bvu5YT*V5)68y!-J4g+`-lpBD56 zk_Q25$NpVwKscYz!|CTYQfae$wHNZ{PrW+=!qQvoU}WtDC! zm=7ETsl;7{QO=v@mztsx_(ehvY4!WHb+>QoTUoqFyZsXZE zH#bk)9{WtXZwB_rW~q2EK%e%0A0!Es@6bp8Zv2Hn0fUT}`o$H#+6&VY(ddj`K4Ym~ zI)`?jpB0W5^oEGGM$-UqlgzQw${bTvkzN(8bdU@+YwR}yq*J&HT9HcojV!d;fUAea z^2e+qFlO{vX3iazKEj7T>->idSlLWS_%N>BaraILn4T0pmpeyHpqhFIxE^B_!J1!v zHFTND_|!gIP*^8L26wX#L>g1bWDrG2;}Hd?iaHqRAz>jkw{s{9j(m(I>yfTk-lGoiKOPfiT9yZC7@&VS0T(K)Oo8p8V*uP zmuoPN%CFd~Ftc+BS0Z7)WeJL*fD4wrArrXz0erE~&cBMJviTb@&**`}BtHA|=QSro zwX|!r^{R_XUb1eYoF_sA0i>brO#7_LQ5tRB_Z#F|@YQ8+YBGpY`)8>Zq9OR;N8ih} zpp>DKyA<=H2bl|1$WWg<+Iw{R^7W{26S{Ao89vD6ahJtc1Q3BKE8TE;CbrPVB+&3Lw|?Q&-JTyS}(@w zB7Kj(@C_1lJY9^@V#Y;hSNMq9nwls-g%BhRq>P8#P@>s;Zxbo5Mom0UHTP>l|4K)C zOVo(zFychQ4aL1~_}%y6`*Hw&K6Qw)YJt))L7&%I^YK#c7n25;AAoDfFA3{Qv89&C z=jyyR$_DnZgB%uBb@RWL=>iO!3mj}Gla2U4Y^rS9kB;FWn5}QJ7GjD< zx7yM=8A6y{i)3@b1y0Gk5Pw_Zp?{-nuQRWWU&N6wPGSlw-Bj*p&$EhrU9EokuP12x zj2(gDT?r+Y-OhI7a6()OP>g1lZ$}T#Q>!jd@ajatgzs9N-Q8QzP_j^Bz@_87iJPMN z*hZV4w)EknMJ%_}mScJGSzvRsxbfdQnX!=R(}mR3ZtmA7Q&|iW-iyCLS7J`bm$N+w zi{-u8|D8lSQ)(=@(dwPOxPeT4f`kj3mk`Inva7vD^Jx~ouFEvfV0z!kO51nrqoq2J z%ONn~Ax-82N}h0~$DCZ}<(%`e#|a{J!zn}7wVe*;T|5#O!xouO^sk5Ee}kdyodr-Z$a5V)Q^B|! z;iU1GSn{6zig-zl zKqk?b31!yVZ%F=pj0z|n4wVU*1_icDgfmGsu1LmPpn%T5nIEYa^R79O z5KMhcyOB&-TUc3rnx>XbW#n}@n4)!Z^86bhWw+Tkuz?sFNq%Kyu=pU_nGZ(m79L8!?x8$dXssE?1&>qa4uxsFcF%^A!p`Ppi`upEkifzg9+J_57uZ+Qq-emvY#c1CStYU6D_=Gi^yx1=G$i6;CZypE2wYDnnnAt7D##r?XqI**Sd;M~U$0d?(W)~qSGny5B8Ciu%A+#OC1sB8c zxS&O~Myo1y|7X^#mt-9AgH&SCY=?PJ+xvIm+24*+huZM2>wj=Wp&}!~NCXt_W{!Wv zm0fCzTkorB6>}bT8?6_4<++BKk;65PPmdmiIi=r=!Uw%W3PQ!wX;7lg{E@%7uv4V< zcQBJQsAZ7Hud=q*QHHZzFQ>>-8%J^+gHAQrM1-yEoRaE{|Wv zCgT>FCA3%UK-y`y_j2&{pIk3y*ltQ`-L%FMECMD7%h+;E<&Po>3BwKxUdo4$znjZvU>-Otw%M>l%Z1NddVy6DEGntSvb0-Xk$yip;amF=1p`+NCUtMY`pPIVT z{|IEfC7Rx_^(kIU?%(YKDSsPXKF`vLt3D&tV_i;H2aZW4hkS@E!4?{Y9;Q>_(`x&_ zQppM4yPqX4EG(c?Qhwd{ys_Q<-s8G#fpG3$$JwS+h0ZU{Mih+2cKA4*gV~3 zw>sPVnvJE>Vv_P{5LNN`8UpD*_O`Z6F)80U2j4k{Tfx)?lV7^dujpus7uT?cqA#0) zG{!;rB@;Q)V(4PQ{hksoy4^6+Y=0EqWnfWFk!!X%Y*qo9Ny6C+Ww+a4=g`p5@68MG z=WzrKny7TJIzAu~u$761_0$`MGax(fXB87u)c!PHv8;rN7%l zUR3pIWKM1y+#${rz&rFK3@HrJ&kw*X;cF3Xq_UAYmoqq?U%<>EMoOgD53Y>%zu8(^ z(kOLa&-bM7D?^UOfY@d!;RdQUI^FFaz&Lom+Sm2iLUFQm<8JVSE(cH&e$Y1Vf*A)w$YX16Ki#mg6cyzs zsT)m7DLha>{r*%WRr~j@1$0z z&i&GIo3FBS*Vq5V5%XP4S}#-*PBZE)AUn|yafh)Y0uA{5^>~T=ne+IW;pB;l9F{+d z>xw$X;y_N=aL;9o^h+OWzqAe@G(N)nI@xUM*BMZM3Ec3R=N*4bImec=akIQb2HP zp?&%;>j4AeE~ojbuIKvc7PyJ@5M6JX^t+yHvp(3q>>C*?H$_5*h}fOJyiKBtRT-^h zUue^W>PAdCuJfefyd~-uum(1)AAk(rr0~HRj^_yMuqsxE?Qfr|;!claAW_y0JSrPb8QRah%&l}Has720p<3%%QZcw~P z8F03+CVk~)o&P)oI)jHBe(S|O=N3T(KwxYJn+#Xt+inmmwPokf9H&~Ns=Iz zMaB(>8o)Q1c=A1BoD+}mCB?^sn^u;@czQn-g=VK`7FqIIRe2PCt=c~Oa<=9*Ibu4( zDj+20{#P8I*~9bsp)tfr2WL6lh!%lTJY9$}9s4a1_ZUbdIspLK#D02`+Jxc4(lpOc%#0eCPg zVDbsEC`CA=a40FtEz_n82@(q$ID=K_r#<7T!=c$S$DP%6Zn1J?RK{Ab35X(Pv9ri?>?GLpGQJK;4WDJVX*d>^3_aC z&XA$7oxdeA^JhaUXxR-W3nci?J_dVK$#Ej*kNi7_%yZ*$W8=Cu&W91 z7{FC;5a>KTyk$NADXnrsWBs;|SM0N2s7m56;#xUhwDVa4R!e5dp_Fm$--OhgL2b9w zRp*Tnk6nUprDD^EP;^B>VW}jMU=TFi0DsSLw8RJ2xO}81KVWW@M02!v6a@yR&)2i5 z{^-MSPaP|nJE{AxUmNSV6Ww(SGw2^y9X0_t$GwBGDrKNK%F)z4({xI3Svse;Br2Um z%3Uc8Td^$uEf9=E5RdG?>}4kR4%c3;p|rU5Q1)N29g*9*$NqHQ9x5N97(Bkdx8vO0 z97l0=_5PD65{3flyO^dA{R1feQ?TJoVkZ1Q(iLY>**~5cwx}@OO4O2MEzQrf17SL@ z(uv1o`&Np8`p+|>hX8I-&&zh~A6$qXw#&=L#^zgX36_71yAL!8v5g~$pOWoSMWrgX zU)jY?TXIP7A1U)>#B!gT-#`4zN`qzhf?vlOS=4~h@xZUrFJWv68Zt&t$XF&SLgw#+ zj@92JG8>Ysv5d?emOK^91rATNt^?XgnDt7e*DvYTW$}=C{k>tH-4$qsO*mM8(vrKD&;s6JG#_q0QOW5Z>1K))5S-Q1yxbP=Gd*9e z0g3ih$(SH$B$&-OAe!=PU|c$~O+LK6hFw)I|fUBrEOcqq9cKIHK; zxVryo(xPG~E{o=~EI5SoE@~^{0?5|@j$)*|^k?ytu4h>nH1+A7t&JUb| zS5u;7Won~jGP)~fRWY5n!0Ftyu+Hf-n5<~KbUxmel=su|fuiLZU@ABWlIM^M)Mu7f zO7K^PH4k4Y@~b0IY^`W!(N3qWeiHq{RJ*XgK0BL4;%QM8LS)xs*th1k=Grhd1rFp`e%V`L_|La9qrXbj(P(E+Kp!b86$%N#&#pE>F{1{E!^*PH>V_x zk>7W@D?k2r^uFw;*OlCAx$7@vpJenqn$7zH`kld3g)34iu{KSuhI*s|K-+E-KUJ*A z{P;2U<#f5epXb9*iD~NHnI%36L{WHuWcZz;-_h%=+-V?+`%t65heoQiAAo?emlVLE z_0g!3ME2Xr*m@fEe)I5tkhxsB`8P**zC?YAsBmd4zNTkWS35|v2tMPYek01sH z#*0}CdrQG0-?@;zPB>HeBNi4&AiyT?&>+fUo9v&g)z5=tMD5Y2H>YiT)ljf{WfQ@7WvR2^Sg z^8Q}>L@>gMNA%6I(W*n1PM*62Ijb_JJ>g(grkHJ(2VdLRB%pycT*@CAaS1MnASRrS zGcuZ2^VpS$s`4|oME|xU>%+y9Gv3SPHYQ)!hL*M`Pdlu0A`s4Qgs> zV{f|_CPv~J?hunvmsMoo|Mp|A|GHORTZ3R^p@4z@#c-0&Xw1S&AxyL@1FVZvhg#LK zmcugb=O%WXbrA(1Ch~**%ltpa3ROD^Ywi^5W|FjuM|Eu~fyQ1JpFdJWEab}-bhf=N zAo%#YFiSc(-qqv##4Ul7GW;n#cYqYN=>2vEkG!hco|UZZpG7=oy{iwHeCIu+XFm5u zb9#8gZrQ{CzRQ1dLgKbgFQeN$>Uk@a4z#~)bu4%(`B&_av4vF`((pEVrpWs@tM=g+ zS%dT@g?I!#rKBrbE4lV*@b;BH3WxHlM)!(}k7~6sJs`bo{|PU@yJ#L~JFOar&8)^hBPzigDzr1+lkTr(nxm^-VwRzi_h4#Xwm#e*%roGy9Teo2Z?&f@Vo z(v{A%!d3oq#DZlgh8V*tWiq{jT*+xM3{A++j)9)4Rae7vj=nj_)(%%rBeE*~c{(S4 z0}rZgR14qkJ2)8rNb2W(LJ5qCU(m&lYZkhWo9f1-0Ypt2T{_QlyW4ANTYLL!H_#<6 zxH@Ds;QZ7-$+XE(%a6~@-i4Ye2Qwg^2nvaRq}(3QU{^$zQL4E-bk@VP#$y+aP@#OH zqT)Ztbvl|Us_J}Z=CWP6+6H>pHtxv3+uhH9r`OtVeeB)cuX3XBb3K@#mD1m&aW$WO z=mrq!1&-RK{5#H(UGYm2!BbDX2-A;#J6o^nerg+lW?Bh)98LzTdh1%C8k)2OthF&pf(Z5OtS2 zF1yHS#~mf;f7!Wp6%~(3DOPMprXo^Ic**Cj(V07829P;b!m{{D9oLKxQP&V5gR@S1 zfT!**0t0_ce9OzchZ4j`p&0h_iHhg5opA6)2)^#!K)g`7+SWfM+%R8a`%WZ7u2$nw zB2m`cD1Ct9cHKss7d%jrY+lgcRs{nCLnmEP|Gw*Pi--JV&g<^>XBI<9Xee2cz891(Q`9^NQ2nNew z;9n43I`ETj4=-y};@&K)N@LXfQeqrS%q)6WP*8wGtC-8d&Bx|#X(A^VDzs9(4^u+t z!(IMfP~f$XnjY>9>JIX@gpVwfK<^v z5kI3(5m*d_Bb-ye;LI)e>ZS;L<0E9hQda!>rG=;e5IJ_bQSWt|e#uLJ`$pVO8i+Aw z1F@GrViMo!sH@*1Rm>M{c&&xe5$|K2Ry;DC(&6TBe!y*N3}cZ}kN#Tb1PqSA)^7+Q zkQHrS%+Xc_wjpX*U1U@tMld7+6MTSjelT*#N0!dR?|yf_&r9Rt+o~mh)zEuRDRqAx ztZNWK*D$C7uR${8$e-6TF)`tV;wa><(S(Ucl{_8Sg6oQ1&TFUSreBj>H%7={npPvB zS@4i7H&0)#Cpe;QkC;4v>yNCgR%2{DPekf-P|*JQy?#?a0T1M&IP$;eGs8b)_WAMF z4}ho~qFW}Cnx3g*1-r7bW0z3G@3Jj0p{qoUWuLr;fqxU~=+GStC_7op1l!HbNh@-n z33H*TAL=H}il81HB~@o`qJgkJO#+$dm_(wAt-n>(gvsd0sbrz7C%~@p5LaD?mAq)P zGYoh|Q=i)wy-;WRuCNs*Cu4%MR=# zrkEA=GzvQ$3;Tw5T7gC4$+GYk$@}zyNxKW6vP6GkHZ2_e?@Yl;UnV&@>9pS}l3rx* z3FUB|ci2l<_2)FKh~zh4Rc;5-eU3OMf~{AawR#Zq(Q`GhJ`tdhafv*Dx6Cab1-+R; z-yxoKFK~W8!P5eSEJ~KjW#3H86sw@`$^KkI;V8WP^acsb_E*#HwXUwNCU1DULKf>E z!6h%+Uc55pfH%R&M+X(!CDhl@!IU~V2VFpWjLyNy$&Wwq7c+dk8@gp4agaxpl}W~C zaO)AOm)3@5rl3*Dw`Qnpc3dP4t9!VEHw?(kg2jTlJ4;LV1V{m-G63s z?uLeL;UzS@ecuCOgwQiv2SW&IIJ7dIP8t`vad=FRi<%!w(i3jYlg@S`JpQM%}N0=5e7z8)8IaRP>A zCNEoy;mpoR_d`Xs*V>lxkf+|p#>Oj9efMq<5feZC1at~I^MdZ)6CM?xnJfVk9Ef!z zg+`i;Tb)9zlvJdeNTQaeG8!d6D@S#EIv5C*qxx$`foV#}crZ!=Ib>|74&UsNfrXE6_vo3o8P+vKqDC4ejQnUtu#?=7XUyV2$$`ervIw^V;V z(#U|uze}@z()|QL6E6tdEExw7DT3I4!#x z!Uu^x-kx@zhO|8iF%|sFX(Jp6u?+wg%%b5P8liRXWX(HK0cK`PfdD#%3_i2oQ_5T` zd`QIHJ2;+miK_0NPi==Ga!e5;huhri=Ri)6{Wry1^Ioq>;F#`T=q)I?ZEAAspke#+ z)mfnYs{}PMV&VwzU)0c)et$VJgDPA8FFV7F6aVOG3aF?&RS8LIz}4XlzbW9?+cyss zym|7SMDPaqX2P&(!z#JIuT>?JxsUml%WiYMP6_#WPC&qa3Rp7h<}TA;!&q?WAnVU^ zHv5O$02RqNQFZHHCjRjS9J#K#d}8|yN5ZxjPdcSlMZu&EmNDI10)jR`Oi&f$I`KEo z_v$Mp;5T(Ed5_Y?hf*-i^=H_Ia8n&69=;I+D}JT$wRZwCejG>2|FB)W&)nGtBr@f4 z$bVDmb_F#20t9y7SfvO9U=sW-W}JZoes>HQO#_tCyzj&R&LQI8onb?yUN*ED(bMKd*>PP8UCi64E`23{>a0*8Gd`@852BRz_*vnAT|wSkl{W`(=PNC zqJh8Zx!lpAQZDEIa9FxAvvk+zfr{m0E;)p;48%dpjmB;1nwVksfW!tp_wBu(|LAYH zsJyk*)_%lKv_d`ZT!{jM!ned`7xCFuqvF7%@sM&3-nyMWpxs|Ay%*Wc4&t<40Cyb9 z+k5&rlXrEh(0`me;V7B_#dEHxM8dDLdzf8-rGl}ra-RX*xlc&Af_wEWE)Q_~B~Stf z29Ray_48fTBNGF(x_<=_-ME%kMhkjvo8>(v|T_v~6$ z;=)UqHFl1UdgRG{^B>3|A<~ z{9w{*IOye$bsJe#fKnnBt%Uj~*1QROs|p4!Xj~po_=BD{neG`Bs7|&hl7JS+iI=X->&DlF7zQO%I(qygxei8SPII_sNt<48Vkh` zCtMh@)%aEdSqlHO;7_@%dkAR1mI(OQ^!5v>z?ePe1!r|=SnS%?C(~agtIPbll<0bF zo7XD%@uR|-hCE$Iso+6jhaAa|&dBb5&y^?HJ>@0tx&v|(VCwCz2W&c3fqY`(w}hUy zw}3x~9tZ8u3>AryK5ZUhMkOK7>r)h0_S4e{%U}y2+YkhDm||-evE7v?c8eLOwA|rg zK!np;M7LyQcWZ>~W>1mimm3nwEbM^ccJkKf0p?Fe+`A#pJ)szK5h@Y5@#?0M)GvTB zgU5M~YCqd~qC1gws2)LPYYtoDQ~R5`IOMHrcmsHm{!k|E-1~-d+1q^t_D7)H5L{oH zyMlOu&IY(m)?{SXrJFw`8Y{pW!$O5>m7_D1nB7#NEZk zW$5F^^>^ko_tREm=|<14+jUT&;n^%*q&>ireeCwS5TzA$bNvkfRbriro#+V-6EdZh z$PSolPm%q(>Ht{nc?GRvwzq}5$sLci?I+z(K^SXWS(B3?;>Qf91eqe2Fm^$SkoOS-G1|I(xMg>URMM z-ul-9Rq!&Xe^+V8$)#8G^(3RWTb6z;Ubadn(LB#yn2wb|jglI)xw(M8mbJur zB3sj*j44LXNa_a`r}iZD7x&>#!tq;jvj}lnButXFcaeq1FjL|E{|>agbW1T(<-Opy z((x+lgT!ot!C;Uh@zBuYqab^2`{gIGE5W9+NJq7ci3)_$IZ8a8R3Iqb?5?spR?LDS zWt5ZMOwLcfKuL+@_m#-Mk~v`;;fEI5KT%f_5~;hvPY>D2$C=@!^pCgMAsZWw)@Of{ z&U^$|*Z~*5MN4s`YpdHKAH|#dyb(R!u6G^9i#vkWOsPYoQJ!A0&z{Dr&ig=0s=ZFf zUFA__277yEXsaQ-e#9v=bH7LD7CW11z;`xI>Oxt7soA zwzy-#z1A6!#%e87%ncee|71F)?#~;}P zlA8U-*Ii)}A(SkU*m4`PdR&aJiCSo0_@mG7r4wajWiR(VJs$)TOAgV@M;!hC_lPpT znGR3QY|sSD zFW@~@6U3jwx?JadUMIl9_@H=n+9W&q@$C0HzZVQ7nsxB4aV0sM7!JF05NnCgL*-#L z(5Ow~!x+?Qg(AOYFW^IitTQ{OqE0T#XGVM$!uiB7U!RuUx$_8M*m?2R&s>BC8~<$z z|3<-LZMN>`e)M~6s*00zEI>C+ME1w(KrAw6D5*0RKH7qtLwyr|CfljAsqzzw8lA@T z#`Uj*SrYJ*Q%f@Wee67u@jOf!2M$RVE_|~&%20i*_qg;`+s1@8*Z^}Gl|Bn+^djjv z(Bc!UF|y-!cF8A$-$eu;zE`Uy4bdnZA6Z(xyTP&PRZDER?g@aqOn;7%&Qyrrrt3dB z)XwI1#`hf_EeOV4XEio6bC@Vqwt2M%#tn@Vt>aZZ>;Dx{JihcoVjpc+b}+$U@arcV zN_0kpxyz)$Iebr4Vwy<==6oB%BEeBBy8A?F=VgWtg{g=hvt<537^NA}o(3(Z=H|vu zzm49YR~3e0fe?#Qg&gn8-#t@Rj^uStA|0WA0M*05>$4QH4i+*Fl|BfXIH2&G|Kt8L z53PVK$VjLrL0C3ei~F1r0i&7(S*jHY)Gq@cANfXQQbV3Wri*I6h|lyW`2$d8Z$B=N z#W?Srb`kS9J=OgV3zJ-IZfwp2p6|W*>@b`TOQYCuQ-5Tq^*7RY+(*&TFPSKRe($1s zEgf~aWkTpHEcx1GzMxDSBT@u^lLZ2;t3U3;&cmMr9K@26y^=BSBXi0GcshULQ!11E zkOT@V!=0TUjFF-;Uugv?$jP;=Bcg?gH0uTng$o@@)fZBe`|mZQL@?*!L|Wf!Gvfxz z==sZ)eHxVt=4RvbR!A(-H`;5s@!ZDuK=uS`1z$^O;izU5em7@q;gCN$Csi*@xU2F! zML__FrRBxM_!4X+F?^M%10l~r2xbTQ?~hl|t-=q(i|G6NTU5%fG3fn`ROj2+tBekx z|Bj;DJv0s%-UF>Sh_=e0mq+lDVB*pQWe;e;XNB#~gOYVYuEyZFTz>Axwq#4C?2JC^ z%|jbJnKG#iMJK%PIC!Fy$WU{1%6x>q``J=?pN+#hRnPyOv}uTDp}-YOi?8Fpxi*AB z<`Dw-0VRR%7bUDxhg*6T+9+e7yePNTTQX}aPGv$HQIpi6a zHYg+Lc#O>M44kO75xUq&Lo$@=gvOMOMmv@{l4y)Xb%}M^d=*s31m8o-zU<;QlFV1B z>yJLL2=ohuU1(mSX4M5fNDGe@fcC4>FXY@ozisWO{{fq^0gR=Pxl@XmpwC1z=$iN$l$n-nX zto~?7k%KEo#&5zFLGBW)HFfDig`gLZ5t7Q}?0?L&cSAM{1sZj=&(&Rfk4PBAEj_e{ zUn=z?I)PS-=>R^9X8~%l^B(MJZ>A_bZN-EIW;FMDfOCGr^%&m{+A3DV;^wg z45ycVInAz9D+eFo`In*_a0i5Vz-deHVd@9|+JVL4=Cb*?ue*!QRV9ZbNhqBN{M>HK z(YK0aiFaAzJ%6Y}9kjf2N)?|SMc{?E!onaRe@f8>FTX)xPwxs~7k=e^fSvHd{MBsF ztnWC0+kAU-{hldpjD3eY;kS753=5k@nP@7Kh(vhb`=iPrB`Ma>{vK4*F+EVfCgFPq z&M|$~YPt%Lhu*r3odjq;OCwkF)3nDv^W#2n%?4W$r~R*&+r}6l2U7hWzqeg{ zt0oon?GThttk=zy2#x*;hGOkO>t)~F!jK;`5#2FH$%6cQbPYooM>^!WJg7@;pj6T# zUnwakuQ943~;UH7>MN#H!kR=ZgO&-qA?WwYAi z+kuUea*h851S3Q>J(KLk>lfS^=}24$bW8Jp(;MA&~J?h{Fo7ada< zxC{J^r*ONYOGq;^Gp5^RbYmXYW;tTc$eJiAWq*`2>OafTKz*j$_wr{N)+-Q=7B-w%MSc6OaFh7_1Y(i}L;Og#SSTRKN0Z zkwCl&B!zI38$qQ5})HpkN;lRdlw_m85(IK7mz_899Qv&b&A^mJWav8Kup49AvyTgG?(8en5P4g_PuL_ z`FH4f@36#1I=}hE$-f;`NtaD2rPF^cgC&|V_@DaoBn*?(du`$5m;T7Q{!s@rfibEW z0Zje$GO=MWBb@@=vDj7ES0S9TE5!BE(}U`4R`X4DE*paK-G@Ga`Q!~)xEmDtujfpO zxNO{kaH~O?))^_pD)_+o>v4&afnj39s)Z>#Xi&E5oTHGoC^2 z8_|UIr#?sJrCbYX+b)3e0eH{3Z2^>|H{d8M$+GXt0OV$40FTUayUBL4%hIKxfzkEl zt+gBx2nTrtVmRKzby;f46{(>B*^7pBNN_o1sxbhxbus~fW@byf|12`Kw1f;O+(IqHZjM5zggw~_07_O;T8jtxaP$Co>!6U#zT1Vtm>XO zsy;`kVg?D(;>HvrEbD(fi!#mS<=!GHB)OQEtMLwb`He>SNB5el>#x}$B57C5TYUhz zpo76K9%n!vr`p@MTkElVO`;_ld~GHpi8BCUhqtRa%pL20vj;s4A#0}Yo03H?JFhRl zMuWm`^71_WLT^u1;14dw@nFCdniL{bHQ^@ygg{t`t%a?p-$rd0bBW;4Dqxuj`tPCq z>jV!A(zf3Gr#Ev}RGbXl+}tb%4#hnG@FcW>E#fb}G=#^WKdepwnPWPQma{bK`1|p| z5dqX+*=%zRyBe?h#>SMu>UuwT<11a?#(mC40YLLDbO3Z8jr%e_|Nh_(@P_{P761Ql cnB|{di`j9{zYw1|fq-Aq;tFElMGOM}58_TgLI3~& literal 0 HcmV?d00001 diff --git a/docs/src/content.config.ts b/docs/src/content.config.ts new file mode 100644 index 00000000..6a7b7a02 --- /dev/null +++ b/docs/src/content.config.ts @@ -0,0 +1,7 @@ +import { defineCollection } from 'astro:content'; +import { docsLoader } from '@astrojs/starlight/loaders'; +import { docsSchema } from '@astrojs/starlight/schema'; + +export const collections = { + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), +}; diff --git a/docs/basic-usage/code-generation.md b/docs/src/content/docs/basic-usage/code-generation.md similarity index 91% rename from docs/basic-usage/code-generation.md rename to docs/src/content/docs/basic-usage/code-generation.md index d888f83d..eace6c13 100644 --- a/docs/basic-usage/code-generation.md +++ b/docs/src/content/docs/basic-usage/code-generation.md @@ -1,4 +1,7 @@ -# Code Generation +--- +title: Code Generation +description: Generate serialization code from proto files using the struct-frame command-line tool. +--- Generate serialization code from proto files using the struct-frame command-line tool. @@ -81,5 +84,5 @@ Each language generates: - Frame parsing utilities (if using framing) - SDK files (if `--sdk` flag used) -See [CLI Reference](../reference/cli-reference.md) for complete details. +See [CLI Reference](/reference/cli-reference/) for complete details. diff --git a/docs/basic-usage/framing-details.md b/docs/src/content/docs/basic-usage/framing-details.mdx similarity index 82% rename from docs/basic-usage/framing-details.md rename to docs/src/content/docs/basic-usage/framing-details.mdx index a6a7031e..8ff7373b 100644 --- a/docs/basic-usage/framing-details.md +++ b/docs/src/content/docs/basic-usage/framing-details.mdx @@ -1,4 +1,9 @@ -# Framing Details +--- +title: Framing Details +description: Technical details of the framing system including frame components, header types, payload types, and parser state machine. +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; This page covers the technical details of the framing system. @@ -159,26 +164,32 @@ for byte in incoming_data: Create custom frame formats by combining header and payload types: -=== "C++" - ```cpp - // Custom: Tiny header with Extended payload - using CustomConfig = FrameConfig< - HeaderTiny, - PayloadExtended - >; - - FrameEncoderWithCrc encoder; - BufferParserWithCrc parser; - ``` - -=== "Python" - ```python - from struct_frame_parser import create_custom_profile, HeaderType, PayloadType - - custom = create_custom_profile( - "TinyExtended", - HeaderType.TINY, - PayloadType.EXTENDED - ) - ``` + + + ```cpp + // Custom: Tiny header with Extended payload + using CustomConfig = FrameConfig< + HeaderTiny, + PayloadExtended + >; + + FrameEncoderWithCrc encoder; + BufferParserWithCrc parser; + ``` + + + + + + ```python + from struct_frame_parser import create_custom_profile, HeaderType, PayloadType + + custom = create_custom_profile( + "TinyExtended", + HeaderType.TINY, + PayloadType.EXTENDED + ) + ``` + + diff --git a/docs/basic-usage/framing.md b/docs/src/content/docs/basic-usage/framing.mdx similarity index 63% rename from docs/basic-usage/framing.md rename to docs/src/content/docs/basic-usage/framing.mdx index c0ac4ade..6219e8a0 100644 --- a/docs/basic-usage/framing.md +++ b/docs/src/content/docs/basic-usage/framing.mdx @@ -1,4 +1,9 @@ -# Framing +--- +title: Framing +description: Wrap messages with headers and checksums for reliable communication over serial links, network sockets, or any byte stream. +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; Framing wraps messages with headers and checksums for reliable communication over serial links, network sockets, or any byte stream. @@ -53,40 +58,46 @@ The Standard profile (recommended for most uses): ## Usage Example -=== "Python" - ```python - from struct_frame_parser import Parser, HeaderType, PayloadType - - parser = Parser() - - # Encode - frame = parser.encode_basic(msg_id=42, msg=b"data") - - # Decode - for byte in frame: - result = parser.parse_byte(byte) - if result.valid: - print(f"Message {result.msg_id}: {result.msg_data}") - ``` - -=== "C++" - ```cpp - #include "FrameProfiles.hpp" - - using namespace StructFrame; - - // Encode - uint8_t buffer[1024]; - ProfileStandardWriter writer(buffer, sizeof(buffer)); - writer.write(msg); - - // Decode - ProfileStandardAccumulatingReader reader; - reader.add_data(buffer, buffer_size); - while (auto result = reader.next()) { - // Process message - result is valid due to operator bool() - } - ``` - -For more details, see [Framing Details](framing-details.md). + + + ```python + from struct_frame_parser import Parser, HeaderType, PayloadType + + parser = Parser() + + # Encode + frame = parser.encode_basic(msg_id=42, msg=b"data") + + # Decode + for byte in frame: + result = parser.parse_byte(byte) + if result.valid: + print(f"Message {result.msg_id}: {result.msg_data}") + ``` + + + + + + ```cpp + #include "FrameProfiles.hpp" + + using namespace StructFrame; + + // Encode + uint8_t buffer[1024]; + ProfileStandardWriter writer(buffer, sizeof(buffer)); + writer.write(msg); + + // Decode + ProfileStandardAccumulatingReader reader; + reader.add_data(buffer, buffer_size); + while (auto result = reader.next()) { + // Process message - result is valid due to operator bool() + } + ``` + + + +For more details, see [Framing Details](/basic-usage/framing-details/). diff --git a/docs/basic-usage/language-examples.md b/docs/src/content/docs/basic-usage/language-examples.mdx similarity index 77% rename from docs/basic-usage/language-examples.md rename to docs/src/content/docs/basic-usage/language-examples.mdx index fcf830c3..5c68a3f4 100644 --- a/docs/basic-usage/language-examples.md +++ b/docs/src/content/docs/basic-usage/language-examples.mdx @@ -1,4 +1,9 @@ -# Language Examples +--- +title: Language Examples +description: How to use generated code in each language with the standardized serialize/deserialize API. +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; This page shows how to use generated code in each language with the standardized serialize/deserialize API. @@ -407,66 +412,81 @@ message SensorData { Creating messages with arrays works the same way across languages: -=== "C" - ```c - ExampleSensorData data; - data.readings_count = 3; - data.readings[0] = 1.1f; - data.readings[1] = 2.2f; - data.readings[2] = 3.3f; - - // Serialize/deserialize works the same as simple messages - // Just use msg.serialize() / deserialize(data) - ``` - -=== "C++" - ```cpp - ExampleSensorData data; - data.readings_count = 3; - data.readings[0] = 1.1f; - data.readings[1] = 2.2f; - data.readings[2] = 3.3f; - - // Serialize/deserialize works the same as simple messages - // Just use msg.serialize() / deserialize(data) - ``` - -=== "Python" - ```python - data = ExampleSensorData() - data.readings_count = 3 - data.readings[0] = 1.1 - data.readings[1] = 2.2 - data.readings[2] = 3.3 - - # Serialize/deserialize works the same as simple messages - # Just use msg.serialize() / deserialize(data) - ``` - -=== "TypeScript" - ```typescript - const data = new ExampleSensorData(); - data.readings_count = 3; - data.readings[0] = 1.1; - data.readings[1] = 2.2; - data.readings[2] = 3.3; - - // Serialize/deserialize works the same as simple messages - // Just use msg.serialize() / deserialize(data) - ``` - -=== "C#" - ```csharp - var data = new ExampleSensorData { - ReadingsCount = 3 - }; - data.Readings[0] = 1.1f; - data.Readings[1] = 2.2f; - data.Readings[2] = 3.3f; - - // Serialize/deserialize works the same as simple messages - // Just use msg.Serialize() / Deserialize(data) - ``` + + + ```c + ExampleSensorData data; + data.readings_count = 3; + data.readings[0] = 1.1f; + data.readings[1] = 2.2f; + data.readings[2] = 3.3f; + + // Serialize/deserialize works the same as simple messages + // Just use msg.serialize() / deserialize(data) + ``` + + + + + + ```cpp + ExampleSensorData data; + data.readings_count = 3; + data.readings[0] = 1.1f; + data.readings[1] = 2.2f; + data.readings[2] = 3.3f; + + // Serialize/deserialize works the same as simple messages + // Just use msg.serialize() / deserialize(data) + ``` + + + + + + ```python + data = ExampleSensorData() + data.readings_count = 3 + data.readings[0] = 1.1 + data.readings[1] = 2.2 + data.readings[2] = 3.3 + + # Serialize/deserialize works the same as simple messages + # Just use msg.serialize() / deserialize(data) + ``` + + + + + + ```typescript + const data = new ExampleSensorData(); + data.readings_count = 3; + data.readings[0] = 1.1; + data.readings[1] = 2.2; + data.readings[2] = 3.3; + + // Serialize/deserialize works the same as simple messages + // Just use msg.serialize() / deserialize(data) + ``` + + + + + + ```csharp + var data = new ExampleSensorData { + ReadingsCount = 3 + }; + data.Readings[0] = 1.1f; + data.Readings[1] = 2.2f; + data.Readings[2] = 3.3f; + + // Serialize/deserialize works the same as simple messages + // Just use msg.Serialize() / Deserialize(data) + ``` + + ## Nested Messages @@ -487,57 +507,72 @@ message Vehicle { Nested messages are accessed naturally in all languages: -=== "C" - ```c - ExampleVehicle v; - v.id = 1; - v.pos.lat = 37.7749; - v.pos.lon = -122.4194; - - // Serialize/deserialize works the same - nested messages are handled automatically - ``` - -=== "C++" - ```cpp - ExampleVehicle v; - v.id = 1; - v.pos.lat = 37.7749; - v.pos.lon = -122.4194; - - // Serialize/deserialize works the same - nested messages are handled automatically - ``` - -=== "Python" - ```python - v = ExampleVehicle(id=1) - v.pos.lat = 37.7749 - v.pos.lon = -122.4194 - - # Serialize/deserialize works the same - nested messages are handled automatically - ``` - -=== "TypeScript" - ```typescript - const v = new ExampleVehicle(); - v.id = 1; - v.pos.lat = 37.7749; - v.pos.lon = -122.4194; - - // Serialize/deserialize works the same - nested messages are handled automatically - ``` - -=== "C#" - ```csharp - var v = new ExampleVehicle { - Id = 1, - Pos = new ExamplePosition { - Lat = 37.7749, - Lon = -122.4194 - } - }; - - // Serialize/deserialize works the same - nested messages are handled automatically - ``` + + + ```c + ExampleVehicle v; + v.id = 1; + v.pos.lat = 37.7749; + v.pos.lon = -122.4194; + + // Serialize/deserialize works the same - nested messages are handled automatically + ``` + + + + + + ```cpp + ExampleVehicle v; + v.id = 1; + v.pos.lat = 37.7749; + v.pos.lon = -122.4194; + + // Serialize/deserialize works the same - nested messages are handled automatically + ``` + + + + + + ```python + v = ExampleVehicle(id=1) + v.pos.lat = 37.7749 + v.pos.lon = -122.4194 + + # Serialize/deserialize works the same - nested messages are handled automatically + ``` + + + + + + ```typescript + const v = new ExampleVehicle(); + v.id = 1; + v.pos.lat = 37.7749; + v.pos.lon = -122.4194; + + // Serialize/deserialize works the same - nested messages are handled automatically + ``` + + + + + + ```csharp + var v = new ExampleVehicle { + Id = 1, + Pos = new ExamplePosition { + Lat = 37.7749, + Lon = -122.4194 + } + }; + + // Serialize/deserialize works the same - nested messages are handled automatically + ``` + + ## Key Takeaways diff --git a/docs/basic-usage/message-definitions.md b/docs/src/content/docs/basic-usage/message-definitions.md similarity index 99% rename from docs/basic-usage/message-definitions.md rename to docs/src/content/docs/basic-usage/message-definitions.md index 71820484..d8f393b7 100644 --- a/docs/basic-usage/message-definitions.md +++ b/docs/src/content/docs/basic-usage/message-definitions.md @@ -1,4 +1,7 @@ -# Message Definitions +--- +title: Message Definitions +description: Define messages in Protocol Buffer .proto files for cross-language serialization code generation. +--- Messages are defined in Protocol Buffer (.proto) files. Struct Frame uses these definitions to generate serialization code for each target language. diff --git a/docs/extended-features/cpp-sdk.md b/docs/src/content/docs/extended-features/cpp-sdk.md similarity index 91% rename from docs/extended-features/cpp-sdk.md rename to docs/src/content/docs/extended-features/cpp-sdk.md index be61a09a..a47e3d14 100644 --- a/docs/extended-features/cpp-sdk.md +++ b/docs/src/content/docs/extended-features/cpp-sdk.md @@ -1,4 +1,7 @@ -# C++ SDK +--- +title: C++ SDK +description: C++ SDK with transport layers and message routing using the observer/subscriber pattern. +--- The C++ SDK provides transport layers and message routing with an observer/subscriber pattern. @@ -95,5 +98,5 @@ ProfileSensorWriter sensor_writer(buffer, sizeof(buffer)); ProfileSensorAccumulatingReader sensor_reader(get_message_info); ``` -See [Framing Details](../basic-usage/framing-details.md) for more profiles. +See [Framing Details](/basic-usage/framing-details/) for more profiles. diff --git a/docs/extended-features/csharp-sdk.md b/docs/src/content/docs/extended-features/csharp-sdk.md similarity index 98% rename from docs/extended-features/csharp-sdk.md rename to docs/src/content/docs/extended-features/csharp-sdk.md index a11f4dfe..a0f585a0 100644 --- a/docs/extended-features/csharp-sdk.md +++ b/docs/src/content/docs/extended-features/csharp-sdk.md @@ -1,4 +1,7 @@ -# C# SDK +--- +title: C# SDK +description: C# SDK with async/await-based transport layers for .NET applications. +--- The C# SDK provides async/await-based transport layers for .NET applications using C# 11+ static abstract interface members. diff --git a/docs/extended-features/custom-features.md b/docs/src/content/docs/extended-features/custom-features.mdx similarity index 56% rename from docs/extended-features/custom-features.md rename to docs/src/content/docs/extended-features/custom-features.mdx index 81076955..39b08c21 100644 --- a/docs/extended-features/custom-features.md +++ b/docs/src/content/docs/extended-features/custom-features.mdx @@ -1,4 +1,9 @@ -# Extended Features +--- +title: Advanced Features +description: Advanced scenarios including package IDs, minimal frames, large messages, and variable-length encoding. +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; This page covers advanced scenarios for special use cases. @@ -17,7 +22,7 @@ Use Extended or ExtendedMultiSystemStream payload types with package IDs. - Without pkgid: 8-bit (0-255) - With pkgid: 16-bit = `(package_id << 8) | msg_id` -See [Message Definitions](../basic-usage/message-definitions.md#message-options) for usage details. +See [Message Definitions](/basic-usage/message-definitions/#message-options) for usage details. ## Minimal Frames (Bandwidth-Limited Scenarios) @@ -29,28 +34,34 @@ Minimal frames remove length and checksum fields for lowest overhead. The generator creates a `get_msg_info` function automatically: -=== "Python" - ```python - from struct_frame.frame_profiles import get_profile, Profile - from messages import get_msg_info - - # Get minimal profile - profile = get_profile(Profile.SENSOR) # TinyMinimal - - # Parser uses auto-generated get_msg_info - parser = profile.create_parser(get_msg_info) - ``` - -=== "C++" - ```cpp - #include "FrameProfiles.hpp" - #include "messages.structframe.hpp" - - // Use sensor profile with minimal frames - ProfileSensorAccumulatingReader reader(get_msg_info); - ``` - -See [Framing](../basic-usage/framing.md) for more on minimal frames. + + + ```python + from struct_frame.frame_profiles import get_profile, Profile + from messages import get_msg_info + + # Get minimal profile + profile = get_profile(Profile.SENSOR) # TinyMinimal + + # Parser uses auto-generated get_msg_info + parser = profile.create_parser(get_msg_info) + ``` + + + + + + ```cpp + #include "FrameProfiles.hpp" + #include "messages.structframe.hpp" + + // Use sensor profile with minimal frames + ProfileSensorAccumulatingReader reader(get_msg_info); + ``` + + + +See [Framing](/basic-usage/framing/) for more on minimal frames. ## Large Messages @@ -76,5 +87,5 @@ message LogEntry { } ``` -Only used bytes are transmitted instead of full max_size. See [Message Definitions](../basic-usage/message-definitions.md#message-options) for details. +Only used bytes are transmitted instead of full max_size. See [Message Definitions](/basic-usage/message-definitions/#message-options) for details. diff --git a/docs/extended-features/python-sdk.md b/docs/src/content/docs/extended-features/python-sdk.md similarity index 93% rename from docs/extended-features/python-sdk.md rename to docs/src/content/docs/extended-features/python-sdk.md index 0d31dfec..c9f7ec9c 100644 --- a/docs/extended-features/python-sdk.md +++ b/docs/src/content/docs/extended-features/python-sdk.md @@ -1,4 +1,7 @@ -# Python SDK +--- +title: Python SDK +description: Python SDK with synchronous and asynchronous interfaces for message communication. +--- The Python SDK provides both synchronous and asynchronous interfaces for message communication. diff --git a/docs/extended-features/sdk-overview.md b/docs/src/content/docs/extended-features/sdk-overview.md similarity index 81% rename from docs/extended-features/sdk-overview.md rename to docs/src/content/docs/extended-features/sdk-overview.md index a6a97a8f..db909dba 100644 --- a/docs/extended-features/sdk-overview.md +++ b/docs/src/content/docs/extended-features/sdk-overview.md @@ -1,4 +1,7 @@ -# SDK Overview +--- +title: SDK Overview +description: High-level SDK abstractions for message communication, including transport layers and message routing. +--- The SDK provides high-level abstractions for message communication, including transport layers and message routing. @@ -52,8 +55,8 @@ python -m struct_frame messages.proto --build_csharp --csharp_sdk ## Language-Specific Guides -- [C++ SDK](cpp-sdk.md) -- [TypeScript/JavaScript SDK](typescript-sdk.md) -- [Python SDK](python-sdk.md) -- [C# SDK](csharp-sdk.md) +- [C++ SDK](/extended-features/cpp-sdk/) +- [TypeScript/JavaScript SDK](/extended-features/typescript-sdk/) +- [Python SDK](/extended-features/python-sdk/) +- [C# SDK](/extended-features/csharp-sdk/) diff --git a/docs/extended-features/typescript-sdk.md b/docs/src/content/docs/extended-features/typescript-sdk.md similarity index 92% rename from docs/extended-features/typescript-sdk.md rename to docs/src/content/docs/extended-features/typescript-sdk.md index b60ccb5b..07cfbd1b 100644 --- a/docs/extended-features/typescript-sdk.md +++ b/docs/src/content/docs/extended-features/typescript-sdk.md @@ -1,4 +1,7 @@ -# TypeScript/JavaScript SDK +--- +title: TypeScript/JavaScript SDK +description: Promise-based TypeScript and JavaScript SDK with transport layers for Node.js and browser environments. +--- The TypeScript/JavaScript SDK provides promise-based transport layers for Node.js and browser environments. diff --git a/docs/getting-started/installation.md b/docs/src/content/docs/getting-started/installation.md similarity index 82% rename from docs/getting-started/installation.md rename to docs/src/content/docs/getting-started/installation.md index 4ec18335..15d6afe3 100644 --- a/docs/getting-started/installation.md +++ b/docs/src/content/docs/getting-started/installation.md @@ -1,4 +1,7 @@ -# Installation +--- +title: Installation +description: Install Struct Frame via pip and set up language-specific requirements. +--- Install via pip: diff --git a/docs/getting-started/quick-start.md b/docs/src/content/docs/getting-started/quick-start.md similarity index 81% rename from docs/getting-started/quick-start.md rename to docs/src/content/docs/getting-started/quick-start.md index 6b209f9a..91d50c6f 100644 --- a/docs/getting-started/quick-start.md +++ b/docs/src/content/docs/getting-started/quick-start.md @@ -1,4 +1,7 @@ -# Quick Start +--- +title: Quick Start +description: Create a simple message, generate code, and use it in C++. +--- This guide shows you how to create a simple message, generate code, and use it in C++. @@ -67,7 +70,6 @@ That's it! The C/C++ implementation uses packed structs that map directly to mem ## Next Steps -- [Message Definitions](../basic-usage/message-definitions.md) - Learn how to write proto files -- [Language Examples](../basic-usage/language-examples.md) - See examples for other languages -- [Framing](../basic-usage/framing.md) - Add framing for reliable communication - +- [Message Definitions](/basic-usage/message-definitions/) - Learn how to write proto files +- [Language Examples](/basic-usage/language-examples/) - See examples for other languages +- [Framing](/basic-usage/framing/) - Add framing for reliable communication diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx new file mode 100644 index 00000000..fc677b82 --- /dev/null +++ b/docs/src/content/docs/index.mdx @@ -0,0 +1,134 @@ +--- +title: Struct Frame +description: A cross-platform code generation framework for Protocol Buffer serialization. Generate C, C++, TypeScript, Python, and GraphQL code with framing and parsing utilities for structured message communication. +template: splash +hero: + tagline: Cross-platform code generation from Protocol Buffer definitions + image: + html: 'Struct Frame Logo' + actions: + - text: Get Started + link: /getting-started/installation/ + icon: right-arrow + variant: primary + - text: View on GitHub + link: https://github.com/mylonics/struct-frame + icon: github + variant: secondary +--- + +import { Card, CardGrid, LinkCard, Tabs, TabItem } from '@astrojs/starlight/components'; + +## Why Struct Frame + + + + Uses packed structs that map directly to memory. No encoding or decoding step required. + + + Multiple frame profiles for different scenarios, from zero-overhead trusted links to robust multi-node networks. + + + Unlike Mavlink, supports complex message structures with nested messages and variable-length packing for arrays. + + + Generate code for embedded C, server Python, and frontend TypeScript from a single proto definition. + + + +## Installation + +```bash +pip install struct-frame +``` + +## Quick Start + +Create a `.proto` file: + +```proto +package example; + +message Status { + option msgid = 1; + uint32 id = 1; + float value = 2; +} +``` + +Generate code: + +```bash +# Python +python -m struct_frame status.proto --build_py --py_path generated/ + +# C +python -m struct_frame status.proto --build_c --c_path generated/ + +# Multiple languages +python -m struct_frame status.proto --build_c --build_py --build_ts +``` + +## Quick Language Reference + + + + ```cpp + #include "example.structframe.hpp" + + // Create a message + ExampleStatus msg; + msg.id = 42; + msg.value = 3.14f; + + // No encoding needed - use directly as bytes + uint8_t* data = (uint8_t*)&msg; + size_t size = sizeof(ExampleStatus); + ``` + + + ```python + from struct_frame.generated.example import ExampleStatus + + # Create a message + msg = ExampleStatus(id=42, value=3.14) + + # Serialize to bytes + data = msg.pack() + ``` + + + ```typescript + import { ExampleStatus } from './example.structframe'; + + // Create a message + const msg = new ExampleStatus(); + msg.id = 42; + msg.value = 3.14; + + // Get binary data + const data = msg.data(); + ``` + + + ```c + #include "example.structframe.h" + + // Create a message + ExampleStatus msg = { .id = 42, .value = 3.14f }; + + // Use directly as bytes + uint8_t* data = (uint8_t*)&msg; + size_t size = sizeof(ExampleStatus); + ``` + + + +## Quick Links + + + + + + + diff --git a/docs/reference/build-integration.md b/docs/src/content/docs/reference/build-integration.md similarity index 94% rename from docs/reference/build-integration.md rename to docs/src/content/docs/reference/build-integration.md index 568241d2..e841a40a 100644 --- a/docs/reference/build-integration.md +++ b/docs/src/content/docs/reference/build-integration.md @@ -1,4 +1,7 @@ -# Build Integration +--- +title: Build Integration +description: Integrate code generation into Make, CMake, npm scripts, and MSBuild build systems. +--- Integrate code generation into your build system so generated code automatically reflects changes to proto files. diff --git a/docs/reference/cli-reference.md b/docs/src/content/docs/reference/cli-reference.md similarity index 97% rename from docs/reference/cli-reference.md rename to docs/src/content/docs/reference/cli-reference.md index a3404ea2..13f576e7 100644 --- a/docs/reference/cli-reference.md +++ b/docs/src/content/docs/reference/cli-reference.md @@ -1,4 +1,7 @@ -# CLI Reference +--- +title: CLI Reference +description: Complete reference for all struct-frame command-line flags and options. +--- ## Basic Usage diff --git a/docs/reference/development.md b/docs/src/content/docs/reference/development.md similarity index 96% rename from docs/reference/development.md rename to docs/src/content/docs/reference/development.md index 45093430..4e9fd96b 100644 --- a/docs/reference/development.md +++ b/docs/src/content/docs/reference/development.md @@ -1,4 +1,7 @@ -# Development +--- +title: Development +description: Development setup, contributing guidelines, and project structure. +--- ## Setting Up Development Environment diff --git a/docs/reference/testing.md b/docs/src/content/docs/reference/testing.md similarity index 96% rename from docs/reference/testing.md rename to docs/src/content/docs/reference/testing.md index 06246d79..adebfebd 100644 --- a/docs/reference/testing.md +++ b/docs/src/content/docs/reference/testing.md @@ -1,4 +1,7 @@ -# Testing +--- +title: Testing +description: Running and understanding the struct-frame test suite. +--- ## Running Tests diff --git a/docs/src/styles/custom.css b/docs/src/styles/custom.css new file mode 100644 index 00000000..7dc43346 --- /dev/null +++ b/docs/src/styles/custom.css @@ -0,0 +1,6 @@ +/* + * Struct Frame — Project-specific Starlight CSS overrides. + * Base styles (fonts, colors, brand) come from mylonics-styles/starlight/custom.css. + * + * Add any Struct Frame–specific adjustments here. + */ diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..8bf91d3b --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +} diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index 818a8211..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,99 +0,0 @@ -site_name: Struct Frame -site_description: A cross-platform code generation framework for Protocol Buffer serialization. Generate C, C++, TypeScript, Python, and GraphQL code with framing and parsing utilities for structured message communication. -site_author: Mylonics -site_url: https://struct-frame.mylonics.com -repo_url: https://github.com/mylonics/struct-frame -repo_name: mylonics/struct-frame -copyright: Copyright © 2025 Mylonics - -theme: - name: material - custom_dir: docs/theme_overrides - logo: media/logo.png - favicon: media/icon.png - palette: - scheme: default - primary: white - accent: indigo - features: - - navigation.instant - - navigation.tracking - - navigation.tabs - - navigation.sections - - navigation.expand - - navigation.top - - search.suggest - - search.highlight - - content.code.copy - -nav: - - Home: index.md - - Getting Started: - - Installation: getting-started/installation.md - - Quick Start: getting-started/quick-start.md - - Basic Usage: - - Message Definitions: basic-usage/message-definitions.md - - Code Generation: basic-usage/code-generation.md - - Language Examples: basic-usage/language-examples.md - - Framing: basic-usage/framing.md - - Framing Details: basic-usage/framing-details.md - - Extended Features: - - SDK Overview: extended-features/sdk-overview.md - - C++ SDK: extended-features/cpp-sdk.md - - TypeScript/JavaScript SDK: extended-features/typescript-sdk.md - - Python SDK: extended-features/python-sdk.md - - C# SDK: extended-features/csharp-sdk.md - - Advanced Features: extended-features/custom-features.md - - Reference: - - Build Integration: reference/build-integration.md - - CLI Reference: reference/cli-reference.md - - Testing: reference/testing.md - - Development: reference/development.md - -markdown_extensions: - - toc: - permalink: true - - admonition - - codehilite: - guess_lang: false - - def_list - - footnotes - - meta - - tables - - pymdownx.superfences - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.details - - pymdownx.tabbed: - alternate_style: true - -extra_css: - - assets/stylesheets/extra.css - -extra: - social: - - icon: fontawesome/brands/github - link: https://github.com/mylonics/struct-frame - - icon: fontawesome/solid/globe - link: https://mylonics.com - seo: - keywords: - - struct frame - - protocol buffer - - code generation - - serialization - - C code generator - - C++ code generator - - TypeScript code generator - - Python code generator - - GraphQL code generator - - embedded systems - - message framing - - cross-platform communication - -plugins: - - search: - lang: en - separator: '[\s\-\.]+' From 1b647cfe203b92ca5208633238e9559050e2d6e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:44:53 +0000 Subject: [PATCH 3/3] Fix stale submodule entry and add K2D font title styling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove docs/theme_overrides gitlink (no .gitmodules entry → CI failure) - Add K2D 400-weight font with mylonics gray for site title and hero h1 Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- docs/src/styles/custom.css | 20 ++++++++++++++++++++ docs/theme_overrides | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) delete mode 160000 docs/theme_overrides diff --git a/docs/src/styles/custom.css b/docs/src/styles/custom.css index 7dc43346..ee4e692a 100644 --- a/docs/src/styles/custom.css +++ b/docs/src/styles/custom.css @@ -4,3 +4,23 @@ * * Add any Struct Frame–specific adjustments here. */ + +/* ── K2D font for Struct Frame branding ──────────────────────────────── */ +@import url('https://fonts.googleapis.com/css2?family=K2D:wght@400&display=swap'); + +/* Mylonics gray — adapts for dark/light theme */ +:root { + --ml-brand-gray: #adb5bd; /* ml-gray-400 — visible on dark backgrounds */ +} + +:root[data-theme='light'] { + --ml-brand-gray: #555555; /* ml-gray-600 — visible on light backgrounds */ +} + +/* Struct Frame brand text — K2D 400-weight with Mylonics gray */ +.site-title span, +.hero h1 { + font-family: 'K2D', sans-serif; + font-weight: 400; + color: var(--ml-brand-gray); +} diff --git a/docs/theme_overrides b/docs/theme_overrides deleted file mode 160000 index 120b09a8..00000000 --- a/docs/theme_overrides +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 120b09a89cb33dfd86114d012f446ba779b42065