From d48ca653d0f1cd66c54fb644ba19469b74f097ee Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Mon, 15 Jun 2026 13:52:25 +0800 Subject: [PATCH 1/4] feat(rspress-generate-docs): add skill for generating and maintaining Rspress v2 docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add SKILL.md with workflow for creating new docs, maintaining docs for PRs, and migrating Rspress v1 to v2. - Add reference docs covering project scaffolding (including getting-started link, templates, Node version, and Rslib integration), PR-driven updates, v1→v2 migration, and doc structure conventions with _nav.json/_meta.json. - Add evals/evals.json with test prompts for the three workflows. - Register the skill in README.md. --- README.md | 8 ++ skills/rspress-generate-docs/SKILL.md | 34 ++++++ skills/rspress-generate-docs/evals/evals.json | 48 ++++++++ .../references/create-new-docs.md | 64 ++++++++++ .../references/doc-structure-conventions.md | 113 ++++++++++++++++++ .../references/maintain-docs-for-prs.md | 26 ++++ .../references/migrate-rspress-v1.md | 9 ++ 7 files changed, 302 insertions(+) create mode 100644 skills/rspress-generate-docs/SKILL.md create mode 100644 skills/rspress-generate-docs/evals/evals.json create mode 100644 skills/rspress-generate-docs/references/create-new-docs.md create mode 100644 skills/rspress-generate-docs/references/doc-structure-conventions.md create mode 100644 skills/rspress-generate-docs/references/maintain-docs-for-prs.md create mode 100644 skills/rspress-generate-docs/references/migrate-rspress-v1.md diff --git a/README.md b/README.md index 27fafac..9dffa29 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,14 @@ description: A concise summary of the page content for SEO and AI consumption. # Page Title ``` +### rspress-generate-docs + +```bash +npx skills add rstackjs/agent-skills --skill rspress-generate-docs +``` + +Generate or maintain Rspress documentation for a project. Use when creating a new Rspress v2 docs site from an undocumented project, adding docs for user-facing feature PRs, or migrating an existing Rspress v1 docs site before continuing documentation work. + ## Rsdoctor Skills ### rsdoctor-analysis diff --git a/skills/rspress-generate-docs/SKILL.md b/skills/rspress-generate-docs/SKILL.md new file mode 100644 index 0000000..111e65b --- /dev/null +++ b/skills/rspress-generate-docs/SKILL.md @@ -0,0 +1,34 @@ +--- +name: rspress-generate-docs +description: Generate or maintain Rspress documentation for a project. Use whenever the user wants to create a new docs site from a project that has no documentation, automatically add docs for user-facing feature work or PRs, or migrate an existing Rspress v1 docs site to v2. Also use when the project uses Rslib and needs documentation integration. +--- + +# Rspress Generate Docs + +Create and maintain Rspress documentation as part of normal project work. Prefer source-backed docs over generic prose: read the code, tests, examples, package metadata, and existing README before writing. + +## Workflow + +1. **Inspect the project** + - Locate package files, source entry points, examples, tests, changelogs, and README files. + - Search for Rspress config files: `rspress.config.ts`, `.js`, `.mjs`, or `.cjs`. + - Inspect dependencies for `rspress`, `@rspress/core`, and `@rspress/plugin-*`. + - Detect the package manager and workspace setup from lockfiles (`pnpm-lock.yaml`, `yarn.lock`, `package-lock.json`, `bun.lockb`) and `pnpm-workspace.yaml`. + - If a config exists, resolve the docs root from its `root` option; otherwise check common roots such as `docs/`, `doc/`, `website/`, and `site/`. + +2. **Choose the correct path** + - If no Rspress docs site exists, follow [Create New Docs](references/create-new-docs.md). + - If a Rspress docs site exists and is v1, follow [Migrate Rspress v1](references/migrate-rspress-v1.md). + - If a Rspress v2 docs site exists, follow [Maintain Docs For PRs](references/maintain-docs-for-prs.md). + +3. **Validate before finishing** + - Run the docs build from the Rspress project directory or through the repo's root script. + - The build must pass as the primary success criterion. + - Fix broken links, missing navigation entries, invalid frontmatter, and failed MDX imports before reporting completion. + +## Reference + +- [Documentation structure conventions](references/doc-structure-conventions.md) — how `_nav.json` and `_meta.json` work, with concrete examples for Guide/API sites, grouped sections, and i18n layouts. +- [Create New Docs](references/create-new-docs.md) — scaffold a Rspress v2 docs site from an undocumented project. +- [Maintain Docs For PRs](references/maintain-docs-for-prs.md) — update an existing Rspress v2 docs site for feature work. +- [Migrate Rspress v1](references/migrate-rspress-v1.md) — migrate an existing Rspress v1 docs site to v2. diff --git a/skills/rspress-generate-docs/evals/evals.json b/skills/rspress-generate-docs/evals/evals.json new file mode 100644 index 0000000..f783fcc --- /dev/null +++ b/skills/rspress-generate-docs/evals/evals.json @@ -0,0 +1,48 @@ +{ + "skill_name": "rspress-generate-docs", + "fixture_root": "/Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures", + "evals": [ + { + "id": 1, + "eval_name": "create-new-docs", + "fixture": "create-new-docs", + "prompt": "This repository is a small TypeScript utility package called `string-kit` with no documentation site. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/create-new-docs. The package exports `camelCase`, `kebabCase`, and `snakeCase` from `src/case.ts`, plus `truncate` and `ellipsis` from `src/truncate.ts`. The README explains basic usage and the package.json has a `test` script using vitest. Create a new Rspress v2 documentation site for this project. Choose an appropriate docs directory, scaffold with the correct package manager, write source-backed pages, configure navigation, and ensure the docs build passes.", + "expected_output": "A Rspress v2 docs site is scaffolded under a sensible directory (e.g. website/ or docs/), with real pages derived from the source, correct navigation, and a passing docs build. No placeholder starter content remains.", + "files": [], + "assertions": [ + "The docs site uses Rspress v2 (package.json contains @rspress/core ^2.x or rspress ^2.x, not v1)", + "A docs directory exists (e.g. website/docs/ or docs/) with an index/home page", + "Navigation files (_nav.json or _meta.json) are present and valid JSON", + "The generated docs mention the project's utilities (camelCase, kebabCase, snakeCase, truncate, ellipsis)", + "The docs build command exits with code 0" + ] + }, + { + "id": 2, + "eval_name": "maintain-docs-for-pr", + "fixture": "maintain-docs-pr", + "prompt": "This repository already has a Rspress v2 docs site under `website/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/maintain-docs-pr. A feature branch has been checked out that adds a new exported function `formatBytes(bytes: number, opts?: { decimals?: number }): string` in `src/formatBytes.ts`, along with tests. The PR title is 'feat: add formatBytes utility'. Update the Rspress documentation to cover this new feature, following the existing docs conventions. The docs build must still pass.", + "expected_output": "The docs site is updated with a new or existing page that documents formatBytes, including a usage example and type signature. Navigation is updated if needed and the docs build passes.", + "files": [], + "assertions": [ + "formatBytes is documented in at least one docs page", + "The formatBytes documentation includes a usage example", + "If a new page was added, navigation (_meta.json or _nav.json) is updated to include it", + "The docs build command exits with code 0" + ] + }, + { + "id": 3, + "eval_name": "migrate-rspress-v1", + "fixture": "migrate-rspress-v1", + "prompt": "This repository has an existing Rspress v1 documentation site under `site/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/migrate-rspress-v1. The site uses `@rspress/core` v1 and has a minimal config and docs. Migrate the site to Rspress v2 by following the official migration guide, update dependencies and config, and ensure the docs build passes on v2.", + "expected_output": "The docs site depends on Rspress v2 packages, the config and imports follow v2 conventions, and `rspress build` succeeds.", + "files": [], + "assertions": [ + "The docs site depends on Rspress v2 (package.json contains @rspress/core ^2.x or rspress ^2.x, not v1)", + "The rspress.config.ts imports and API usage follow v2 conventions", + "The docs build command exits with code 0" + ] + } + ] +} diff --git a/skills/rspress-generate-docs/references/create-new-docs.md b/skills/rspress-generate-docs/references/create-new-docs.md new file mode 100644 index 0000000..9199f23 --- /dev/null +++ b/skills/rspress-generate-docs/references/create-new-docs.md @@ -0,0 +1,64 @@ +# Create New Docs + +Use this path when the current project has no existing Rspress documentation site. + +1. **Understand the project from source** + - Read the root `README.md` and main `package.json`. + - Identify the project type: library, CLI tool, application, plugin, monorepo package, etc. + - Read public source entry points, exported types, examples, and representative tests to understand the user-facing surface. + - Determine the target audience and what to document: getting started, configuration, API reference, CLI commands, examples, migration notes, or plugin usage. + +2. **Choose the docs site location** + - If the repository already has a conventional docs directory (`docs/`, `doc/`, `website/`, `site/`), prefer reusing it. + - Otherwise, propose a short list of options to the user, such as `website/`, `docs/`, or `site/`, and ask which to use. + - For monorepos, place the docs site so it can reference workspace packages without crossing too many directory boundaries. + +3. **Scaffold Rspress v2** + - See the official getting-started guide for the latest creation steps: + - + - Check the create package major before running the scaffold: + + ```bash + npm view create-rspress@latest version + ``` + + - If the version is `2.x`, scaffold with the package manager used by the repo: + + ```bash + # interactive (recommended for first-time setup) + npm create rspress@latest + + # or non-interactive, e.g. for CI/automation + npx -y create-rspress@latest my-docs --template basic-theme --tools rslint,prettier + ``` + + - If `latest` is not `2.x`, do not use a v1 scaffold. Use a current 2.x create package instead, such as `npm create rspress@2`, or pin a known 2.x version. + - Prefer the detected package manager for installs and scripts (`pnpm create rspress@latest`, `yarn create rspress@latest`, `bun create rspress@latest`, etc.). + - Pick a template that matches the project: + - `basic` — minimal site with the default theme. + - `basic-theme` — adds a `theme/` folder for customization. + - `i18n` — multilingual English/Chinese setup. + - `i18n-theme` — multilingual setup with a theme folder. + - If the project uses Rslib, follow the Rslib + Rspress integration guide instead of the generic scaffold: + - + +4. **After scaffolding** + - Install dependencies and verify the dev server starts: + + ```bash + cd + npm install + npm run dev + ``` + + - Rspress requires Node.js `^20.19.0 || >=22.12.0`. If the repo's Node version is older, surface this to the user before proceeding. + - Default build output goes to `doc_build/`. Keep it out of source control unless the repository already commits it. + +5. **Replace starter content** + - Remove placeholder pages that do not describe the project. + - Write source-backed pages from the project README, package exports, public types, examples, and tests. + - Add `title` and `description` frontmatter to each page. + - Configure navigation with `_nav.json` (top navbar) and `_meta.json` (sidebar) where the generated structure needs explicit labels or order. See [doc-structure-conventions.md](doc-structure-conventions.md) for examples. + +6. **Wire project commands** + - Add or reuse scripts for docs development and build, such as `docs:dev` and `docs:build`, following the repo's package manager and workspace conventions. diff --git a/skills/rspress-generate-docs/references/doc-structure-conventions.md b/skills/rspress-generate-docs/references/doc-structure-conventions.md new file mode 100644 index 0000000..176a924 --- /dev/null +++ b/skills/rspress-generate-docs/references/doc-structure-conventions.md @@ -0,0 +1,113 @@ +# Documentation structure conventions + +Rspress generates navigation automatically when `rspress.config.ts` does not define `nav` or `sidebar`. Control the result with `_nav.json` (top navbar) and `_meta.json` (sidebar). + +- Place `_nav.json` at the docs root (or at the i18n language root such as `docs/en/`). +- Place `_meta.json` inside each subdirectory that needs explicit sidebar labels, order, or grouping. +- For clickable directories, add an `index.mdx` (or `index.md`) inside the directory. +- In leaf directories with only files, `_meta.json` can be omitted; Rspress sorts alphabetically. Prefix filenames with numbers such as `1-introduction.mdx` to customize order. + +## Example 1: simple Guide + API site + +```text +docs/ +├── _nav.json +├── guide/ +│ ├── _meta.json +│ ├── index.mdx +│ ├── getting-started.mdx +│ └── configuration.mdx +└── api/ + ├── _meta.json +│ ├── index.mdx + └── commands.mdx +``` + +`docs/_nav.json`: + +```json +[ + { "text": "Guide", "link": "/guide/", "activeMatch": "/guide/" }, + { "text": "API", "link": "/api/", "activeMatch": "/api/" } +] +``` + +`docs/guide/_meta.json`: + +```json +[ + { "type": "file", "name": "index", "label": "Overview" }, + "getting-started", + "configuration" +] +``` + +`docs/api/_meta.json`: + +```json +[{ "type": "file", "name": "index", "label": "Overview" }, "commands"] +``` + +## Example 2: site with grouped sections + +A larger site can use `dir-section-header` to group related directories in the sidebar. + +```text +docs/ +├── _nav.json +├── guide/ +│ ├── _meta.json +│ ├── start/ +│ │ ├── index.mdx +│ │ ├── introduction.mdx +│ │ └── getting-started.mdx +│ ├── basic/ +│ │ ├── index.mdx +│ │ └── auto-nav-sidebar.mdx +│ └── advanced/ +│ └── custom-theme.mdx +└── api/ + ├── _meta.json + ├── index.mdx + └── config/ + ├── _meta.json + ├── index.mdx + └── build.mdx +``` + +`docs/guide/_meta.json`: + +```json +[ + { "type": "dir-section-header", "name": "start", "label": "Getting Started" }, + { "type": "dir-section-header", "name": "basic", "label": "Features" }, + { "type": "dir-section-header", "name": "advanced", "label": "Advanced" } +] +``` + +`docs/api/_meta.json`: + +```json +[ + { "type": "section-header", "label": "Overview" }, + { "type": "file", "name": "index", "label": "API Overview" }, + { "type": "section-header", "label": "Config" }, + { "type": "dir", "name": "config", "label": "Config Options" } +] +``` + +## Example 3: i18n layout + +For multilingual sites, place `_nav.json` inside each language root and keep the same directory shape across locales. + +```text +docs/ +├── en/ +│ ├── _nav.json +│ ├── guide/ +│ └── api/ +└── zh/ + ├── _nav.json + ├── guide/ + └── api/ +``` diff --git a/skills/rspress-generate-docs/references/maintain-docs-for-prs.md b/skills/rspress-generate-docs/references/maintain-docs-for-prs.md new file mode 100644 index 0000000..a65e8cc --- /dev/null +++ b/skills/rspress-generate-docs/references/maintain-docs-for-prs.md @@ -0,0 +1,26 @@ +# Maintain Docs For PRs + +Use this path when a Rspress v2 docs site already exists. + +1. **Connect docs work to the change** + - If a PR already exists, read its title, description, linked issues, and the full PR diff. + - If no PR exists yet, inspect the current branch diff against the base branch using `git merge-base` and `git diff`. + - Identify user-facing changes: new APIs, config options, CLI flags, plugins, behavior changes, migration notes, deprecations, examples, or breaking changes. + - Use the PR title or conventional commit category as one signal, but also exercise independent judgment about whether the change affects users. + - If the change has no user-facing impact, report that no docs update is needed and explain why. + +2. **Update the right pages** + - Modify existing pages before adding new pages when the change belongs in an established guide or API reference. + - Add new pages only for new workflows or concepts that need their own navigation entry. + - Keep examples minimal, runnable, and version-accurate. + - Add or update `description` frontmatter for every touched or created doc page. + - Update `_meta.json` whenever a new page should appear in sidebar or navigation. See [doc-structure-conventions.md](doc-structure-conventions.md) for examples. + +3. **Respect existing docs conventions** + - Match the site's language, tone, directory structure, i18n layout, frontmatter style, and MDX component patterns. + - For i18n sites, update all required locales or explicitly note which locale remains pending. + - Prefer first-class Rspress options and documented theme APIs over custom workarounds. + +4. **Validate the documentation** + - Run the docs build from the Rspress project directory or through the repo's root script. + - If docs build is expensive or unavailable, at least validate changed Markdown/MDX structure, links, imports, navigation files, and frontmatter. diff --git a/skills/rspress-generate-docs/references/migrate-rspress-v1.md b/skills/rspress-generate-docs/references/migrate-rspress-v1.md new file mode 100644 index 0000000..56db465 --- /dev/null +++ b/skills/rspress-generate-docs/references/migrate-rspress-v1.md @@ -0,0 +1,9 @@ +# Migrate Rspress v1 + +Use this path when a docs site exists but depends on Rspress v1 packages or imports. + +1. Follow the official migration guide: + - +2. Apply the changes the guide requires: package versions, config file, imports, theme code, plugin usage, and scripts. +3. Keep iterating until the docs site builds successfully on Rspress v2. +4. Only after the migration build passes, continue with [Maintain Docs For PRs](maintain-docs-for-prs.md) if the current task also includes feature documentation. From 130cb0a1deb6f93a621bba97216a3205c87bca77 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Mon, 15 Jun 2026 14:50:32 +0800 Subject: [PATCH 2/4] refactor: rename rspress-generate-docs to rspress-docs-generator - Rename skill directory and update SKILL.md frontmatter/title. - Update README.md skill list and move rspress-docs-generator to the top of the Rspress Skills section. - Update evals/evals.json skill_name and fixture_root paths. - Rename local workspace directory for consistency. --- skills/{rspress-generate-docs => rspress-docs-generator}/SKILL.md | 0 .../evals/evals.json | 0 .../references/create-new-docs.md | 0 .../references/doc-structure-conventions.md | 0 .../references/maintain-docs-for-prs.md | 0 .../references/migrate-rspress-v1.md | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename skills/{rspress-generate-docs => rspress-docs-generator}/SKILL.md (100%) rename skills/{rspress-generate-docs => rspress-docs-generator}/evals/evals.json (100%) rename skills/{rspress-generate-docs => rspress-docs-generator}/references/create-new-docs.md (100%) rename skills/{rspress-generate-docs => rspress-docs-generator}/references/doc-structure-conventions.md (100%) rename skills/{rspress-generate-docs => rspress-docs-generator}/references/maintain-docs-for-prs.md (100%) rename skills/{rspress-generate-docs => rspress-docs-generator}/references/migrate-rspress-v1.md (100%) diff --git a/skills/rspress-generate-docs/SKILL.md b/skills/rspress-docs-generator/SKILL.md similarity index 100% rename from skills/rspress-generate-docs/SKILL.md rename to skills/rspress-docs-generator/SKILL.md diff --git a/skills/rspress-generate-docs/evals/evals.json b/skills/rspress-docs-generator/evals/evals.json similarity index 100% rename from skills/rspress-generate-docs/evals/evals.json rename to skills/rspress-docs-generator/evals/evals.json diff --git a/skills/rspress-generate-docs/references/create-new-docs.md b/skills/rspress-docs-generator/references/create-new-docs.md similarity index 100% rename from skills/rspress-generate-docs/references/create-new-docs.md rename to skills/rspress-docs-generator/references/create-new-docs.md diff --git a/skills/rspress-generate-docs/references/doc-structure-conventions.md b/skills/rspress-docs-generator/references/doc-structure-conventions.md similarity index 100% rename from skills/rspress-generate-docs/references/doc-structure-conventions.md rename to skills/rspress-docs-generator/references/doc-structure-conventions.md diff --git a/skills/rspress-generate-docs/references/maintain-docs-for-prs.md b/skills/rspress-docs-generator/references/maintain-docs-for-prs.md similarity index 100% rename from skills/rspress-generate-docs/references/maintain-docs-for-prs.md rename to skills/rspress-docs-generator/references/maintain-docs-for-prs.md diff --git a/skills/rspress-generate-docs/references/migrate-rspress-v1.md b/skills/rspress-docs-generator/references/migrate-rspress-v1.md similarity index 100% rename from skills/rspress-generate-docs/references/migrate-rspress-v1.md rename to skills/rspress-docs-generator/references/migrate-rspress-v1.md From 92b02d00846fa0c1184db3cbb27d02202f1d2c37 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Mon, 15 Jun 2026 19:04:56 +0800 Subject: [PATCH 3/4] chore: update --- README.md | 16 +- .../rspress-docs-generator/evals/evals.json | 10 +- skills-test/rspress-docs-generator/report.md | 49 + .../aggregate.py | 103 + .../fixtures/create-new-docs/README.md | 29 + .../fixtures/create-new-docs/package.json | 22 + .../fixtures/create-new-docs/src/case.ts | 31 + .../fixtures/create-new-docs/src/index.ts | 2 + .../fixtures/create-new-docs/src/truncate.ts | 18 + .../create-new-docs/test/case.test.ts | 20 + .../create-new-docs/test/truncate.test.ts | 22 + .../fixtures/create-new-docs/tsconfig.json | 14 + .../migrate-rspress-v1/site/docs/index.md | 14 + .../migrate-rspress-v1/site/package.json | 21 + .../migrate-rspress-v1/site/rspress.config.ts | 17 + .../migrate-rspress-v1/site/tsconfig.json | 10 + .../rspress-docs-generator-workspace/grade.py | 270 + .../iteration-1/benchmark.json | 96 + .../iteration-1/benchmark.md | 22 + .../create-new-docs/eval_metadata.json | 12 + .../create-new-docs/with_skill/grading.json | 30 + .../outputs/website/docs/api/index.md | 67 + .../website/docs/guide/getting-started.md | 42 + .../with_skill/outputs/website/docs/index.md | 25 + .../outputs/website/package-lock.json | 3326 ++++++++ .../with_skill/outputs/website/package.json | 21 + .../outputs/website/rspress.config.ts | 30 + .../create-new-docs/with_skill/summary.txt | 18 + .../create-new-docs/with_skill/timing.json | 5 + .../with_skill/workspace/README.md | 29 + .../with_skill/workspace/package.json | 22 + .../with_skill/workspace/src/case.ts | 31 + .../with_skill/workspace/src/index.ts | 2 + .../with_skill/workspace/src/truncate.ts | 18 + .../with_skill/workspace/test/case.test.ts | 20 + .../workspace/test/truncate.test.ts | 22 + .../with_skill/workspace/tsconfig.json | 14 + .../workspace/website/docs/api/index.md | 67 + .../website/docs/guide/getting-started.md | 42 + .../workspace/website/docs/index.md | 25 + .../workspace/website/package-lock.json | 3326 ++++++++ .../with_skill/workspace/website/package.json | 21 + .../workspace/website/rspress.config.ts | 30 + .../without_skill/grading.json | 30 + .../without_skill/outputs/build/404.html | 15 + .../without_skill/outputs/build/api/case.html | 105 + .../outputs/build/api/index.html | 36 + .../outputs/build/api/truncate.html | 109 + .../outputs/build/guide/index.html | 33 + .../outputs/build/guide/installation.html | 27 + .../without_skill/outputs/build/index.html | 31 + .../outputs/build/rspress.config.html | 15 + .../build/static/css/styles.56b59350.css | 1 + .../outputs/build/static/js/134.0021c7aa.js | 6 + .../static/js/134.0021c7aa.js.LICENSE.txt | 21 + .../build/static/js/async/230.361cd3f2.js | 1 + .../build/static/js/async/34.6ed2f8a7.js | 1 + .../build/static/js/async/400.f162da9b.js | 1 + .../build/static/js/async/53.5e766471.js | 1 + .../build/static/js/async/582.8be85ff4.js | 1 + .../build/static/js/async/762.85f4d9cb.js | 1 + .../build/static/js/async/795.2e2ae0f6.js | 1 + .../outputs/build/static/js/index.65c8c919.js | 1 + .../build/static/js/lib-react.f0c91365.js | 2 + .../js/lib-react.f0c91365.js.LICENSE.txt | 39 + .../build/static/js/lib-router.278711f3.js | 2 + .../js/lib-router.278711f3.js.LICENSE.txt | 32 + .../build/static/js/styles.84041a74.js | 1 + .../build/static/search_index.cfab13fd.json | 1 + .../outputs/docs-project/api/case.md | 94 + .../outputs/docs-project/api/index.md | 12 + .../outputs/docs-project/api/truncate.md | 78 + .../outputs/docs-project/guide/index.md | 21 + .../docs-project/guide/installation.md | 35 + .../outputs/docs-project/index.md | 22 + .../outputs/docs-project/package-lock.json | 7137 +++++++++++++++++ .../outputs/docs-project/package.json | 13 + .../outputs/docs-project/rspress.config.ts | 37 + .../create-new-docs/without_skill/summary.txt | 27 + .../create-new-docs/without_skill/timing.json | 5 + .../without_skill/workspace/README.md | 29 + .../without_skill/workspace/docs/api/case.md | 94 + .../without_skill/workspace/docs/api/index.md | 12 + .../workspace/docs/api/truncate.md | 78 + .../workspace/docs/guide/index.md | 21 + .../workspace/docs/guide/installation.md | 35 + .../without_skill/workspace/docs/index.md | 22 + .../workspace/docs/package-lock.json | 7137 +++++++++++++++++ .../without_skill/workspace/docs/package.json | 13 + .../workspace/docs/rspress.config.ts | 37 + .../without_skill/workspace/package.json | 22 + .../without_skill/workspace/src/case.ts | 31 + .../without_skill/workspace/src/index.ts | 2 + .../without_skill/workspace/src/truncate.ts | 18 + .../without_skill/workspace/test/case.test.ts | 20 + .../workspace/test/truncate.test.ts | 22 + .../without_skill/workspace/tsconfig.json | 14 + .../maintain-docs-for-pr/eval_metadata.json | 11 + .../with_skill/grading.json | 25 + .../with_skill/outputs/docs/_nav.json | 12 + .../with_skill/outputs/docs/api/_meta.json | 1 + .../with_skill/outputs/docs/api/commands.mdx | 9 + .../outputs/docs/api/formatBytes.mdx | 39 + .../with_skill/outputs/docs/api/index.mdx | 11 + .../with_skill/outputs/docs/guide/_meta.json | 3 + .../outputs/docs/guide/getting-started.md | 29 + .../outputs/docs/guide/start/_meta.json | 1 + .../docs/guide/start/getting-started.md | 51 + .../outputs/docs/guide/start/introduction.md | 15 + .../outputs/docs/guide/use-mdx/_meta.json | 1 + .../docs/guide/use-mdx/code-blocks/_meta.json | 1 + .../docs/guide/use-mdx/code-blocks/index.mdx | 9 + .../docs/guide/use-mdx/code-blocks/meta.md | 7 + .../docs/guide/use-mdx/code-blocks/title.md | 5 + .../outputs/docs/guide/use-mdx/components.mdx | 47 + .../outputs/docs/guide/use-mdx/container.md | 33 + .../with_skill/outputs/docs/index.md | 20 + .../outputs/docs/public/rspress-dark-logo.png | Bin 0 -> 6296 bytes .../outputs/docs/public/rspress-icon.png | Bin 0 -> 102713 bytes .../docs/public/rspress-light-logo.png | Bin 0 -> 6379 bytes .../with_skill/summary.txt | 10 + .../with_skill/timing.json | 5 + .../without_skill/grading.json | 25 + .../without_skill/outputs/docs/_nav.json | 12 + .../without_skill/outputs/docs/api/_meta.json | 1 + .../outputs/docs/api/commands.mdx | 9 + .../outputs/docs/api/formatBytes.mdx | 37 + .../without_skill/outputs/docs/api/index.mdx | 11 + .../outputs/docs/guide/_meta.json | 3 + .../outputs/docs/guide/getting-started.md | 28 + .../outputs/docs/guide/start/_meta.json | 1 + .../docs/guide/start/getting-started.md | 51 + .../outputs/docs/guide/start/introduction.md | 15 + .../outputs/docs/guide/use-mdx/_meta.json | 1 + .../docs/guide/use-mdx/code-blocks/_meta.json | 1 + .../docs/guide/use-mdx/code-blocks/index.mdx | 9 + .../docs/guide/use-mdx/code-blocks/meta.md | 7 + .../docs/guide/use-mdx/code-blocks/title.md | 5 + .../outputs/docs/guide/use-mdx/components.mdx | 47 + .../outputs/docs/guide/use-mdx/container.md | 33 + .../without_skill/outputs/docs/index.md | 20 + .../outputs/docs/public/rspress-dark-logo.png | Bin 0 -> 6296 bytes .../outputs/docs/public/rspress-icon.png | Bin 0 -> 102713 bytes .../docs/public/rspress-light-logo.png | Bin 0 -> 6379 bytes .../without_skill/summary.txt | 17 + .../without_skill/timing.json | 5 + .../migrate-rspress-v1/eval_metadata.json | 10 + .../with_skill/grading.json | 20 + .../with_skill/outputs/site/docs/index.md | 14 + .../with_skill/outputs/site/package-lock.json | 3389 ++++++++ .../with_skill/outputs/site/package.json | 24 + .../with_skill/outputs/site/rspress.config.ts | 17 + .../with_skill/outputs/site/tsconfig.json | 10 + .../migrate-rspress-v1/with_skill/summary.txt | 36 + .../migrate-rspress-v1/with_skill/timing.json | 5 + .../with_skill/workspace/site/docs/index.md | 14 + .../workspace/site/package-lock.json | 3389 ++++++++ .../with_skill/workspace/site/package.json | 24 + .../workspace/site/rspress.config.ts | 17 + .../with_skill/workspace/site/tsconfig.json | 10 + .../without_skill/grading.json | 20 + .../without_skill/outputs/docs/index.md | 14 + .../without_skill/outputs/package-lock.json | 3314 ++++++++ .../without_skill/outputs/package.json | 19 + .../without_skill/outputs/rspress.config.ts | 17 + .../without_skill/outputs/tsconfig.json | 10 + .../without_skill/summary.txt | 37 + .../without_skill/timing.json | 5 + .../without_skill/workspace/docs/index.md | 14 + .../without_skill/workspace/package-lock.json | 3314 ++++++++ .../without_skill/workspace/package.json | 19 + .../without_skill/workspace/rspress.config.ts | 17 + .../without_skill/workspace/tsconfig.json | 10 + .../iteration-1/viewer.pid | 1 + skills/rspress-docs-generator/SKILL.md | 6 +- .../references/create-new-docs.md | 9 + .../references/doc-structure-conventions.md | 6 +- .../references/maintain-docs-for-prs.md | 5 + .../references/migrate-rspress-v1.md | 3 +- 179 files changed, 38117 insertions(+), 18 deletions(-) rename {skills => skills-test}/rspress-docs-generator/evals/evals.json (65%) create mode 100644 skills-test/rspress-docs-generator/report.md create mode 100644 skills/rspress-docs-generator-workspace/aggregate.py create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/README.md create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/package.json create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/case.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/index.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/truncate.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/case.test.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/truncate.test.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/create-new-docs/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/package.json create mode 100644 skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/grade.py create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/benchmark.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/benchmark.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/eval_metadata.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/api/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/guide/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/README.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/case.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/index.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/truncate.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/case.test.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/truncate.test.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/api/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/guide/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/404.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/case.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/index.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/truncate.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/index.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/installation.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/index.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/rspress.config.html create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/css/styles.56b59350.css create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js.LICENSE.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/230.361cd3f2.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/34.6ed2f8a7.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/400.f162da9b.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/53.5e766471.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/582.8be85ff4.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/762.85f4d9cb.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/795.2e2ae0f6.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/index.65c8c919.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/lib-react.f0c91365.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/lib-react.f0c91365.js.LICENSE.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/lib-router.278711f3.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/lib-router.278711f3.js.LICENSE.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/styles.84041a74.js create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/search_index.cfab13fd.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/api/case.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/api/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/api/truncate.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/guide/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/guide/installation.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/docs-project/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/README.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/api/case.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/api/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/api/truncate.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/guide/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/guide/installation.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/src/case.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/src/index.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/src/truncate.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/test/case.test.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/test/truncate.test.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/eval_metadata.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/_nav.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/api/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/api/commands.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/api/formatBytes.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/api/index.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/start/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/start/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/start/introduction.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/code-blocks/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/code-blocks/index.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/code-blocks/meta.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/code-blocks/title.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/components.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/guide/use-mdx/container.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/public/rspress-dark-logo.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/public/rspress-icon.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/outputs/docs/public/rspress-light-logo.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/_nav.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/api/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/api/commands.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/api/formatBytes.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/api/index.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/start/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/start/getting-started.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/start/introduction.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/code-blocks/_meta.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/code-blocks/index.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/code-blocks/meta.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/code-blocks/title.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/components.mdx create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/guide/use-mdx/container.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/public/rspress-dark-logo.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/public/rspress-icon.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/outputs/docs/public/rspress-light-logo.png create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/eval_metadata.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/outputs/site/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/outputs/site/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/outputs/site/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/outputs/site/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/outputs/site/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/workspace/site/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/workspace/site/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/workspace/site/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/workspace/site/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill/workspace/site/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/grading.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/outputs/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/outputs/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/outputs/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/outputs/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/outputs/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/summary.txt create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/timing.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/workspace/docs/index.md create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/workspace/package-lock.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/workspace/package.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/workspace/rspress.config.ts create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill/workspace/tsconfig.json create mode 100644 skills/rspress-docs-generator-workspace/iteration-1/viewer.pid diff --git a/README.md b/README.md index 9dffa29..1609b4f 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,14 @@ Migrate tsc or tsup library projects to Rslib. ## Rspress Skills +### rspress-docs-generator + +```bash +npx skills add rstackjs/agent-skills --skill rspress-docs-generator +``` + +Generate or maintain Rspress documentation for a project. Use when creating a new Rspress v2 docs site from an undocumented project, adding docs for user-facing feature PRs, or migrating an existing Rspress v1 docs site before continuing documentation work. + ### rspress-best-practices ```bash @@ -174,14 +182,6 @@ description: A concise summary of the page content for SEO and AI consumption. # Page Title ``` -### rspress-generate-docs - -```bash -npx skills add rstackjs/agent-skills --skill rspress-generate-docs -``` - -Generate or maintain Rspress documentation for a project. Use when creating a new Rspress v2 docs site from an undocumented project, adding docs for user-facing feature PRs, or migrating an existing Rspress v1 docs site before continuing documentation work. - ## Rsdoctor Skills ### rsdoctor-analysis diff --git a/skills/rspress-docs-generator/evals/evals.json b/skills-test/rspress-docs-generator/evals/evals.json similarity index 65% rename from skills/rspress-docs-generator/evals/evals.json rename to skills-test/rspress-docs-generator/evals/evals.json index f783fcc..e290b9a 100644 --- a/skills/rspress-docs-generator/evals/evals.json +++ b/skills-test/rspress-docs-generator/evals/evals.json @@ -1,12 +1,12 @@ { - "skill_name": "rspress-generate-docs", - "fixture_root": "/Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures", + "skill_name": "rspress-docs-generator", + "fixture_root": "/Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures", "evals": [ { "id": 1, "eval_name": "create-new-docs", "fixture": "create-new-docs", - "prompt": "This repository is a small TypeScript utility package called `string-kit` with no documentation site. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/create-new-docs. The package exports `camelCase`, `kebabCase`, and `snakeCase` from `src/case.ts`, plus `truncate` and `ellipsis` from `src/truncate.ts`. The README explains basic usage and the package.json has a `test` script using vitest. Create a new Rspress v2 documentation site for this project. Choose an appropriate docs directory, scaffold with the correct package manager, write source-backed pages, configure navigation, and ensure the docs build passes.", + "prompt": "This repository is a small TypeScript utility package called `string-kit` with no documentation site. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures/create-new-docs. The package exports `camelCase`, `kebabCase`, and `snakeCase` from `src/case.ts`, plus `truncate` and `ellipsis` from `src/truncate.ts`. The README explains basic usage and the package.json has a `test` script using vitest. Create a new Rspress v2 documentation site for this project. Choose an appropriate docs directory, scaffold with the correct package manager, write source-backed pages, configure navigation, and ensure the docs build passes.", "expected_output": "A Rspress v2 docs site is scaffolded under a sensible directory (e.g. website/ or docs/), with real pages derived from the source, correct navigation, and a passing docs build. No placeholder starter content remains.", "files": [], "assertions": [ @@ -21,7 +21,7 @@ "id": 2, "eval_name": "maintain-docs-for-pr", "fixture": "maintain-docs-pr", - "prompt": "This repository already has a Rspress v2 docs site under `website/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/maintain-docs-pr. A feature branch has been checked out that adds a new exported function `formatBytes(bytes: number, opts?: { decimals?: number }): string` in `src/formatBytes.ts`, along with tests. The PR title is 'feat: add formatBytes utility'. Update the Rspress documentation to cover this new feature, following the existing docs conventions. The docs build must still pass.", + "prompt": "This repository already has a Rspress v2 docs site under `website/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures/maintain-docs-pr. A feature branch has been checked out that adds a new exported function `formatBytes(bytes: number, opts?: { decimals?: number }): string` in `src/formatBytes.ts`, along with tests. The PR title is 'feat: add formatBytes utility'. Update the Rspress documentation to cover this new feature, following the existing docs conventions. The docs build must still pass.", "expected_output": "The docs site is updated with a new or existing page that documents formatBytes, including a usage example and type signature. Navigation is updated if needed and the docs build passes.", "files": [], "assertions": [ @@ -35,7 +35,7 @@ "id": 3, "eval_name": "migrate-rspress-v1", "fixture": "migrate-rspress-v1", - "prompt": "This repository has an existing Rspress v1 documentation site under `site/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-generate-docs-workspace/fixtures/migrate-rspress-v1. The site uses `@rspress/core` v1 and has a minimal config and docs. Migrate the site to Rspress v2 by following the official migration guide, update dependencies and config, and ensure the docs build passes on v2.", + "prompt": "This repository has an existing Rspress v1 documentation site under `site/`. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1. The site uses `@rspress/core` v1 and has a minimal config and docs. Migrate the site to Rspress v2 by following the official migration guide, update dependencies and config, and ensure the docs build passes on v2.", "expected_output": "The docs site depends on Rspress v2 packages, the config and imports follow v2 conventions, and `rspress build` succeeds.", "files": [], "assertions": [ diff --git a/skills-test/rspress-docs-generator/report.md b/skills-test/rspress-docs-generator/report.md new file mode 100644 index 0000000..6e02b43 --- /dev/null +++ b/skills-test/rspress-docs-generator/report.md @@ -0,0 +1,49 @@ +# rspress-docs-generator - evaluation report + +**Date:** 2026-06-15 +**Model:** Not recorded in the raw run artifacts; timing artifacts only captured tokens and duration. +**Skill version:** `skills/rspress-docs-generator/SKILL.md` at `feat/rspress-generate-docs-eval` HEAD (`4efd2b6`) +**Iteration:** `skills/rspress-docs-generator-workspace/iteration-1` + +## Setup + +- **Eval definitions:** `skills-test/rspress-docs-generator/evals/evals.json` +- **Fixtures:** `skills/rspress-docs-generator-workspace/fixtures` +- **Run shape:** 3 evals, one `with_skill` run and one `without_skill` baseline per eval. +- **Grader:** assertion-based post-hoc checks in each run directory's `grading.json`. +- **Aggregate artifacts:** `skills/rspress-docs-generator-workspace/iteration-1/benchmark.json` and `benchmark.md`. + +## Aggregate Results + +| Config | Assertion pass rate | Mean per-eval pass rate | Mean tokens | Mean time | +| ------------- | ------------------: | ----------------------: | ----------: | --------: | +| with_skill | 12/12 (100.0%) | 100.0% | 27.2k | 192.2s | +| without_skill | 11/12 (91.7%) | 93.3% | 25.2k | 589.1s | + +The skill improved assertion pass rate by 8.3 percentage points on this run and cut mean wall time by 396.8s. It used about 2.0k more tokens on average. + +## Per-Eval Breakdown + +| Eval | Config | Passed | Total | Rate | Tokens | Time | +| -------------------- | ------------- | -----: | ----: | ---: | -----: | ------: | +| create-new-docs | with_skill | 5 | 5 | 100% | 24.2k | 172.9s | +| create-new-docs | without_skill | 4 | 5 | 80% | 29.0k | 1338.4s | +| maintain-docs-for-pr | with_skill | 4 | 4 | 100% | 36.8k | 244.0s | +| maintain-docs-for-pr | without_skill | 4 | 4 | 100% | 29.5k | 325.1s | +| migrate-rspress-v1 | with_skill | 3 | 3 | 100% | 20.6k | 159.8s | +| migrate-rspress-v1 | without_skill | 3 | 3 | 100% | 16.9k | 103.7s | + +## Findings + +- **create-new-docs:** The skill-guided run passed all checks. The baseline produced working docs but used `rspress@^1.0.0`, so it failed the Rspress v2 dependency assertion. This is the only failed assertion in the benchmark. +- **maintain-docs-for-pr:** Both runs passed. The eval confirms the task is achievable without the skill, so future iterations may need stricter assertions around matching existing Rspress conventions if this case should differentiate skill value. +- **migrate-rspress-v1:** Both runs passed. The baseline was faster and used fewer tokens on this small fixture, but the skill-guided run also completed the v2 migration correctly. + +## Raw Artifacts + +- `skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill` +- `skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill` +- `skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/with_skill` +- `skills/rspress-docs-generator-workspace/iteration-1/maintain-docs-for-pr/without_skill` +- `skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/with_skill` +- `skills/rspress-docs-generator-workspace/iteration-1/migrate-rspress-v1/without_skill` diff --git a/skills/rspress-docs-generator-workspace/aggregate.py b/skills/rspress-docs-generator-workspace/aggregate.py new file mode 100644 index 0000000..7636d45 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/aggregate.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +"""Aggregate grading results and timing into benchmark.json and benchmark.md.""" + +import json +from pathlib import Path +from statistics import mean, stdev + + +def load_grading(path: Path): + data = json.loads(path.read_text()) + expectations = data.get("expectations", []) + passed = sum(1 for e in expectations if e.get("passed")) + total = len(expectations) + return {"run_id": data["run_id"], "passed": passed, "total": total, "rate": passed / total if total else 0} + + +def load_timing(path: Path): + data = json.loads(path.read_text()) + return { + "tokens": data.get("total_tokens", 0), + "duration_seconds": data.get("total_duration_seconds", data.get("duration_ms", 0) / 1000), + } + + +def main(): + iteration_dir = Path(__file__).parent / "iteration-1" + evals = ["create-new-docs", "maintain-docs-for-pr", "migrate-rspress-v1"] + configs = ["with_skill", "without_skill"] + + rows = [] + for eval_name in evals: + for config in configs: + run_dir = iteration_dir / eval_name / config + grading_path = run_dir / "grading.json" + timing_path = run_dir / "timing.json" + if not grading_path.exists() or not timing_path.exists(): + continue + grade = load_grading(grading_path) + timing = load_timing(timing_path) + rows.append({ + "eval": eval_name, + "config": config, + **grade, + **timing, + }) + + # Overall stats + def stats(values): + if not values: + return {"mean": 0, "std": 0} + if len(values) == 1: + return {"mean": values[0], "std": 0} + return {"mean": mean(values), "std": stdev(values)} + + with_skill_rows = [r for r in rows if r["config"] == "with_skill"] + without_skill_rows = [r for r in rows if r["config"] == "without_skill"] + + benchmark = { + "skill_name": "rspress-docs-generator", + "iteration": 1, + "runs": rows, + "summary": { + "with_skill": { + "pass_rate": stats([r["rate"] for r in with_skill_rows]), + "duration_seconds": stats([r["duration_seconds"] for r in with_skill_rows]), + "tokens": stats([r["tokens"] for r in with_skill_rows]), + }, + "without_skill": { + "pass_rate": stats([r["rate"] for r in without_skill_rows]), + "duration_seconds": stats([r["duration_seconds"] for r in without_skill_rows]), + "tokens": stats([r["tokens"] for r in without_skill_rows]), + }, + }, + } + + out_json = iteration_dir / "benchmark.json" + out_json.write_text(json.dumps(benchmark, indent=2)) + + # Markdown report + lines = ["# Benchmark Report\n", "## Per-run results\n"] + lines.append("| Eval | Config | Passed | Total | Rate | Tokens | Duration (s) |\n") + lines.append("|------|--------|--------|-------|------|--------|-------------|\n") + for r in rows: + lines.append( + f"| {r['eval']} | {r['config']} | {r['passed']} | {r['total']} | " + f"{r['rate']:.0%} | {r['tokens']} | {r['duration_seconds']:.1f} |\n" + ) + + lines.append("\n## Summary\n") + for config in ("with_skill", "without_skill"): + s = benchmark["summary"][config] + lines.append(f"\n### {config}\n") + lines.append(f"- Pass rate: {s['pass_rate']['mean']:.1%} (std: {s['pass_rate']['std']:.1%})\n") + lines.append(f"- Duration: {s['duration_seconds']['mean']:.1f}s (std: {s['duration_seconds']['std']:.1f}s)\n") + lines.append(f"- Tokens: {s['tokens']['mean']:.0f} (std: {s['tokens']['std']:.0f})\n") + + out_md = iteration_dir / "benchmark.md" + out_md.write_text("".join(lines)) + print(f"Wrote {out_json} and {out_md}") + + +if __name__ == "__main__": + main() diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/README.md b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/README.md new file mode 100644 index 0000000..fbf6184 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/README.md @@ -0,0 +1,29 @@ +# string-kit + +A small collection of string utilities for everyday use. + +## Installation + +```bash +npm install string-kit +``` + +## Usage + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` + +## API + +- `camelCase(input: string): string` +- `kebabCase(input: string): string` +- `snakeCase(input: string): string` +- `truncate(input: string, maxLength: number): string` +- `ellipsis(input: string, maxLength: number): string` diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/package.json b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/package.json new file mode 100644 index 0000000..039845e --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/package.json @@ -0,0 +1,22 @@ +{ + "name": "string-kit", + "version": "1.0.0", + "description": "A small collection of string utilities", + "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "scripts": { + "build": "tsc", + "test": "vitest run" + }, + "devDependencies": { + "typescript": "^5.0.0", + "vitest": "^1.0.0" + } +} diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/case.ts b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/case.ts new file mode 100644 index 0000000..2f8d205 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/case.ts @@ -0,0 +1,31 @@ +/** + * Converts a string to camelCase. + * @example camelCase('hello world') // 'helloWorld' + */ +export function camelCase(input: string): string { + return input + .replace(/[-_\s]+(.)?/g, (_, char) => (char ? char.toUpperCase() : '')) + .replace(/^(.)/, (_, char) => char.toLowerCase()); +} + +/** + * Converts a string to kebab-case. + * @example kebabCase('hello world') // 'hello-world' + */ +export function kebabCase(input: string): string { + return input + .replace(/([a-z])([A-Z])/g, '$1-$2') + .replace(/[\s_]+/g, '-') + .toLowerCase(); +} + +/** + * Converts a string to snake_case. + * @example snakeCase('hello world') // 'hello_world' + */ +export function snakeCase(input: string): string { + return input + .replace(/([a-z])([A-Z])/g, '$1_$2') + .replace(/[\s-]+/g, '_') + .toLowerCase(); +} diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/index.ts b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/index.ts new file mode 100644 index 0000000..36b88b6 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/index.ts @@ -0,0 +1,2 @@ +export { camelCase, kebabCase, snakeCase } from './case.js'; +export { truncate, ellipsis } from './truncate.js'; diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/truncate.ts b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/truncate.ts new file mode 100644 index 0000000..059be4b --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/src/truncate.ts @@ -0,0 +1,18 @@ +/** + * Truncates a string to a maximum length, appending an ellipsis if truncated. + * @example truncate('hello world', 5) // 'hello...' + */ +export function truncate(input: string, maxLength: number): string { + if (input.length <= maxLength) return input; + return input.slice(0, maxLength) + '...'; +} + +/** + * Truncates a string and always appends an ellipsis if it exceeds maxLength. + * Reserves three characters for the ellipsis. + * @example ellipsis('hello world', 8) // 'hello...' + */ +export function ellipsis(input: string, maxLength: number): string { + if (input.length <= maxLength) return input; + return input.slice(0, Math.max(0, maxLength - 3)) + '...'; +} diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/case.test.ts b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/case.test.ts new file mode 100644 index 0000000..58c66ab --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/case.test.ts @@ -0,0 +1,20 @@ +import { describe, it, expect } from 'vitest'; +import { camelCase, kebabCase, snakeCase } from '../src/case.js'; + +describe('case converters', () => { + it('camelCase', () => { + expect(camelCase('hello world')).toBe('helloWorld'); + expect(camelCase('hello-world')).toBe('helloWorld'); + expect(camelCase('hello_world')).toBe('helloWorld'); + }); + + it('kebabCase', () => { + expect(kebabCase('hello world')).toBe('hello-world'); + expect(kebabCase('helloWorld')).toBe('hello-world'); + }); + + it('snakeCase', () => { + expect(snakeCase('hello world')).toBe('hello_world'); + expect(snakeCase('helloWorld')).toBe('hello_world'); + }); +}); diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/truncate.test.ts b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/truncate.test.ts new file mode 100644 index 0000000..a643eaa --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/test/truncate.test.ts @@ -0,0 +1,22 @@ +import { describe, it, expect } from 'vitest'; +import { truncate, ellipsis } from '../src/truncate.js'; + +describe('truncate', () => { + it('does not modify short strings', () => { + expect(truncate('hi', 10)).toBe('hi'); + }); + + it('truncates long strings with ellipsis', () => { + expect(truncate('hello world', 5)).toBe('hello...'); + }); +}); + +describe('ellipsis', () => { + it('does not modify short strings', () => { + expect(ellipsis('hi', 10)).toBe('hi'); + }); + + it('always appends ellipsis when truncated', () => { + expect(ellipsis('hello world', 8)).toBe('hello...'); + }); +}); diff --git a/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/tsconfig.json b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/tsconfig.json new file mode 100644 index 0000000..2cd9400 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/create-new-docs/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "declaration": true, + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "include": ["src/**/*"] +} diff --git a/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/docs/index.md b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/docs/index.md new file mode 100644 index 0000000..9c8eb3b --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/docs/index.md @@ -0,0 +1,14 @@ +--- +title: My V1 Site +--- + +# My V1 Site + +This documentation site is built with Rspress v1. + +## Getting Started + +```bash +npm install +npm run dev +``` diff --git a/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/package.json b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/package.json new file mode 100644 index 0000000..cb458be --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/package.json @@ -0,0 +1,21 @@ +{ + "name": "migrate-rspress-v1-site", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "rspress build", + "dev": "rspress dev", + "preview": "rspress preview" + }, + "dependencies": { + "@rspress/core": "^1.47.2" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } +} diff --git a/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/rspress.config.ts b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/rspress.config.ts new file mode 100644 index 0000000..503c008 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/rspress.config.ts @@ -0,0 +1,17 @@ +import * as path from 'node:path'; +import { defineConfig } from '@rspress/core'; + +export default defineConfig({ + root: path.join(__dirname, 'docs'), + lang: 'en', + title: 'My V1 Site', + themeConfig: { + socialLinks: [ + { + icon: 'github', + mode: 'link', + content: 'https://github.com/example/my-v1-site', + }, + ], + }, +}); diff --git a/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/tsconfig.json b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/tsconfig.json new file mode 100644 index 0000000..6b202c5 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/fixtures/migrate-rspress-v1/site/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + } +} diff --git a/skills/rspress-docs-generator-workspace/grade.py b/skills/rspress-docs-generator-workspace/grade.py new file mode 100644 index 0000000..ef8ea1c --- /dev/null +++ b/skills/rspress-docs-generator-workspace/grade.py @@ -0,0 +1,270 @@ +#!/usr/bin/env python3 +"""Grade rspress-docs-generator eval runs.""" + +import json +import os +import re +import sys +from pathlib import Path +from typing import Optional + + +def find_package_json(workspace: Path) -> Optional[Path]: + """Find the docs site's package.json (website/docs or docs subdir, or root).""" + candidates = [ + workspace / "website" / "package.json", + workspace / "docs" / "package.json", + workspace / "site" / "package.json", + workspace / "package.json", + ] + for c in candidates: + if c.exists(): + return c + return None + + +def find_docs_root(workspace: Path) -> Optional[Path]: + """Find the directory containing markdown/mdx doc files.""" + candidates = [ + workspace / "website" / "docs", + workspace / "docs", + workspace / "site" / "docs", + ] + for c in candidates: + if c.exists() and c.is_dir(): + return c + return None + + +def read_text_files(directory: Path) -> str: + text = [] + for p in directory.rglob("*"): + if p.is_file() and p.suffix in {".md", ".mdx", ".ts", ".js", ".json"}: + try: + text.append(p.read_text(encoding="utf-8")) + except Exception: + pass + return "\n".join(text) + + +def check_rspress_v2(package_json: Path) -> tuple[bool, str]: + data = json.loads(package_json.read_text()) + deps = {**data.get("dependencies", {}), **data.get("devDependencies", {})} + core_ver = deps.get("@rspress/core", "") + rspress_ver = deps.get("rspress", "") + + for ver in (core_ver, rspress_ver): + if ver.startswith("2") or (ver.startswith("^") and ver[1:].startswith("2")): + return True, f"Found Rspress v2: @rspress/core={core_ver}, rspress={rspress_ver}" + + for ver in (core_ver, rspress_ver): + if ver.startswith("1") or (ver.startswith("^") and ver[1:].startswith("1")): + return False, f"Still on Rspress v1: @rspress/core={core_ver}, rspress={rspress_ver}" + + return False, f"No recognized Rspress version: @rspress/core={core_ver}, rspress={rspress_ver}" + + +def check_build_passed(workspace: Path) -> tuple[bool, str]: + run_dir = workspace.parent + build_log = run_dir / "outputs" / "build.log" + summary = run_dir / "summary.txt" + + # Prefer explicit build log + if build_log.exists(): + content = build_log.read_text() + if "error" in content.lower() and "exit code 0" not in content.lower(): + return False, "build.log contains errors" + if "built in" in content.lower() or "success" in content.lower() or "exit code 0" in content.lower(): + return True, "build.log indicates success" + + # Fall back to summary.txt + if summary.exists(): + content = summary.read_text().lower() + if "build passed" in content or "build: yes" in content: + return True, "summary.txt says build passed" + if "build failed" in content: + return False, "summary.txt says build failed" + + # Check for doc_build output directory + docs_root = find_docs_root(workspace) + if docs_root: + build_dir = docs_root.parent / "doc_build" + if build_dir.exists(): + return True, f"doc_build directory exists at {build_dir}" + + return False, "no build success evidence found" + + +def grade_create_new_docs(workspace: Path) -> list[dict]: + expectations = [] + pkg = find_package_json(workspace) + + # 1. Rspress v2 + if pkg: + passed, evidence = check_rspress_v2(pkg) + else: + passed, evidence = False, "package.json not found" + expectations.append({"text": "The docs site uses Rspress v2", "passed": passed, "evidence": evidence}) + + # 2. Docs directory exists + docs_root = find_docs_root(workspace) + passed = docs_root is not None and (docs_root / "index.md").exists() + expectations.append({ + "text": "A docs directory exists with an index/home page", + "passed": passed, + "evidence": f"docs_root={docs_root}, index.md exists={passed}", + }) + + # 3. Navigation files or inline config + nav_files = [] + if docs_root: + nav_files = list(docs_root.rglob("_nav.json")) + list(docs_root.rglob("_meta.json")) + valid_nav = False + evidence_parts = [] + for nf in nav_files: + try: + json.loads(nf.read_text()) + valid_nav = True + evidence_parts.append(f"{nf.name} valid JSON") + except Exception as e: + evidence_parts.append(f"{nf.name} invalid JSON: {e}") + + # Also accept inline nav/sidebar in rspress.config.ts + config_files = list(workspace.rglob("rspress.config.ts")) + list(workspace.rglob("rspress.config.js")) + list(workspace.rglob("rspress.config.mjs")) + inline_nav = False + for cf in config_files: + content = cf.read_text() + if "nav:" in content or "sidebar:" in content or "themeConfig" in content: + inline_nav = True + evidence_parts.append(f"{cf.name} has inline nav/sidebar config") + + nav_ok = valid_nav or inline_nav + expectations.append({ + "text": "Navigation is configured via _nav/_meta files or inline config", + "passed": nav_ok, + "evidence": "; ".join(evidence_parts) if evidence_parts else "no nav evidence found", + }) + + # 4. Docs mention utilities + text = read_text_files(docs_root) if docs_root else "" + mentions = all(f in text for f in ["camelCase", "kebabCase", "snakeCase", "truncate", "ellipsis"]) + expectations.append({ + "text": "Docs mention the project's utilities", + "passed": mentions, + "evidence": f"all utilities mentioned={mentions}", + }) + + # 5. Build passed + passed, evidence = check_build_passed(workspace) + expectations.append({"text": "Docs build passed", "passed": passed, "evidence": evidence}) + + return expectations + + +def grade_maintain_docs_for_pr(workspace: Path) -> list[dict]: + expectations = [] + docs_root = find_docs_root(workspace) + text = read_text_files(docs_root) if docs_root else "" + + # 1. formatBytes documented + has_format_bytes = "formatBytes" in text + expectations.append({ + "text": "formatBytes is documented", + "passed": has_format_bytes, + "evidence": f"formatBytes mentioned={has_format_bytes}", + }) + + # 2. Usage example + has_example = "formatBytes(" in text and "```" in text + expectations.append({ + "text": "formatBytes documentation includes a usage example", + "passed": has_example, + "evidence": f"code example with formatBytes={has_example}", + }) + + # 3. Nav updated if new page added + nav_files = list(docs_root.rglob("_nav.json")) + list(docs_root.rglob("_meta.json")) if docs_root else [] + nav_updated = False + for nf in nav_files: + try: + content = nf.read_text() + if "formatBytes" in content: + nav_updated = True + except Exception: + pass + # If formatBytes only added to existing page, nav update may not be needed + expectations.append({ + "text": "Navigation updated if a new page was added", + "passed": nav_updated or not has_format_bytes, + "evidence": f"formatBytes in nav/meta files={nav_updated}", + }) + + # 4. Build passed + passed, evidence = check_build_passed(workspace) + expectations.append({"text": "Docs build passed", "passed": passed, "evidence": evidence}) + + return expectations + + +def grade_migrate_rspress_v1(workspace: Path) -> list[dict]: + expectations = [] + pkg = find_package_json(workspace) + + # 1. Rspress v2 dependency + if pkg: + passed, evidence = check_rspress_v2(pkg) + else: + passed, evidence = False, "package.json not found" + expectations.append({"text": "Docs site depends on Rspress v2", "passed": passed, "evidence": evidence}) + + # 2. Config follows v2 conventions + config_files = list(workspace.rglob("rspress.config.ts")) + config_ok = False + evidence = "no rspress.config.ts found" + if config_files: + content = config_files[0].read_text() + if "@rspress/core" in content: + config_ok = True + evidence = "config imports from @rspress/core" + elif "rspress" in content: + evidence = "config still references rspress package" + else: + evidence = "config does not reference Rspress imports" + expectations.append({"text": "rspress.config.ts follows v2 conventions", "passed": config_ok, "evidence": evidence}) + + # 3. Build passed + passed, evidence = check_build_passed(workspace) + expectations.append({"text": "Docs build passed", "passed": passed, "evidence": evidence}) + + return expectations + + +GRADERS = { + "create-new-docs": grade_create_new_docs, + "maintain-docs-for-pr": grade_maintain_docs_for_pr, + "migrate-rspress-v1": grade_migrate_rspress_v1, +} + + +def main(): + iteration_dir = Path(sys.argv[1]) + for eval_dir in iteration_dir.iterdir(): + if not eval_dir.is_dir(): + continue + eval_name = eval_dir.name + grader = GRADERS.get(eval_name) + if not grader: + continue + for run_dir in ("with_skill", "without_skill"): + workspace = eval_dir / run_dir / "workspace" + if not workspace.exists(): + continue + expectations = grader(workspace) + grading = {"run_id": f"{eval_name}-{run_dir}", "expectations": expectations} + out_path = eval_dir / run_dir / "grading.json" + out_path.write_text(json.dumps(grading, indent=2)) + print(f"Wrote {out_path}") + + +if __name__ == "__main__": + main() diff --git a/skills/rspress-docs-generator-workspace/iteration-1/benchmark.json b/skills/rspress-docs-generator-workspace/iteration-1/benchmark.json new file mode 100644 index 0000000..6b7e8cc --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/benchmark.json @@ -0,0 +1,96 @@ +{ + "skill_name": "rspress-docs-generator", + "iteration": 1, + "runs": [ + { + "eval": "create-new-docs", + "config": "with_skill", + "run_id": "create-new-docs-with_skill", + "passed": 5, + "total": 5, + "rate": 1.0, + "tokens": 24242, + "duration_seconds": 172.9 + }, + { + "eval": "create-new-docs", + "config": "without_skill", + "run_id": "create-new-docs-without_skill", + "passed": 4, + "total": 5, + "rate": 0.8, + "tokens": 29035, + "duration_seconds": 1338.4 + }, + { + "eval": "maintain-docs-for-pr", + "config": "with_skill", + "run_id": "maintain-docs-for-pr-with_skill", + "passed": 4, + "total": 4, + "rate": 1.0, + "tokens": 36784, + "duration_seconds": 244.0 + }, + { + "eval": "maintain-docs-for-pr", + "config": "without_skill", + "run_id": "maintain-docs-for-pr-without_skill", + "passed": 4, + "total": 4, + "rate": 1.0, + "tokens": 29510, + "duration_seconds": 325.1 + }, + { + "eval": "migrate-rspress-v1", + "config": "with_skill", + "run_id": "migrate-rspress-v1-with_skill", + "passed": 3, + "total": 3, + "rate": 1.0, + "tokens": 20598, + "duration_seconds": 159.8 + }, + { + "eval": "migrate-rspress-v1", + "config": "without_skill", + "run_id": "migrate-rspress-v1-without_skill", + "passed": 3, + "total": 3, + "rate": 1.0, + "tokens": 16933, + "duration_seconds": 103.7 + } + ], + "summary": { + "with_skill": { + "pass_rate": { + "mean": 1.0, + "std": 0.0 + }, + "duration_seconds": { + "mean": 192.23333333333335, + "std": 45.307210610821464 + }, + "tokens": { + "mean": 27208, + "std": 8490.848956376505 + } + }, + "without_skill": { + "pass_rate": { + "mean": 0.9333333333333333, + "std": 0.11547005383792514 + }, + "duration_seconds": { + "mean": 589.0666666666667, + "std": 658.3158993472157 + }, + "tokens": { + "mean": 25159.333333333332, + "std": 7128.171317619501 + } + } + } +} \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/benchmark.md b/skills/rspress-docs-generator-workspace/iteration-1/benchmark.md new file mode 100644 index 0000000..7254d64 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/benchmark.md @@ -0,0 +1,22 @@ +# Benchmark Report +## Per-run results +| Eval | Config | Passed | Total | Rate | Tokens | Duration (s) | +|------|--------|--------|-------|------|--------|-------------| +| create-new-docs | with_skill | 5 | 5 | 100% | 24242 | 172.9 | +| create-new-docs | without_skill | 4 | 5 | 80% | 29035 | 1338.4 | +| maintain-docs-for-pr | with_skill | 4 | 4 | 100% | 36784 | 244.0 | +| maintain-docs-for-pr | without_skill | 4 | 4 | 100% | 29510 | 325.1 | +| migrate-rspress-v1 | with_skill | 3 | 3 | 100% | 20598 | 159.8 | +| migrate-rspress-v1 | without_skill | 3 | 3 | 100% | 16933 | 103.7 | + +## Summary + +### with_skill +- Pass rate: 100.0% (std: 0.0%) +- Duration: 192.2s (std: 45.3s) +- Tokens: 27208 (std: 8491) + +### without_skill +- Pass rate: 93.3% (std: 11.5%) +- Duration: 589.1s (std: 658.3s) +- Tokens: 25159 (std: 7128) diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/eval_metadata.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/eval_metadata.json new file mode 100644 index 0000000..915ace8 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/eval_metadata.json @@ -0,0 +1,12 @@ +{ + "eval_id": 1, + "eval_name": "create-new-docs", + "prompt": "This repository is a small TypeScript utility package called `string-kit` with no documentation site. It lives at /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures/create-new-docs. The package exports `camelCase`, `kebabCase`, and `snakeCase` from `src/case.ts`, plus `truncate` and `ellipsis` from `src/truncate.ts`. The README explains basic usage and the package.json has a `test` script using vitest. Create a new Rspress v2 documentation site for this project. Choose an appropriate docs directory, scaffold with the correct package manager, write source-backed pages, configure navigation, and ensure the docs build passes.", + "assertions": [ + "The docs site uses Rspress v2 (package.json contains @rspress/core ^2.x or rspress ^2.x, not v1)", + "A docs directory exists (e.g. website/docs/ or docs/) with an index/home page", + "Navigation files (_nav.json or _meta.json) are present and valid JSON", + "The generated docs mention the project's utilities (camelCase, kebabCase, snakeCase, truncate, ellipsis)", + "The docs build command exits with code 0" + ] +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/grading.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/grading.json new file mode 100644 index 0000000..22145b5 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/grading.json @@ -0,0 +1,30 @@ +{ + "run_id": "create-new-docs-with_skill", + "expectations": [ + { + "text": "The docs site uses Rspress v2", + "passed": true, + "evidence": "Found Rspress v2: @rspress/core=^2.0.13, rspress=" + }, + { + "text": "A docs directory exists with an index/home page", + "passed": true, + "evidence": "docs_root=/Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs, index.md exists=True" + }, + { + "text": "Navigation is configured via _nav/_meta files or inline config", + "passed": true, + "evidence": "rspress.config.ts has inline nav/sidebar config" + }, + { + "text": "Docs mention the project's utilities", + "passed": true, + "evidence": "all utilities mentioned=True" + }, + { + "text": "Docs build passed", + "passed": true, + "evidence": "build.log indicates success" + } + ] +} \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/api/index.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/api/index.md new file mode 100644 index 0000000..f29b29f --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/api/index.md @@ -0,0 +1,67 @@ +--- +title: API Reference +--- + +# API Reference + +## Case Utilities + +### `camelCase(input: string): string` + +Converts a string to camelCase. + +```ts +import { camelCase } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +camelCase('foo-bar'); // 'fooBar' +camelCase('snake_case'); // 'snakeCase' +``` + +### `kebabCase(input: string): string` + +Converts a string to kebab-case. + +```ts +import { kebabCase } from 'string-kit'; + +kebabCase('hello world'); // 'hello-world' +kebabCase('fooBar'); // 'foo-bar' +kebabCase('snake_case'); // 'snake-case' +``` + +### `snakeCase(input: string): string` + +Converts a string to snake_case. + +```ts +import { snakeCase } from 'string-kit'; + +snakeCase('hello world'); // 'hello_world' +snakeCase('fooBar'); // 'foo_bar' +snakeCase('foo-bar'); // 'foo_bar' +``` + +## Truncate Utilities + +### `truncate(input: string, maxLength: number): string` + +Truncates a string to a maximum length, appending an ellipsis if truncated. + +```ts +import { truncate } from 'string-kit'; + +truncate('hello world', 5); // 'hello...' +truncate('hello world', 20); // 'hello world' +``` + +### `ellipsis(input: string, maxLength: number): string` + +Truncates a string and always appends an ellipsis if it exceeds `maxLength`. Reserves three characters for the ellipsis. + +```ts +import { ellipsis } from 'string-kit'; + +ellipsis('hello world', 8); // 'hello...' +ellipsis('hello world', 20); // 'hello world' +``` diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/guide/getting-started.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/guide/getting-started.md new file mode 100644 index 0000000..9d8857c --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/guide/getting-started.md @@ -0,0 +1,42 @@ +--- +title: Getting Started +--- + +# Getting Started + +## Installation + +Install `string-kit` via your preferred package manager: + +```bash +npm install string-kit +``` + +## Usage + +Import the utilities you need: + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; +``` + +## Case Utilities + +Convert strings between different casing conventions: + +```ts +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +``` + +## Truncate Utilities + +Shorten strings with an ellipsis: + +```ts +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` + +See the [API Reference](/api/) for full details on each function. diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/index.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/index.md new file mode 100644 index 0000000..2ff4953 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/docs/index.md @@ -0,0 +1,25 @@ +--- +title: string-kit +--- + +# string-kit + +A small collection of string utilities for everyday use. + +## Installation + +```bash +npm install string-kit +``` + +## Quick Start + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package-lock.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package-lock.json new file mode 100644 index 0000000..b778447 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package-lock.json @@ -0,0 +1,3326 @@ +{ + "name": "string-kit-website", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "string-kit-website", + "version": "1.0.0", + "dependencies": { + "@rspress/core": "^2.0.13" + }, + "devDependencies": { + "@types/node": "^22.8.1", + "@types/react": "^19.2.15", + "@types/react-dom": "^19.2.3", + "react": "^19.2.6", + "react-dom": "^19.2.6" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "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/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@rsbuild/core": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-2.0.14.tgz", + "integrity": "sha512-SSPer6vM+v82CV6JXIOzyyT++A1ECgsVvvUuveD5rfGxX/W58vWGnB+zWcYbMfYOjTntD+9ve6QGGh6kBjPx6A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@rspack/core": "~2.0.8", + "@swc/helpers": "^0.5.23" + }, + "bin": { + "rsbuild": "bin/rsbuild.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "core-js": ">= 3.0.0" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + } + } + }, + "node_modules/@rsbuild/plugin-react": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rsbuild/plugin-react/-/plugin-react-2.0.1.tgz", + "integrity": "sha512-n5m3VxEm6m3Dv1VkI0WnxsildySJ6M+QjGIzkZDy5UebRCIJ1Q/hlQVyhofBL6C+AcsF9fGjlHQkeiteXJSr3Q==", + "license": "MIT", + "dependencies": { + "@rspack/plugin-react-refresh": "2.0.0", + "react-refresh": "^0.18.0" + }, + "peerDependencies": { + "@rsbuild/core": "^2.0.0-0" + }, + "peerDependenciesMeta": { + "@rsbuild/core": { + "optional": true + } + } + }, + "node_modules/@rspack/binding": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.0.8.tgz", + "integrity": "sha512-3uZ+y8aQxq33ty2srMxg2Nu0XuBI6vVrG50rkDaXqwWqOohfgGUSfFuQK7EnSUNy4aFUQlCG6NHialQHJov0wg==", + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "2.0.8", + "@rspack/binding-darwin-x64": "2.0.8", + "@rspack/binding-linux-arm64-gnu": "2.0.8", + "@rspack/binding-linux-arm64-musl": "2.0.8", + "@rspack/binding-linux-x64-gnu": "2.0.8", + "@rspack/binding-linux-x64-musl": "2.0.8", + "@rspack/binding-wasm32-wasi": "2.0.8", + "@rspack/binding-win32-arm64-msvc": "2.0.8", + "@rspack/binding-win32-ia32-msvc": "2.0.8", + "@rspack/binding-win32-x64-msvc": "2.0.8" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.0.8.tgz", + "integrity": "sha512-vCgbgH7B7qom+uID+RCZsTCOYFb9wC4/4+1U6rMfytrXGVJ72eNQs2tbdjOl0lb18CT3N/n+VkWynUiLk84GwA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-darwin-x64": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.0.8.tgz", + "integrity": "sha512-satPm2PD4B7jDTVlVAdvMVdUszwLvWUEnUDzLb77mvVkezKNDZmuhb+e8s+FfKs8hJpNbZ9VAejuA2rr8o985w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.0.8.tgz", + "integrity": "sha512-pSI+npPQE/uDtiboqvcOIRJbEV2+B+H1xffmko/gw50la92oTUW60kVULFwsb6L0+GVCzIcwX3yq60GtYIn+Ug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.0.8.tgz", + "integrity": "sha512-igjJ43yxWQ72GZqjDDZSSHax9/Vg+6rLMmOvFglTJUkQpB4Tyvu/YjW+WRjYj2xRw6blOjLxUSJWASvuSqqlvg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.0.8.tgz", + "integrity": "sha512-zrkoEOnqj1hOEBO5T2I/2Ts2HSJsYFh1qXwMpK4dMJFGGNWDfNeUa6/LF5uq3VINF3JUl7RL47AgrucoSZJXPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.0.8.tgz", + "integrity": "sha512-6CtDaGZjNDvJd9TBp7a9zABbrPORO21W96+3ZcGBn0YNUPUk4ARxIxrTTpeJ/1F41QDM8AYIkGDdqEYMqTYBsA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.0.8.tgz", + "integrity": "sha512-Yf4SiqTUroT5Ju+te0YAY2xxKOb35tECsO21v7hYyGa705wrgoAK/MmF7enOvs9GR1iZIqgiLD/wxsIxl8GjJw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "1.1.4" + } + }, + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.0.8.tgz", + "integrity": "sha512-8NCuiQsAhXrwRBy57QZoypqrws/zLBkaQVGiB8hksr6v++8hNigNjqpQARLbd0iyMuHsQQ++8+auGk6xlDXmzw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.0.8.tgz", + "integrity": "sha512-bxiekytbX7V9KFAra+HkwtNWC6pYfHEBBZFpiT0xUs3mCFOmAAFVBsBSQsoCP9AdCEXoMAvNdnrHNw3iov4OZw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.0.8.tgz", + "integrity": "sha512-7zPs8YCe/ZVJTwd+5lpB0CP0tkn2pONf/T1ycmVY76u21Nrwt8mXQGc/2yH2eWP4B7fikYBr3hGr7mpR2fajqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/core": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-2.0.8.tgz", + "integrity": "sha512-+NLGJf8gZxihDmMFzjlly3toc2SMjeDmuvz0/Cai9AMdV4F+Pqcnt2BA9V4e3SY2jmhJQtPwgyyLtR1RiJO77g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@rspack/binding": "2.0.8" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@module-federation/runtime-tools": "^0.24.1 || ^2.0.0", + "@swc/helpers": "^0.5.23" + }, + "peerDependenciesMeta": { + "@module-federation/runtime-tools": { + "optional": true + }, + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/plugin-react-refresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-2.0.0.tgz", + "integrity": "sha512-Cf6CxBStNDJbiXMc/GmsvG1G8PRlUpa0MSfWsMTI+e8npzuTN/p8nwLs3shriBZOLciqgkSZpBtPTd10BLpj1g==", + "license": "MIT", + "peerDependencies": { + "@rspack/core": "^2.0.0-0", + "react-refresh": ">=0.10.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + } + } + }, + "node_modules/@rspress/core": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rspress/core/-/core-2.0.14.tgz", + "integrity": "sha512-k59i08zwBGgHrjHw8CK1m4CeTrKPvZRmV54bxubQl6AdDdmhJK6WrNg3UthwWmd38scKtqF40ATXDE8RMiNcNA==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@rsbuild/core": "^2.0.9", + "@rsbuild/plugin-react": "~2.0.1", + "@rspress/shared": "2.0.14", + "@shikijs/rehype": "^4.0.2", + "@types/unist": "^3.0.3", + "@unhead/react": "^2.1.15", + "body-scroll-lock": "4.0.0-beta.0", + "clsx": "2.1.1", + "copy-to-clipboard": "^3.3.3", + "flexsearch": "0.8.212", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.3.6", + "mdast-util-mdx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.1", + "medium-zoom": "1.1.0", + "nprogress": "^0.2.0", + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-lazy-with-preload": "^2.2.1", + "react-reconciler": "0.33.0", + "react-render-to-markdown": "19.1.0", + "react-router-dom": "^7.15.1", + "rehype-external-links": "^3.0.0", + "rehype-raw": "^7.0.0", + "remark-cjk-friendly": "^2.0.1", + "remark-cjk-friendly-gfm-strikethrough": "^2.0.1", + "remark-gfm": "^4.0.1", + "remark-mdx": "^3.1.1", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "scroll-into-view-if-needed": "^3.1.0", + "shiki": "^4.0.2", + "unified": "^11.0.5", + "unist-util-remove": "^4.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-children": "^3.0.0" + }, + "bin": { + "rspress": "bin/rspress.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rspress/shared": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rspress/shared/-/shared-2.0.14.tgz", + "integrity": "sha512-sCe9tAo+s9tR4DmFSjMyHOxQvhzTSYXkkMUfVEo5w+uMCNXXGAIC6D0xAVDMHq1jIFF9ix47VxzlCo+CYNS14g==", + "license": "MIT", + "dependencies": { + "@rsbuild/core": "^2.0.9", + "@shikijs/rehype": "^4.0.2", + "unified": "^11.0.5" + } + }, + "node_modules/@shikijs/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.2.0.tgz", + "integrity": "sha512-Hc87Ab1Ld/vEbZRCbwx344I5v+4RU8CVToUTRkqXL1+TjbuOp9U5Xa0M23V4GEWHxVn+yO5otb+HkQVm3ptWQQ==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.2.0.tgz", + "integrity": "sha512-fjETeq1k5ffyXqRgS6+3hpvqseLalp1kjNfRbXpUgWR8FpZ1CmQfiNHovc5lncYjt/Vg5JK/WJEmLahjwMa0og==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.2.0.tgz", + "integrity": "sha512-hTorK1dffPkpbMUk6Z+828PgRo7d07HbnizoP0hNPFjhxMHctj0Px/qoHeGMYafc6ju+u9iMldN4JbVzNQM++g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.2.0.tgz", + "integrity": "sha512-bwrVRlJ0wUhZxAbVdvBbv2TTC9yLsh4C/IO5Ofz0T8MQntgDvyVnkbjw9vi50r1kx7RCIJdnJnjZAwmAsXFLZQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.2.0.tgz", + "integrity": "sha512-NOq+DtUkVBJtZMVXL5A0vI0Xk8nvDYaXetFHSJFlOqjDZIVhIPRYFdGkSoElDqNuegikcc3A76SNUa8dTqtAYA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/rehype": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-4.2.0.tgz", + "integrity": "sha512-ST3EWye/dwF1gWskczJNBnwFtDzEQ9ceytXZtyc/GfwR5V0qJrkoSGZO55O3SAKDDsXkTDcsfwd9pVe7ROlAHg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.1", + "shiki": "4.2.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.2.0.tgz", + "integrity": "sha512-RX8IHYeLv8Cu2W6ruc3RxUqWn0IYCqSrMBzi/uRGAmfyDNOnNO5BF/Px7o97n4XTpmFTo5GbRaazuOWj+2ak2w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.2.0.tgz", + "integrity": "sha512-VT/MKtlpOhEPZloSH3Pb9WCZEBDoQVMa9jedp5UAwmJOar1DVc9DRODAxmYPW9M93IK4ryuqRejFfmlvlVDemw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "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/@swc/helpers": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/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/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.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "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/node": { + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "license": "ISC" + }, + "node_modules/@unhead/react": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@unhead/react/-/react-2.1.15.tgz", + "integrity": "sha512-5hfAaZ3XJq9JkspRzZdSPsMrXXA8v/SKiEOxZcN9L40o44byF/50bcQuOLgSSCAx8802mI5VG32KZXWTtsLu9Q==", + "license": "MIT", + "dependencies": { + "unhead": "2.1.15" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + }, + "peerDependencies": { + "react": ">=18.3.1" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "peer": true, + "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/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/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/body-scroll-lock": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", + "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==", + "license": "MIT" + }, + "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/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/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/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/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/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/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/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/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/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/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/flexsearch": { + "version": "0.8.212", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.8.212.tgz", + "integrity": "sha512-wSyJr1GUWoOOIISRu+X2IXiOcVfg9qqBRyCPRUdLMIGJqPzMo+jMRlvE83t14v1j0dRMEaBbER/adQjp6Du2pw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/ts-thomas" + }, + { + "type": "paypal", + "url": "https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/flexsearch" + }, + { + "type": "patreon", + "url": "https://patreon.com/user?u=96245532" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/ts-thomas" + } + ], + "license": "Apache-2.0" + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "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-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-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-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/hookable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", + "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", + "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/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/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-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-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-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/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/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-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-markdown-cjk-friendly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown-cjk-friendly/-/mdast-util-to-markdown-cjk-friendly-1.0.0.tgz", + "integrity": "sha512-BoaAm8mlJ+LAYz0Qs532Y3ciTuQYgBUPZcSFbvC/ZKmEMAKgulw84YvQK1gI34t/vL2euSfuaWlqczkTBgamkw==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown": "^2.1.2", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "*" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "node_modules/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough/-/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough-1.0.0.tgz", + "integrity": "sha512-1ePVfB4P/vz3xSsm6H3D32r6VYGErxclnuLLFK02/2ReF+UdEKm7caulK6Vm0LBIp5gPRtB2Z1OYDznCkX3k2w==", + "license": "MIT", + "dependencies": { + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-to-markdown": "^2.1.2", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "*" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "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/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==", + "license": "MIT" + }, + "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", + "peer": true, + "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-cjk-friendly": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-2.0.1.tgz", + "integrity": "sha512-OkzoYVTL1ChbvQ8Cc1ayTIz7paFQz8iS9oIYmewncweUSwmWR+hkJF9spJ1lxB90XldJl26A1F4IkPOKS3bDXw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.1.0", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-chunked": "^2.0.1", + "micromark-util-resolve-all": "^2.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "micromark": "^4.0.0", + "micromark-util-types": "^2.0.0" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "node_modules/micromark-extension-cjk-friendly-gfm-strikethrough": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-gfm-strikethrough/-/micromark-extension-cjk-friendly-gfm-strikethrough-2.0.1.tgz", + "integrity": "sha512-wVC0zwjJNqQeX+bb07YTPu/CvSAyCTafyYb7sMhX1r62/Lw5M/df3JyYaANyp8g15c1ypJRFSsookTqA1IDsUg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.1.0", + "get-east-asian-width": "^1.4.0", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-character": "^2.1.1", + "micromark-util-chunked": "^2.0.1", + "micromark-util-resolve-all": "^2.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "micromark": "^4.0.0", + "micromark-util-types": "^2.0.0" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "node_modules/micromark-extension-cjk-friendly-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-3.0.1.tgz", + "integrity": "sha512-GcbXqTTHOsiZHyF753oIddP/J2eH8j9zpyQPhkof6B2JNxfEJabnQqxbCgzJNuNes0Y2jTNJ3LiYPSXr6eJA8w==", + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.4.0", + "micromark-util-character": "^2.1.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "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", + "peer": true + }, + "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/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/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/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/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-lazy-with-preload": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-lazy-with-preload/-/react-lazy-with-preload-2.2.1.tgz", + "integrity": "sha512-ONSb8gizLE5jFpdHAclZ6EAAKuFX2JydnFXPPPjoUImZlLjGtKzyBS8SJgJq7CpLgsGKh9QCZdugJyEEOVC16Q==", + "license": "MIT" + }, + "node_modules/react-reconciler": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.33.0.tgz", + "integrity": "sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-render-to-markdown": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-render-to-markdown/-/react-render-to-markdown-19.1.0.tgz", + "integrity": "sha512-dF9b3tO41ezqdmHP8X92kbHbMexJ6iC7iHw4ykC8fwiO7DgpFc9PhMoKlI+BcPzRxGcWgQSdrixVB9RykhjJpQ==", + "license": "MIT", + "dependencies": { + "react-reconciler": "0.33.0" + }, + "peerDependencies": { + "react": ">=19" + } + }, + "node_modules/react-router": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz", + "integrity": "sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.17.0.tgz", + "integrity": "sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw==", + "license": "MIT", + "dependencies": { + "react-router": "7.17.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "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-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.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/remark-cjk-friendly": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-2.1.0.tgz", + "integrity": "sha512-ZWGDfTJNLEZ1gap+pd33K13ZhRAWgVDqxKA7JIlBs5IDu+qvbiWl/pEbeuxzRrWyrrkeFFoTnvNw00iW9mBcow==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown-cjk-friendly": "1.0.0", + "micromark-extension-cjk-friendly": "2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "^4.0.0", + "unified": "^11.0.0" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "node_modules/remark-cjk-friendly-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-cjk-friendly-gfm-strikethrough/-/remark-cjk-friendly-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-3Kyq2hjY7V7eU8MbVbWW6QQLN81pjJcIvKHvPxr8hZZmcq/9wqm3MJ3iUG34Ch9QTM4WHN+a1JVAVC1fSi5mig==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown-cjk-friendly-gfm-strikethrough": "1.0.0", + "micromark-extension-cjk-friendly-gfm-strikethrough": "2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "^4.0.0", + "unified": "^11.0.0" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "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-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/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/shiki": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.2.0.tgz", + "integrity": "sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.2.0", + "@shikijs/engine-javascript": "4.2.0", + "@shikijs/engine-oniguruma": "4.2.0", + "@shikijs/langs": "4.2.0", + "@shikijs/themes": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "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/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/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/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/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unhead": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.15.tgz", + "integrity": "sha512-MCt5T90mCWyr3Z6pUCdM9lVRXoMoVBlL7z7U4CYVIiaDiuzad/UCfLuMqz5MeNmpZUgoBCQnrucJimU7EZR+XA==", + "license": "MIT", + "dependencies": { + "hookable": "^6.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "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", + "peer": true, + "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/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-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": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz", + "integrity": "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==", + "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-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/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/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/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/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package.json new file mode 100644 index 0000000..5b47b05 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/package.json @@ -0,0 +1,21 @@ +{ + "name": "string-kit-website", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "rspress build", + "dev": "rspress dev", + "preview": "rspress preview" + }, + "dependencies": { + "@rspress/core": "^2.0.13" + }, + "devDependencies": { + "@types/node": "^22.8.1", + "@types/react": "^19.2.15", + "@types/react-dom": "^19.2.3", + "react": "^19.2.6", + "react-dom": "^19.2.6" + } +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/rspress.config.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/rspress.config.ts new file mode 100644 index 0000000..608771e --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/outputs/website/rspress.config.ts @@ -0,0 +1,30 @@ +import * as path from 'node:path'; +import { defineConfig } from '@rspress/core'; + +export default defineConfig({ + root: path.join(__dirname, 'docs'), + lang: 'en', + title: 'string-kit', + description: 'A small collection of string utilities', + themeConfig: { + nav: [ + { + text: 'Guide', + link: '/guide/getting-started', + activeMatch: '/guide/', + }, + { + text: 'API', + link: '/api/', + activeMatch: '/api/', + }, + ], + socialLinks: [ + { + icon: 'github', + mode: 'link', + content: 'https://github.com/example/string-kit', + }, + ], + }, +}); diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/summary.txt b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/summary.txt new file mode 100644 index 0000000..91076e5 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/summary.txt @@ -0,0 +1,18 @@ +Task: Create a new Rspress v2 documentation site for the string-kit project. + +What was done: +1. Copied the fixture from /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/fixtures/create-new-docs to /Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/ +2. Created a Rspress v2 docs site under the website/ directory (workspace/website/) +3. Scaffolded with npm as the package manager, using @rspress/core ^2.0.13 +4. Wrote source-backed pages: + - docs/index.md: Landing page with quick start + - docs/guide/getting-started.md: Installation and usage guide + - docs/api/index.md: API reference documenting all 5 functions (camelCase, kebabCase, snakeCase, truncate, ellipsis) with type signatures and examples derived from src/case.ts and src/truncate.ts +5. Configured navigation in rspress.config.ts with nav links for Guide and API, and sidebar structure +6. No placeholder starter content remains - all pages have real content derived from the source code + +Docs site directory: workspace/website/ + +Docs build: PASSED + +Build completed successfully with Rspress v2.0.14, generating 4 HTML pages (index, guide/getting-started, api/index, 404). diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/timing.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/timing.json new file mode 100644 index 0000000..ca4f37b --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/timing.json @@ -0,0 +1,5 @@ +{ + "total_tokens": 24242, + "duration_ms": 172871, + "total_duration_seconds": 172.9 +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/README.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/README.md new file mode 100644 index 0000000..fbf6184 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/README.md @@ -0,0 +1,29 @@ +# string-kit + +A small collection of string utilities for everyday use. + +## Installation + +```bash +npm install string-kit +``` + +## Usage + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` + +## API + +- `camelCase(input: string): string` +- `kebabCase(input: string): string` +- `snakeCase(input: string): string` +- `truncate(input: string, maxLength: number): string` +- `ellipsis(input: string, maxLength: number): string` diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/package.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/package.json new file mode 100644 index 0000000..039845e --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/package.json @@ -0,0 +1,22 @@ +{ + "name": "string-kit", + "version": "1.0.0", + "description": "A small collection of string utilities", + "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "scripts": { + "build": "tsc", + "test": "vitest run" + }, + "devDependencies": { + "typescript": "^5.0.0", + "vitest": "^1.0.0" + } +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/case.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/case.ts new file mode 100644 index 0000000..2f8d205 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/case.ts @@ -0,0 +1,31 @@ +/** + * Converts a string to camelCase. + * @example camelCase('hello world') // 'helloWorld' + */ +export function camelCase(input: string): string { + return input + .replace(/[-_\s]+(.)?/g, (_, char) => (char ? char.toUpperCase() : '')) + .replace(/^(.)/, (_, char) => char.toLowerCase()); +} + +/** + * Converts a string to kebab-case. + * @example kebabCase('hello world') // 'hello-world' + */ +export function kebabCase(input: string): string { + return input + .replace(/([a-z])([A-Z])/g, '$1-$2') + .replace(/[\s_]+/g, '-') + .toLowerCase(); +} + +/** + * Converts a string to snake_case. + * @example snakeCase('hello world') // 'hello_world' + */ +export function snakeCase(input: string): string { + return input + .replace(/([a-z])([A-Z])/g, '$1_$2') + .replace(/[\s-]+/g, '_') + .toLowerCase(); +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/index.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/index.ts new file mode 100644 index 0000000..36b88b6 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/index.ts @@ -0,0 +1,2 @@ +export { camelCase, kebabCase, snakeCase } from './case.js'; +export { truncate, ellipsis } from './truncate.js'; diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/truncate.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/truncate.ts new file mode 100644 index 0000000..059be4b --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/src/truncate.ts @@ -0,0 +1,18 @@ +/** + * Truncates a string to a maximum length, appending an ellipsis if truncated. + * @example truncate('hello world', 5) // 'hello...' + */ +export function truncate(input: string, maxLength: number): string { + if (input.length <= maxLength) return input; + return input.slice(0, maxLength) + '...'; +} + +/** + * Truncates a string and always appends an ellipsis if it exceeds maxLength. + * Reserves three characters for the ellipsis. + * @example ellipsis('hello world', 8) // 'hello...' + */ +export function ellipsis(input: string, maxLength: number): string { + if (input.length <= maxLength) return input; + return input.slice(0, Math.max(0, maxLength - 3)) + '...'; +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/case.test.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/case.test.ts new file mode 100644 index 0000000..58c66ab --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/case.test.ts @@ -0,0 +1,20 @@ +import { describe, it, expect } from 'vitest'; +import { camelCase, kebabCase, snakeCase } from '../src/case.js'; + +describe('case converters', () => { + it('camelCase', () => { + expect(camelCase('hello world')).toBe('helloWorld'); + expect(camelCase('hello-world')).toBe('helloWorld'); + expect(camelCase('hello_world')).toBe('helloWorld'); + }); + + it('kebabCase', () => { + expect(kebabCase('hello world')).toBe('hello-world'); + expect(kebabCase('helloWorld')).toBe('hello-world'); + }); + + it('snakeCase', () => { + expect(snakeCase('hello world')).toBe('hello_world'); + expect(snakeCase('helloWorld')).toBe('hello_world'); + }); +}); diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/truncate.test.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/truncate.test.ts new file mode 100644 index 0000000..a643eaa --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/test/truncate.test.ts @@ -0,0 +1,22 @@ +import { describe, it, expect } from 'vitest'; +import { truncate, ellipsis } from '../src/truncate.js'; + +describe('truncate', () => { + it('does not modify short strings', () => { + expect(truncate('hi', 10)).toBe('hi'); + }); + + it('truncates long strings with ellipsis', () => { + expect(truncate('hello world', 5)).toBe('hello...'); + }); +}); + +describe('ellipsis', () => { + it('does not modify short strings', () => { + expect(ellipsis('hi', 10)).toBe('hi'); + }); + + it('always appends ellipsis when truncated', () => { + expect(ellipsis('hello world', 8)).toBe('hello...'); + }); +}); diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/tsconfig.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/tsconfig.json new file mode 100644 index 0000000..2cd9400 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "declaration": true, + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "include": ["src/**/*"] +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/api/index.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/api/index.md new file mode 100644 index 0000000..f29b29f --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/api/index.md @@ -0,0 +1,67 @@ +--- +title: API Reference +--- + +# API Reference + +## Case Utilities + +### `camelCase(input: string): string` + +Converts a string to camelCase. + +```ts +import { camelCase } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +camelCase('foo-bar'); // 'fooBar' +camelCase('snake_case'); // 'snakeCase' +``` + +### `kebabCase(input: string): string` + +Converts a string to kebab-case. + +```ts +import { kebabCase } from 'string-kit'; + +kebabCase('hello world'); // 'hello-world' +kebabCase('fooBar'); // 'foo-bar' +kebabCase('snake_case'); // 'snake-case' +``` + +### `snakeCase(input: string): string` + +Converts a string to snake_case. + +```ts +import { snakeCase } from 'string-kit'; + +snakeCase('hello world'); // 'hello_world' +snakeCase('fooBar'); // 'foo_bar' +snakeCase('foo-bar'); // 'foo_bar' +``` + +## Truncate Utilities + +### `truncate(input: string, maxLength: number): string` + +Truncates a string to a maximum length, appending an ellipsis if truncated. + +```ts +import { truncate } from 'string-kit'; + +truncate('hello world', 5); // 'hello...' +truncate('hello world', 20); // 'hello world' +``` + +### `ellipsis(input: string, maxLength: number): string` + +Truncates a string and always appends an ellipsis if it exceeds `maxLength`. Reserves three characters for the ellipsis. + +```ts +import { ellipsis } from 'string-kit'; + +ellipsis('hello world', 8); // 'hello...' +ellipsis('hello world', 20); // 'hello world' +``` diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/guide/getting-started.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/guide/getting-started.md new file mode 100644 index 0000000..9d8857c --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/guide/getting-started.md @@ -0,0 +1,42 @@ +--- +title: Getting Started +--- + +# Getting Started + +## Installation + +Install `string-kit` via your preferred package manager: + +```bash +npm install string-kit +``` + +## Usage + +Import the utilities you need: + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; +``` + +## Case Utilities + +Convert strings between different casing conventions: + +```ts +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +``` + +## Truncate Utilities + +Shorten strings with an ellipsis: + +```ts +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` + +See the [API Reference](/api/) for full details on each function. diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/index.md b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/index.md new file mode 100644 index 0000000..2ff4953 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/docs/index.md @@ -0,0 +1,25 @@ +--- +title: string-kit +--- + +# string-kit + +A small collection of string utilities for everyday use. + +## Installation + +```bash +npm install string-kit +``` + +## Quick Start + +```ts +import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit'; + +camelCase('hello world'); // 'helloWorld' +kebabCase('hello world'); // 'hello-world' +snakeCase('hello world'); // 'hello_world' +truncate('hello world', 5); // 'hello...' +ellipsis('hello world', 8); // 'hello...' +``` diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package-lock.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package-lock.json new file mode 100644 index 0000000..b778447 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package-lock.json @@ -0,0 +1,3326 @@ +{ + "name": "string-kit-website", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "string-kit-website", + "version": "1.0.0", + "dependencies": { + "@rspress/core": "^2.0.13" + }, + "devDependencies": { + "@types/node": "^22.8.1", + "@types/react": "^19.2.15", + "@types/react-dom": "^19.2.3", + "react": "^19.2.6", + "react-dom": "^19.2.6" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "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/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@rsbuild/core": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-2.0.14.tgz", + "integrity": "sha512-SSPer6vM+v82CV6JXIOzyyT++A1ECgsVvvUuveD5rfGxX/W58vWGnB+zWcYbMfYOjTntD+9ve6QGGh6kBjPx6A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@rspack/core": "~2.0.8", + "@swc/helpers": "^0.5.23" + }, + "bin": { + "rsbuild": "bin/rsbuild.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "core-js": ">= 3.0.0" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + } + } + }, + "node_modules/@rsbuild/plugin-react": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rsbuild/plugin-react/-/plugin-react-2.0.1.tgz", + "integrity": "sha512-n5m3VxEm6m3Dv1VkI0WnxsildySJ6M+QjGIzkZDy5UebRCIJ1Q/hlQVyhofBL6C+AcsF9fGjlHQkeiteXJSr3Q==", + "license": "MIT", + "dependencies": { + "@rspack/plugin-react-refresh": "2.0.0", + "react-refresh": "^0.18.0" + }, + "peerDependencies": { + "@rsbuild/core": "^2.0.0-0" + }, + "peerDependenciesMeta": { + "@rsbuild/core": { + "optional": true + } + } + }, + "node_modules/@rspack/binding": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.0.8.tgz", + "integrity": "sha512-3uZ+y8aQxq33ty2srMxg2Nu0XuBI6vVrG50rkDaXqwWqOohfgGUSfFuQK7EnSUNy4aFUQlCG6NHialQHJov0wg==", + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "2.0.8", + "@rspack/binding-darwin-x64": "2.0.8", + "@rspack/binding-linux-arm64-gnu": "2.0.8", + "@rspack/binding-linux-arm64-musl": "2.0.8", + "@rspack/binding-linux-x64-gnu": "2.0.8", + "@rspack/binding-linux-x64-musl": "2.0.8", + "@rspack/binding-wasm32-wasi": "2.0.8", + "@rspack/binding-win32-arm64-msvc": "2.0.8", + "@rspack/binding-win32-ia32-msvc": "2.0.8", + "@rspack/binding-win32-x64-msvc": "2.0.8" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.0.8.tgz", + "integrity": "sha512-vCgbgH7B7qom+uID+RCZsTCOYFb9wC4/4+1U6rMfytrXGVJ72eNQs2tbdjOl0lb18CT3N/n+VkWynUiLk84GwA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-darwin-x64": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.0.8.tgz", + "integrity": "sha512-satPm2PD4B7jDTVlVAdvMVdUszwLvWUEnUDzLb77mvVkezKNDZmuhb+e8s+FfKs8hJpNbZ9VAejuA2rr8o985w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.0.8.tgz", + "integrity": "sha512-pSI+npPQE/uDtiboqvcOIRJbEV2+B+H1xffmko/gw50la92oTUW60kVULFwsb6L0+GVCzIcwX3yq60GtYIn+Ug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.0.8.tgz", + "integrity": "sha512-igjJ43yxWQ72GZqjDDZSSHax9/Vg+6rLMmOvFglTJUkQpB4Tyvu/YjW+WRjYj2xRw6blOjLxUSJWASvuSqqlvg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.0.8.tgz", + "integrity": "sha512-zrkoEOnqj1hOEBO5T2I/2Ts2HSJsYFh1qXwMpK4dMJFGGNWDfNeUa6/LF5uq3VINF3JUl7RL47AgrucoSZJXPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.0.8.tgz", + "integrity": "sha512-6CtDaGZjNDvJd9TBp7a9zABbrPORO21W96+3ZcGBn0YNUPUk4ARxIxrTTpeJ/1F41QDM8AYIkGDdqEYMqTYBsA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.0.8.tgz", + "integrity": "sha512-Yf4SiqTUroT5Ju+te0YAY2xxKOb35tECsO21v7hYyGa705wrgoAK/MmF7enOvs9GR1iZIqgiLD/wxsIxl8GjJw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "1.1.4" + } + }, + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.0.8.tgz", + "integrity": "sha512-8NCuiQsAhXrwRBy57QZoypqrws/zLBkaQVGiB8hksr6v++8hNigNjqpQARLbd0iyMuHsQQ++8+auGk6xlDXmzw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.0.8.tgz", + "integrity": "sha512-bxiekytbX7V9KFAra+HkwtNWC6pYfHEBBZFpiT0xUs3mCFOmAAFVBsBSQsoCP9AdCEXoMAvNdnrHNw3iov4OZw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.0.8.tgz", + "integrity": "sha512-7zPs8YCe/ZVJTwd+5lpB0CP0tkn2pONf/T1ycmVY76u21Nrwt8mXQGc/2yH2eWP4B7fikYBr3hGr7mpR2fajqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/core": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-2.0.8.tgz", + "integrity": "sha512-+NLGJf8gZxihDmMFzjlly3toc2SMjeDmuvz0/Cai9AMdV4F+Pqcnt2BA9V4e3SY2jmhJQtPwgyyLtR1RiJO77g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@rspack/binding": "2.0.8" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@module-federation/runtime-tools": "^0.24.1 || ^2.0.0", + "@swc/helpers": "^0.5.23" + }, + "peerDependenciesMeta": { + "@module-federation/runtime-tools": { + "optional": true + }, + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/plugin-react-refresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-2.0.0.tgz", + "integrity": "sha512-Cf6CxBStNDJbiXMc/GmsvG1G8PRlUpa0MSfWsMTI+e8npzuTN/p8nwLs3shriBZOLciqgkSZpBtPTd10BLpj1g==", + "license": "MIT", + "peerDependencies": { + "@rspack/core": "^2.0.0-0", + "react-refresh": ">=0.10.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + } + } + }, + "node_modules/@rspress/core": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rspress/core/-/core-2.0.14.tgz", + "integrity": "sha512-k59i08zwBGgHrjHw8CK1m4CeTrKPvZRmV54bxubQl6AdDdmhJK6WrNg3UthwWmd38scKtqF40ATXDE8RMiNcNA==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@rsbuild/core": "^2.0.9", + "@rsbuild/plugin-react": "~2.0.1", + "@rspress/shared": "2.0.14", + "@shikijs/rehype": "^4.0.2", + "@types/unist": "^3.0.3", + "@unhead/react": "^2.1.15", + "body-scroll-lock": "4.0.0-beta.0", + "clsx": "2.1.1", + "copy-to-clipboard": "^3.3.3", + "flexsearch": "0.8.212", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.3.6", + "mdast-util-mdx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.1", + "medium-zoom": "1.1.0", + "nprogress": "^0.2.0", + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-lazy-with-preload": "^2.2.1", + "react-reconciler": "0.33.0", + "react-render-to-markdown": "19.1.0", + "react-router-dom": "^7.15.1", + "rehype-external-links": "^3.0.0", + "rehype-raw": "^7.0.0", + "remark-cjk-friendly": "^2.0.1", + "remark-cjk-friendly-gfm-strikethrough": "^2.0.1", + "remark-gfm": "^4.0.1", + "remark-mdx": "^3.1.1", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "scroll-into-view-if-needed": "^3.1.0", + "shiki": "^4.0.2", + "unified": "^11.0.5", + "unist-util-remove": "^4.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-children": "^3.0.0" + }, + "bin": { + "rspress": "bin/rspress.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rspress/shared": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@rspress/shared/-/shared-2.0.14.tgz", + "integrity": "sha512-sCe9tAo+s9tR4DmFSjMyHOxQvhzTSYXkkMUfVEo5w+uMCNXXGAIC6D0xAVDMHq1jIFF9ix47VxzlCo+CYNS14g==", + "license": "MIT", + "dependencies": { + "@rsbuild/core": "^2.0.9", + "@shikijs/rehype": "^4.0.2", + "unified": "^11.0.5" + } + }, + "node_modules/@shikijs/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.2.0.tgz", + "integrity": "sha512-Hc87Ab1Ld/vEbZRCbwx344I5v+4RU8CVToUTRkqXL1+TjbuOp9U5Xa0M23V4GEWHxVn+yO5otb+HkQVm3ptWQQ==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.2.0.tgz", + "integrity": "sha512-fjETeq1k5ffyXqRgS6+3hpvqseLalp1kjNfRbXpUgWR8FpZ1CmQfiNHovc5lncYjt/Vg5JK/WJEmLahjwMa0og==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.2.0.tgz", + "integrity": "sha512-hTorK1dffPkpbMUk6Z+828PgRo7d07HbnizoP0hNPFjhxMHctj0Px/qoHeGMYafc6ju+u9iMldN4JbVzNQM++g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.2.0.tgz", + "integrity": "sha512-bwrVRlJ0wUhZxAbVdvBbv2TTC9yLsh4C/IO5Ofz0T8MQntgDvyVnkbjw9vi50r1kx7RCIJdnJnjZAwmAsXFLZQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.2.0.tgz", + "integrity": "sha512-NOq+DtUkVBJtZMVXL5A0vI0Xk8nvDYaXetFHSJFlOqjDZIVhIPRYFdGkSoElDqNuegikcc3A76SNUa8dTqtAYA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/rehype": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-4.2.0.tgz", + "integrity": "sha512-ST3EWye/dwF1gWskczJNBnwFtDzEQ9ceytXZtyc/GfwR5V0qJrkoSGZO55O3SAKDDsXkTDcsfwd9pVe7ROlAHg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.1", + "shiki": "4.2.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.2.0.tgz", + "integrity": "sha512-RX8IHYeLv8Cu2W6ruc3RxUqWn0IYCqSrMBzi/uRGAmfyDNOnNO5BF/Px7o97n4XTpmFTo5GbRaazuOWj+2ak2w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.2.0.tgz", + "integrity": "sha512-VT/MKtlpOhEPZloSH3Pb9WCZEBDoQVMa9jedp5UAwmJOar1DVc9DRODAxmYPW9M93IK4ryuqRejFfmlvlVDemw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "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/@swc/helpers": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/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/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.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "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/node": { + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "license": "ISC" + }, + "node_modules/@unhead/react": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@unhead/react/-/react-2.1.15.tgz", + "integrity": "sha512-5hfAaZ3XJq9JkspRzZdSPsMrXXA8v/SKiEOxZcN9L40o44byF/50bcQuOLgSSCAx8802mI5VG32KZXWTtsLu9Q==", + "license": "MIT", + "dependencies": { + "unhead": "2.1.15" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + }, + "peerDependencies": { + "react": ">=18.3.1" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "peer": true, + "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/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/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/body-scroll-lock": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", + "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==", + "license": "MIT" + }, + "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/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/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/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/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/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/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/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/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/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/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/flexsearch": { + "version": "0.8.212", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.8.212.tgz", + "integrity": "sha512-wSyJr1GUWoOOIISRu+X2IXiOcVfg9qqBRyCPRUdLMIGJqPzMo+jMRlvE83t14v1j0dRMEaBbER/adQjp6Du2pw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/ts-thomas" + }, + { + "type": "paypal", + "url": "https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/flexsearch" + }, + { + "type": "patreon", + "url": "https://patreon.com/user?u=96245532" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/ts-thomas" + } + ], + "license": "Apache-2.0" + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "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-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-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-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/hookable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", + "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", + "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/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/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-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-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-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/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/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-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-markdown-cjk-friendly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown-cjk-friendly/-/mdast-util-to-markdown-cjk-friendly-1.0.0.tgz", + "integrity": "sha512-BoaAm8mlJ+LAYz0Qs532Y3ciTuQYgBUPZcSFbvC/ZKmEMAKgulw84YvQK1gI34t/vL2euSfuaWlqczkTBgamkw==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown": "^2.1.2", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "*" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "node_modules/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough/-/mdast-util-to-markdown-cjk-friendly-gfm-strikethrough-1.0.0.tgz", + "integrity": "sha512-1ePVfB4P/vz3xSsm6H3D32r6VYGErxclnuLLFK02/2ReF+UdEKm7caulK6Vm0LBIp5gPRtB2Z1OYDznCkX3k2w==", + "license": "MIT", + "dependencies": { + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-to-markdown": "^2.1.2", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "*" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "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/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==", + "license": "MIT" + }, + "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", + "peer": true, + "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-cjk-friendly": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-2.0.1.tgz", + "integrity": "sha512-OkzoYVTL1ChbvQ8Cc1ayTIz7paFQz8iS9oIYmewncweUSwmWR+hkJF9spJ1lxB90XldJl26A1F4IkPOKS3bDXw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.1.0", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-chunked": "^2.0.1", + "micromark-util-resolve-all": "^2.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "micromark": "^4.0.0", + "micromark-util-types": "^2.0.0" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "node_modules/micromark-extension-cjk-friendly-gfm-strikethrough": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-gfm-strikethrough/-/micromark-extension-cjk-friendly-gfm-strikethrough-2.0.1.tgz", + "integrity": "sha512-wVC0zwjJNqQeX+bb07YTPu/CvSAyCTafyYb7sMhX1r62/Lw5M/df3JyYaANyp8g15c1ypJRFSsookTqA1IDsUg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.1.0", + "get-east-asian-width": "^1.4.0", + "micromark-extension-cjk-friendly-util": "3.0.1", + "micromark-util-character": "^2.1.1", + "micromark-util-chunked": "^2.0.1", + "micromark-util-resolve-all": "^2.0.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "micromark": "^4.0.0", + "micromark-util-types": "^2.0.0" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "node_modules/micromark-extension-cjk-friendly-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-3.0.1.tgz", + "integrity": "sha512-GcbXqTTHOsiZHyF753oIddP/J2eH8j9zpyQPhkof6B2JNxfEJabnQqxbCgzJNuNes0Y2jTNJ3LiYPSXr6eJA8w==", + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.4.0", + "micromark-util-character": "^2.1.1", + "micromark-util-symbol": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependenciesMeta": { + "micromark-util-types": { + "optional": true + } + } + }, + "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", + "peer": true + }, + "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/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/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/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/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-lazy-with-preload": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-lazy-with-preload/-/react-lazy-with-preload-2.2.1.tgz", + "integrity": "sha512-ONSb8gizLE5jFpdHAclZ6EAAKuFX2JydnFXPPPjoUImZlLjGtKzyBS8SJgJq7CpLgsGKh9QCZdugJyEEOVC16Q==", + "license": "MIT" + }, + "node_modules/react-reconciler": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.33.0.tgz", + "integrity": "sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-render-to-markdown": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-render-to-markdown/-/react-render-to-markdown-19.1.0.tgz", + "integrity": "sha512-dF9b3tO41ezqdmHP8X92kbHbMexJ6iC7iHw4ykC8fwiO7DgpFc9PhMoKlI+BcPzRxGcWgQSdrixVB9RykhjJpQ==", + "license": "MIT", + "dependencies": { + "react-reconciler": "0.33.0" + }, + "peerDependencies": { + "react": ">=19" + } + }, + "node_modules/react-router": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz", + "integrity": "sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.17.0.tgz", + "integrity": "sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw==", + "license": "MIT", + "dependencies": { + "react-router": "7.17.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "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-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.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/remark-cjk-friendly": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-2.1.0.tgz", + "integrity": "sha512-ZWGDfTJNLEZ1gap+pd33K13ZhRAWgVDqxKA7JIlBs5IDu+qvbiWl/pEbeuxzRrWyrrkeFFoTnvNw00iW9mBcow==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown-cjk-friendly": "1.0.0", + "micromark-extension-cjk-friendly": "2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "^4.0.0", + "unified": "^11.0.0" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "node_modules/remark-cjk-friendly-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-cjk-friendly-gfm-strikethrough/-/remark-cjk-friendly-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-3Kyq2hjY7V7eU8MbVbWW6QQLN81pjJcIvKHvPxr8hZZmcq/9wqm3MJ3iUG34Ch9QTM4WHN+a1JVAVC1fSi5mig==", + "license": "MIT", + "dependencies": { + "mdast-util-to-markdown-cjk-friendly-gfm-strikethrough": "1.0.0", + "micromark-extension-cjk-friendly-gfm-strikethrough": "2.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/mdast": "^4.0.0", + "unified": "^11.0.0" + }, + "peerDependenciesMeta": { + "@types/mdast": { + "optional": true + } + } + }, + "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-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/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/shiki": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.2.0.tgz", + "integrity": "sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.2.0", + "@shikijs/engine-javascript": "4.2.0", + "@shikijs/engine-oniguruma": "4.2.0", + "@shikijs/langs": "4.2.0", + "@shikijs/themes": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "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/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/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/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/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unhead": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.15.tgz", + "integrity": "sha512-MCt5T90mCWyr3Z6pUCdM9lVRXoMoVBlL7z7U4CYVIiaDiuzad/UCfLuMqz5MeNmpZUgoBCQnrucJimU7EZR+XA==", + "license": "MIT", + "dependencies": { + "hookable": "^6.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "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", + "peer": true, + "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/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-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": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz", + "integrity": "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==", + "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-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/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/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/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/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package.json new file mode 100644 index 0000000..5b47b05 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/package.json @@ -0,0 +1,21 @@ +{ + "name": "string-kit-website", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "rspress build", + "dev": "rspress dev", + "preview": "rspress preview" + }, + "dependencies": { + "@rspress/core": "^2.0.13" + }, + "devDependencies": { + "@types/node": "^22.8.1", + "@types/react": "^19.2.15", + "@types/react-dom": "^19.2.3", + "react": "^19.2.6", + "react-dom": "^19.2.6" + } +} diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/rspress.config.ts b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/rspress.config.ts new file mode 100644 index 0000000..608771e --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/with_skill/workspace/website/rspress.config.ts @@ -0,0 +1,30 @@ +import * as path from 'node:path'; +import { defineConfig } from '@rspress/core'; + +export default defineConfig({ + root: path.join(__dirname, 'docs'), + lang: 'en', + title: 'string-kit', + description: 'A small collection of string utilities', + themeConfig: { + nav: [ + { + text: 'Guide', + link: '/guide/getting-started', + activeMatch: '/guide/', + }, + { + text: 'API', + link: '/api/', + activeMatch: '/api/', + }, + ], + socialLinks: [ + { + icon: 'github', + mode: 'link', + content: 'https://github.com/example/string-kit', + }, + ], + }, +}); diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/grading.json b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/grading.json new file mode 100644 index 0000000..d16376b --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/grading.json @@ -0,0 +1,30 @@ +{ + "run_id": "create-new-docs-without_skill", + "expectations": [ + { + "text": "The docs site uses Rspress v2", + "passed": false, + "evidence": "Still on Rspress v1: @rspress/core=, rspress=^1.0.0" + }, + { + "text": "A docs directory exists with an index/home page", + "passed": true, + "evidence": "docs_root=/Users/bytedance/Documents/codes/agent-skills/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/workspace/docs, index.md exists=True" + }, + { + "text": "Navigation is configured via _nav/_meta files or inline config", + "passed": true, + "evidence": "rspress.config.ts has inline nav/sidebar config" + }, + { + "text": "Docs mention the project's utilities", + "passed": true, + "evidence": "all utilities mentioned=True" + }, + { + "text": "Docs build passed", + "passed": true, + "evidence": "build.log indicates success" + } + ] +} \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/404.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/404.html new file mode 100644 index 0000000..e09f2ce --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/404.html @@ -0,0 +1,15 @@ + + + + + + + + 404 - string-kit + + + + +
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/case.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/case.html new file mode 100644 index 0000000..34ac7c7 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/case.html @@ -0,0 +1,105 @@ + + + + + + + + Case Utilities - string-kit + + + +

Case Utilities

+

Functions for converting strings between common naming conventions.

+

camelCase

+

Converts a string to camelCase.

+
function camelCase(input: string): string
+

Parameters

+ + + + + + + + + + + + + + + +
ParameterTypeDescription
inputstringThe string to convert
+

Returns

+

string — The camelCase version of the input.

+

Examples

+
import { camelCase } from 'string-kit';
+
+camelCase('hello world');     // 'helloWorld'
+camelCase('hello-world');     // 'helloWorld'
+camelCase('hello_world');     // 'helloWorld'
+camelCase('Hello World');     // 'helloWorld'
+
+

kebabCase

+

Converts a string to kebab-case.

+
function kebabCase(input: string): string
+

Parameters

+ + + + + + + + + + + + + + + +
ParameterTypeDescription
inputstringThe string to convert
+

Returns

+

string — The kebab-case version of the input.

+

Examples

+
import { kebabCase } from 'string-kit';
+
+kebabCase('hello world');     // 'hello-world'
+kebabCase('helloWorld');      // 'hello-world'
+kebabCase('hello_world');     // 'hello-world'
+kebabCase('Hello World');     // 'hello-world'
+
+

snakeCase

+

Converts a string to snake_case.

+
function snakeCase(input: string): string
+

Parameters

+ + + + + + + + + + + + + + + +
ParameterTypeDescription
inputstringThe string to convert
+

Returns

+

string — The snake_case version of the input.

+

Examples

+
import { snakeCase } from 'string-kit';
+
+snakeCase('hello world');     // 'hello_world'
+snakeCase('helloWorld');      // 'hello_world'
+snakeCase('hello-world');     // 'hello_world'
+snakeCase('Hello World');     // 'hello_world'
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/index.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/index.html new file mode 100644 index 0000000..055a6b0 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/index.html @@ -0,0 +1,36 @@ + + + + + + + + API Reference - string-kit + + + +

API Reference

+

Overview

+

string-kit exports five utility functions organized into two categories:

+ + + + + + + + + + + + + + + + + +
CategoryFunctions
Case UtilitiescamelCase, kebabCase, snakeCase
Truncate Utilitiestruncate, ellipsis
+

All functions are pure (no side effects) and fully typed with TypeScript.

ON THIS PAGE
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/truncate.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/truncate.html new file mode 100644 index 0000000..82fb079 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/api/truncate.html @@ -0,0 +1,109 @@ + + + + + + + + Truncate Utilities - string-kit + + + +

Truncate Utilities

+

Functions for truncating strings with ellipsis handling.

+

truncate

+

Truncates a string to a maximum length, appending an ellipsis if truncated.

+
function truncate(input: string, maxLength: number): string
+

Parameters

+ + + + + + + + + + + + + + + + + + + + +
ParameterTypeDescription
inputstringThe string to truncate
maxLengthnumberThe maximum length of the output string
+

Returns

+

string — The truncated string, or the original if it fits within maxLength.

+

Examples

+
import { truncate } from 'string-kit';
+
+truncate('hello world', 5);   // 'hello...' (5 + 3 = 8 chars)
+truncate('hello world', 20);  // 'hello world' (fits, no truncation)
+truncate('hello world', 0);   // '...' (empty + ellipsis)
+

Notes

+

The truncate function appends ... (3 characters) to the sliced portion. The total output length will be maxLength + 3 when truncation occurs. If you need the total output to be exactly maxLength, use ellipsis instead.

+
+

ellipsis

+

Truncates a string and always appends an ellipsis if it exceeds maxLength. Reserves three characters for the ellipsis.

+
function ellipsis(input: string, maxLength: number): string
+

Parameters

+ + + + + + + + + + + + + + + + + + + + +
ParameterTypeDescription
inputstringThe string to truncate
maxLengthnumberThe maximum length of the output string
+

Returns

+

string — The truncated string with ellipsis, or the original if it fits within maxLength.

+

Examples

+
import { ellipsis } from 'string-kit';
+
+ellipsis('hello world', 8);   // 'hello...' (exactly 8 chars)
+ellipsis('hello world', 20);  // 'hello world' (fits, no truncation)
+ellipsis('hello world', 3);   // '...' (only room for ellipsis)
+

Notes

+

The ellipsis function ensures the total output length never exceeds maxLength. It reserves 3 characters for ..., so the content portion is at most maxLength - 3 characters. When maxLength is less than 3, the result is still ....

+

Comparison

+ + + + + + + + + + + + + + + + + + + + +
FunctionOutput length when truncatedUse when...
truncatemaxLength + 3You want up to maxLength content chars, ellipsis is extra
ellipsismaxLengthYou want the total output to fit within maxLength chars
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/index.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/index.html new file mode 100644 index 0000000..00f7786 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/index.html @@ -0,0 +1,33 @@ + + + + + + + + Introduction - string-kit + + + +

Introduction

+

string-kit is a lightweight TypeScript utility package for common string transformations. It provides case conversion and truncation utilities with zero dependencies.

+

What is string-kit?

+

string-kit solves everyday string manipulation tasks that come up frequently in web development:

+
    +
  • Converting between naming conventions (camelCase, kebab-case, snake_case)
  • +
  • Truncating strings to fit UI constraints while preserving readability
  • +
+

Use Cases

+
    +
  • API clients: Convert between JSON snake_case and JavaScript camelCase
  • +
  • URL generation: Convert titles to kebab-case for slugs
  • +
  • UI display: Truncate long text with proper ellipsis
  • +
+

Next Steps

+
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/installation.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/installation.html new file mode 100644 index 0000000..79309e7 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/guide/installation.html @@ -0,0 +1,27 @@ + + + + + + + + Installation - string-kit + + + +

Installation

+

Install string-kit via your preferred package manager.

+

npm

+
npm install string-kit
+

pnpm

+
pnpm install string-kit
+

yarn

+
yarn add string-kit
+

Usage

+

Import the utilities you need:

+
import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit';
+

Or import individual functions:

+
import { camelCase } from 'string-kit';
ON THIS PAGE
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/index.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/index.html new file mode 100644 index 0000000..4721be5 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/index.html @@ -0,0 +1,31 @@ + + + + + + + + string-kit - string-kit + + + +

string-kit

+

A small collection of string utilities for everyday use.

+

Features

+
    +
  • Case conversion: Convert strings between camelCase, kebab-case, and snake_case
  • +
  • Truncation: Truncate strings with smart ellipsis handling
  • +
  • Zero dependencies: Lightweight and focused
  • +
  • TypeScript: Fully typed with TypeScript definitions
  • +
+

Quick Start

+
import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit';
+
+camelCase('hello world'); // 'helloWorld'
+kebabCase('hello world'); // 'hello-world'
+snakeCase('hello world'); // 'hello_world'
+truncate('hello world', 5); // 'hello...'
+ellipsis('hello world', 8); // 'hello...'
+
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/rspress.config.html b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/rspress.config.html new file mode 100644 index 0000000..a1246ff --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/rspress.config.html @@ -0,0 +1,15 @@ + + + + + + + + string-kit + + + + +
+ + diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/css/styles.56b59350.css b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/css/styles.56b59350.css new file mode 100644 index 0000000..2d3d99d --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/css/styles.56b59350.css @@ -0,0 +1 @@ +.aside-link{border-radius:var(--rp-radius-small)0 0 var(--rp-radius-small);margin-bottom:1px;padding:.25rem 0}.aside-link:hover{background-color:var(--rp-c-bg-mute)}.aside-link.aside-active,.aside-link.aside-active:hover{color:var(--rp-c-link);background-color:var(--rp-c-brand-tint)}.aside-link-text{overflow-wrap:break-word;padding:0 12px;font-size:.8125rem;line-height:1.25rem}@media (min-width:640px){.pager_d6903{flex-direction:column;width:50%;display:flex}.pager_d6903.has-next_e91b1{padding-top:0;padding-left:16px}}.prev_c92d1,.next_c11be{width:100%}.rspress-nav-menu-group-button{background-color:#0000}.hidden_f8586{opacity:0;background:0 0;transform:translateY(-100%)}.container_e4235{margin:auto}.navContainer_d18b1{background:var(--rp-c-bg);height:var(--rp-nav-height);z-index:var(--rp-z-index-nav);transition:transform .3s,opacity .3s;top:0;left:0}.relative_bb7f1{position:relative}.sticky_ddfa7{position:sticky}.sticky_ddfa7+section .rspress-sidebar-menu-container{margin-top:calc(var(--rp-nav-height)*-1);padding-top:var(--rp-nav-height)}.sticky_ddfa7+section .rspress-local-toc-container{margin-top:var(--rp-nav-height)}.leftNav_e6722,.rightNav_a2fea{display:none}.singleItem_c1154{word-break:keep-all}.activeItem_a28b5,.singleItem_c1154:hover{background-color:var(--rp-c-bg-mute);cursor:pointer;color:var(--rp-c-link);border-radius:var(--rp-radius)}.navBarTitle_c5f07{flex-shrink:0}.navContainer_d18b1 *{pointer-events:all}.menu-item_b8238{margin:0 8px;display:none}@media (max-width:960px){.menu-item_b8238:before{display:none}.mobileNavMenu_e7045{align-items:center;display:flex}}@media (min-width:960px){.menu-item_b8238{display:flex}.leftNav_e6722{flex-grow:1;align-items:center;margin:0 .5rem;display:flex}.rightNav_a2fea{align-items:center;display:flex}.mobileNavMenu_e7045{display:none}.mask_cea59{width:100vw;height:30px;position:absolute;bottom:-30px;right:0}.mask_cea59.docPage_b27ff{width:calc(100vw - var(--rp-sidebar-width) - 48px)}.mask_cea59:before{background:linear-gradient(var(--rp-c-bg),transparent 60%);content:"";width:100%;height:30px;display:block}.leftNav_e6722{margin:0 2rem}}.navTitleMask_fb17c{height:var(--rp-nav-height);align-items:center;padding-left:1.5rem;display:flex}.sidebar_dd719{z-index:var(--rp-z-index-sidebar);opacity:0;background:var(--rp-c-bg);flex-shrink:0;width:calc(100vw - 64px);max-width:320px;transition:opacity .5s,transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebarContent_da296{max-height:calc(100% - var(--rp-nav-height));overflow:hidden auto}.sidebar_dd719.open_becbd{opacity:1;visibility:visible;transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1);transform:translate(0,0)}@media (min-width:960px){.sidebar_dd719{z-index:5;opacity:1;visibility:visible;margin-top:calc(var(--rp-nav-height)*-1);height:100vh;width:var(--rp-sidebar-width);box-shadow:var(--rp-c-shadow-3);--webkit-mask-image:linear-gradient(270deg,#000 10px,transparent 0);position:sticky;transform:translate(0,0);-webkit-mask-image:linear-gradient(#0000,#000 20px),linear-gradient(270deg,#000 10px,#0000 0);mask-image:linear-gradient(#0000,#000 20px),linear-gradient(270deg,#000 10px,#0000 0)}}.menuLink_bb039{opacity:1}.menuLink_bb039:hover{color:inherit;transition:all .2s}.menuItem_ac22e:hover{color:var(--rp-c-text-1);background-color:var(--rp-c-bg-mute);transition:all .2s}.collapseContainer_d6e4e:hover{background-color:#e5e5e566;transition:all .2s}:is(.dark .menuItem_ac22e:hover,.dark .collapseContainer_d6e4e:hover){background-color:var(--rp-c-bg-mute);transition:all .2s}.menuItem_ac22e,.menuItemActive_de63c{border-radius:0 var(--rp-radius)var(--rp-radius)0;font-size:13px;line-height:19px}.menuItem_ac22e{color:var(--rp-c-text-2);font-weight:500;transition:color .2s}.menuItemActive_de63c{background-color:var(--rp-c-brand-tint);color:var(--rp-c-link);font-weight:bolder;position:relative}.menuItemActive_de63c:before{content:"";background-color:var(--rp-c-brand);width:1px;height:100%;transition:all .2s;position:absolute;top:0;left:0}.menuGroupActive_e3177{background-color:var(--rp-c-bg-mute)}.rspress-sidebar-group{position:relative}.rspress-sidebar-group:before{content:"";background-color:var(--rp-c-gray-light-4);width:1px;height:100%;position:absolute;top:0;left:18px}.rspress-sidebar-section-header{align-items:center;padding:8px 0 8px 16px;display:flex}.rspress-sidebar-section-header>span{color:var(--rp-c-text-1);align-items:center;margin-left:8px;font-size:14px;font-weight:700;line-height:20px;display:flex}.dark .rspress-sidebar-group:before{background-color:var(--rp-c-bg-mute)}.dark .sidebar_dd719{box-shadow:var(--rp-shadow-1)}.link_a7cea{cursor:pointer;font-weight:500;transition:opacity .2s}.link_a7cea:hover{opacity:.85}.link_a7cea:active{opacity:.7}.rspress-toc-link{border-radius:var(--rp-radius-small);transition:all .3s;display:block}.rspress-toc-link-text{white-space:nowrap;text-overflow:ellipsis;border-radius:var(--rp-radius-small);color:var(--rp-c-text-2);padding:6px 12px;transition:all .2s ease-in-out;overflow:hidden}.rspress-toc-link-text:hover{background-color:var(--rp-c-bg-mute);color:var(--rp-c-text-1)}.rspress-sidebar-menu-container{z-index:var(--rp-z-index-local-nav);position:sticky;top:0;left:0}.rspress-sidebar-menu{border-bottom:1px solid var(--rp-c-divider-light);border-top:1px solid var(--rp-c-divider-light);width:100%;color:var(--rp-c-text-1);background-color:var(--rp-c-bg);justify-content:space-between;align-items:center;padding-left:10px;display:flex}.rspress-sidebar-menu>button{background-color:#0000;padding:12px;transition:color .5s}.rspress-sidebar-menu>button:hover{color:var(--rp-c-text-3)}.rspress-sidebar-menu:empty{display:none}.rspress-sidebar-back-drop{z-index:var(--rp-z-index-backdrop);position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:1280px){.rspress-sidebar-menu{display:none}}@media (min-width:960px) and (max-width:1280px){.rspress-sidebar-menu>button:first-child,.rspress-sidebar-menu-container.no-toc{display:none}html:root:has(.rspress-sidebar-menu-container.no-toc){--rp-sidebar-menu-height:0px}}.rspress-local-toc-container{border-radius:var(--rp-radius-small);top:calc(var(--rp-nav-height) - 14px);background-color:var(--rp-c-bg-soft);max-height:calc(100vh - var(--rp-nav-height) - 20px);box-shadow:var(--rp-shadow-1);border:1px solid var(--rp-c-divider-light);opacity:0;visibility:hidden;padding:6px;transition:all .3s ease-out;position:absolute;left:20px;right:20px;overflow:scroll;transform:translateY(-20px)}.rspress-local-toc-container-show{opacity:1;visibility:visible;transform:translateY(0)}.fly-in-enter{opacity:0;transform:translateY(-16px)}.fly-in-enter-active{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0,0)}.fly-in-exit,.fly-in-exit-active{opacity:0;transition:none}.title_fb7eb{outline:none;font-weight:600;position:relative}.title_fb7eb .header-anchor{float:left;opacity:0;font-weight:500;font-size:inherit;margin-left:-.8em;transition:color .25s,opacity .25s}.title_fb7eb:hover .header-anchor,.title_fb7eb .header-anchor:focus{opacity:1}.blockquote_f1063 p,summary .blockquote_f1063 p{color:var(--rp-c-text-2);margin:0;font-size:16px}.link_a9ef4:not(.header-anchor),summary .link_a9ef4:not(.header-anchor),summary a:not(.header-anchor){color:var(--rp-c-link);font-weight:500;transition:color .25s}.link_a9ef4:hover,summary .link_a9ef4:hover,summary a:hover{border-bottom:1px solid var(--rp-c-brand)}.header-anchor{color:var(--rp-c-brand)}.rspress-doc details{font-size:normal;cursor:pointer;margin:16px 0;padding:8px;transition:all .3s}.rspress-doc details p{margin:8px 0}.rspress-doc details:hover{background-color:var(--rp-c-bg-mute)}.inline-link_f855c{overflow-wrap:break-word;display:inline}span.code-line-highlighted{background-color:var(--rp-code-line-highlight-color)}.aside-container_bc5fa{margin-top:calc(var(--rp-nav-height)*-1 - var(--rp-content-padding-y));padding-top:calc(var(--rp-nav-height) + var(--rp-content-padding-y));scrollbar-width:none;width:0;max-height:calc(100vh - var(--rp-nav-height) + var(--rp-content-padding-y)*2);display:none;position:sticky;top:0;overflow:hidden auto}.aside-container_bc5fa::-webkit-scrollbar{display:none}.rspress-doc{view-transition-name:flip;min-height:60vh}@keyframes fade-out_cfa8c{0%{opacity:1}to{opacity:0;transform:translateY(20px)}}@keyframes fade-in_b8f53{0%{opacity:0;transform:translateY(20px)}to{opacity:1}}::view-transition-old(flip){animation-duration:.25s}::view-transition-new(flip){animation-duration:.25s}::view-transition-old(flip){transition-timing-function:ease-out;animation-name:fade-out_cfa8c}::view-transition-new(flip){transition-timing-function:ease-in;animation-name:fade-in_b8f53;animation-delay:.18s}:is(.content_ff766 .rspress-doc,.content_ff766 .rspress-doc-footer){padding:var(--rp-content-padding-y)var(--rp-content-padding-x)}.content_ff766 .rspress-doc{padding-bottom:0}.content_ff766 .rspress-doc-footer{padding-top:0}@media (max-width:960px){html:root{--rp-content-padding-y:36px}.rspress-doc{view-transition-name:none}}@media (min-width:960px){.aside-container_bc5fa{width:var(--rp-aside-width);display:none}.docLayout_af141{display:flex}}@media (min-width:1280px){html:root{--rp-content-padding-x:64px}.aside-container_bc5fa{display:block}:is(.content_ff766 .rspress-doc,.content_ff766 .rspress-doc-footer){max-width:min(100%,992px);margin:auto}}:root{--rp-home-hero-name-color:transparent;--rp-home-hero-name-background:-webkit-linear-gradient(120deg,var(--rp-c-brand)30%,#42d392);--rp-home-hero-image-background-image:none;--rp-home-hero-image-filter:none;--rp-home-feature-bg:var(--rp-c-bg-soft);--rp-home-mask-background-image:conic-gradient(from 180deg at 50% 50%,var(--rp-c-brand)0deg,180deg,#42d392 1turn);--rp-home-hero-image-width-sm:250px;--rp-home-hero-image-width:375px;--rp-home-hero-text-max-width:40rem}.dark{--rp-home-bg:#000;--rp-home-feature-bg:var(--rp-c-bg-soft)}:root{--rp-nav-height:72px;--rp-sidebar-width:320px;--rp-sidebar-menu-height:46px;--rp-aside-width:268px;--rp-content-padding-x:24px;--rp-content-padding-y:48px}@media (max-width:768px){html:root{--rp-nav-height:56px}}@media (min-width:1280px){html:root{--rp-sidebar-menu-height:0px}}:root{--rp-c-bg:#fff;--rp-c-bg-soft:#f9f9f9;--rp-c-bg-mute:#f1f1f1;--rp-c-divider:#3c3c3c4a;--rp-c-divider-light:#3c3c3c1a;--rp-c-text-1:#213547;--rp-c-text-2:#3c3c3ca8;--rp-c-text-3:#3c3c3c54;--rp-c-text-4:#3c3c3c2e;--rp-c-text-code:#476573;--rp-c-text-code-bg:#99a1b31a;--rp-c-brand:#0095ff;--rp-c-brand-light:#33adff;--rp-c-brand-lighter:#66c2ff;--rp-c-brand-dark:#07f;--rp-c-brand-darker:#005fcc;--rp-c-brand-tint:#7fa3ff29;--rp-c-gray:#8e8e8e;--rp-c-gray-light-1:#aeaeae;--rp-c-gray-light-2:#c7c7c7;--rp-c-gray-light-3:#d1d1d1;--rp-c-gray-light-4:#e5e5e5;--rp-c-gray-light-5:#f2f2f2;--rp-c-dark:#000;--rp-c-dark-light-1:#2f2f2f;--rp-c-dark-light-2:#3a3a3a;--rp-c-dark-light-3:#4a4a4a;--rp-c-dark-light-4:#5c5c5c;--rp-c-dark-light-5:#6b6b6b;--rp-radius:1rem;--rp-radius-small:.5rem;--rp-radius-large:1.5rem;--rp-c-link:var(--rp-c-brand-dark)}.dark{--rp-c-bg:#191d24;--rp-c-bg-soft:#292e37;--rp-c-bg-mute:#343a46;--rp-c-bg-alt:#000;--rp-c-divider:#545454a6;--rp-c-divider-light:#5454547a;--rp-c-text-1:#fffff5ed;--rp-c-text-2:#ebebeb8f;--rp-c-text-3:#ebebeb61;--rp-c-text-4:#ebebeb2e;--rp-c-text-code:#c9def1;--rp-c-link:var(--rp-c-brand-light)}:root{--rp-z-index-local-nav:10;--rp-z-index-nav:20;--rp-z-index-backdrop:30;--rp-z-index-sidebar:40;--rp-shadow-1:0 1px 4px #00000005,0 1px 0 #0000000f;--rp-shadow-2:0 3px 12px #00000012,0 1px 4px #00000012;--rp-shadow-3:0 12px 32px #0000001a,0 2px 6px #00000014;--rp-shadow-4:0 14px 44px #0000001f,0 3px 9px #0000001f;--rp-shadow-5:0 18px 56px #00000029,0 4px 12px #00000029}*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.right-0{right:0}.top-8{top:2rem}.z-10{z-index:10}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.-m-1\.5{margin:-.375rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[50px\]{height:50px}.h-full{height:100%}.min-h-\[50vh\]{min-height:50vh}.w-12{width:3rem}.w-16{width:4rem}.w-32{width:8rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-\[50px\]{width:50px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-8{min-width:2rem}.max-w-6xl{max-width:72rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-4xl{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t,.border-t-\[1px\]{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-brand{border-color:var(--rp-c-brand)}.border-current{border-color:currentColor}.border-divider{border-color:var(--rp-c-divider)}.border-divider-light{border-color:var(--rp-c-divider-light)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-light-3{border-color:var(--rp-c-gray-light-3)}.border-transparent{border-color:#0000}.bg-gray-light-1{background-color:var(--rp-c-gray-light-1)}.bg-white{background-color:var(--rp-c-bg)}.p-1{padding:.25rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.625rem}.text-3xl{font-size:2rem}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.375rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-brand{color:var(--rp-c-brand)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-text-1{color:var(--rp-c-text-1)}.text-text-2{color:var(--rp-c-text-2)}.opacity-80{opacity:.8}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[counter-reset\:step\]{counter-reset:step}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--rp-nav-height) + var(--rp-sidebar-menu-height));font-size:16px;line-height:1.7}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{width:100%;min-width:320px;font-family:var(--rp-font-family-base);color:var(--rp-c-text-1);background-color:var(--rp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:ltr;margin:0;font-size:16px;font-weight:400}button:focus{outline:none}button:focus-visible{outline:none}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}.visually-hidden{visibility:hidden}.flex-center{justify-content:center;align-items:center;display:flex}.menu{justify-content:space-around;align-items:center;font-size:.875rem;font-weight:700;line-height:1.25rem;display:flex}.rspress-logo{height:1.6rem}#nprogress .bar{background:var(--rp-c-brand);width:100%;height:2px;position:fixed;top:0;left:0}:root{--code-color-text:#414141;--code-color-background:transparent;--code-token-constant:#f59403;--code-token-string:#31a94d;--code-token-comment:#b6b4b4;--code-token-keyword:#cf2727;--code-token-parameter:#1976d2;--code-token-function:#7041c8;--code-token-string-expression:#218438;--code-token-punctuation:#242323;--code-token-link:#22863a;--code-token-variable:#1976d2;--code-token-symbol:#f59403;--code-token-deleted:#d32828;--code-token-inserted:#22863a}.dark{--code-color-text:#cac7c7;--code-token-constant:#6fb0fa;--code-token-string:#f9a86e;--code-token-comment:#6a727b;--code-token-keyword:#f47481;--code-token-parameter:#ff9800;--code-token-function:#ae8eeb;--code-token-string-expression:#4fb74d;--code-token-punctuation:#bbb;--code-token-link:#f9a76d;--code-token-variable:#6fb0fa;--code-token-symbol:#f9a86e;--code-token-deleted:#ee6d7a;--code-token-inserted:#36c47f}:root{--rp-font-family-base:"Inter var experimental","Inter var",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--rp-font-family-mono:Menlo,Monaco,Consolas,"Courier New",monospace}.first\:mt-2:first-child{margin-top:.5rem}.last\:mr-0:last-child{margin-right:0}.even\:bg-soft:nth-child(2n){background-color:var(--rp-c-bg-soft)}.hover\:border-brand-dark:hover{border-color:var(--rp-c-brand-dark)}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:bg-mute:hover{background-color:var(--rp-c-bg-mute)}.hover\:text-brand-dark:hover{color:var(--rp-c-brand-dark)}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-text-1:hover{color:var(--rp-c-text-1)}.hover\:text-text-2:hover{color:var(--rp-c-text-2)}.hover\:opacity-60:hover{opacity:.6}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:.5}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border-divider:is(.dark *){border-color:var(--rp-c-divider)}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:hover\:border-gray-200:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:m-4{margin:1rem}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-1{flex:1}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-around{justify-content:space-around}.sm\:p-8{padding:2rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pl-4{padding-left:1rem}.sm\:pr-2{padding-right:.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pt-24{padding-top:6rem}.sm\:pt-8{padding-top:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:leading-8{line-height:2rem}}@media (min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:m-0{margin:0}.md\:ml-1{margin-left:.25rem}.md\:mr-2{margin-right:.5rem}.md\:flex{display:flex}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:justify-center{justify-content:center}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-3{padding-bottom:.75rem}.md\:pt-16{padding-top:4rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-\[1\.5rem\]{font-size:1.5rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:pb-2{padding-bottom:.5rem}}.\[\&\:not\(\:first-child\)\]\:mt-2:not(:first-child){margin-top:.5rem}.rspress-doc :not(:where(.rp-not-doc *)):where(ul){margin-top:1rem;margin-bottom:1rem;padding-left:1.25rem;line-height:1.75rem;list-style:outside}.rspress-doc :not(:where(.rp-not-doc *)):where(ol){margin-top:1rem;margin-bottom:1rem;padding-left:1.25rem;line-height:1.75rem;list-style:decimal}.rspress-doc :not(:where(.rp-not-doc *)):where(ul li):not(:first-child){margin-top:.5rem}.rspress-doc :not(:where(.rp-not-doc *)):where(ol li):not(:first-child){margin-top:.5rem}.rspress-doc :not(:where(.rp-not-doc *)):where(table){border-collapse:collapse;border:1px solid var(--rp-c-border);margin-top:1.25rem;margin-bottom:1.25rem;font-size:1rem;line-height:1.75rem;display:block;overflow-x:auto}.rspress-doc :not(:where(.rp-not-doc *)):where(table tr){border:1px solid;border-color:var(--rp-c-gray-light-3);transition-property:color,background-color,border-color;transition-duration:.5s}.rspress-doc :not(:where(.rp-not-doc *)):where(table tr):nth-child(2n){background-color:var(--rp-c-bg-soft)}.rspress-doc :not(:where(.rp-not-doc *)):where(table td){border:1px solid;border-color:var(--rp-c-gray-light-3);padding:.5rem 1rem}.rspress-doc :not(:where(.rp-not-doc *)):where(table th){color:var(--rp-c-text-1);border:1px solid;border-color:var(--rp-c-gray-light-3);padding:.5rem 1rem;font-size:1rem;font-weight:600}:where(.dark) .rspress-doc :not(:where(.rp-not-doc *)):where(table){border-color:var(--rp-c-divider)}:where(.dark) .rspress-doc :not(:where(.rp-not-doc *)):where(table tr){border-color:var(--rp-c-divider)}:where(.dark) .rspress-doc :not(:where(.rp-not-doc *)):where(table td){border-color:var(--rp-c-divider)}:where(.dark) .rspress-doc :not(:where(.rp-not-doc *)):where(table th){border-color:var(--rp-c-divider)}:root{--rp-code-font-size:14px;--rp-code-block-color:#2e3440;--rp-code-title-bg:#0063c70d;--rp-code-block-bg:#f6f8fa;--rp-code-line-highlight-color:#0063c71a;--rp-code-line-number-color:#ebebeb61;--rp-code-copy-code-hover-bg:#ffffff0d;--rp-code-wrap-code-hover-bg:#ffffff0d}.dark{--rp-code-block-color:#e5e7eb;--rp-code-block-bg:#242424;--rp-code-title-bg:#ffffff0a;--rp-code-line-highlight-color:#ffffff1a;--rp-code-line-number-color:#3c3c3c54}.rspress-doc :not(:-webkit-any(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--rp-code-font-size)}.rspress-doc :not(:-moz-any(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--rp-code-font-size)}.rspress-doc :not(:-webkit-any(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--rp-code-font-size)}.rspress-doc :not(:-moz-any(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--rp-code-font-size)}.rspress-doc :not(:is(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--rp-code-font-size)}.rspress-doc :not(:-webkit-any(pre,div))>code{border-radius:var(--rp-radius-small);background-color:var(--rp-c-text-code-bg);overflow-wrap:break-word;padding:3px 6px}.rspress-doc :not(:-moz-any(pre,div))>code{border-radius:var(--rp-radius-small);background-color:var(--rp-c-text-code-bg);overflow-wrap:break-word;padding:3px 6px}.rspress-doc :not(:-webkit-any(pre,div))>code{border-radius:var(--rp-radius-small);background-color:var(--rp-c-text-code-bg);overflow-wrap:break-word;padding:3px 6px}.rspress-doc :not(:-moz-any(pre,div))>code{border-radius:var(--rp-radius-small);background-color:var(--rp-c-text-code-bg);overflow-wrap:break-word;padding:3px 6px}.rspress-doc :not(:is(pre,div))>code{border-radius:var(--rp-radius-small);background-color:var(--rp-c-text-code-bg);overflow-wrap:break-word;padding:3px 6px}.rspress-doc :not(:-webkit-any(pre,div,a))>code{color:var(--rp-c-text-code)}.rspress-doc :not(:-moz-any(pre,div,a))>code{color:var(--rp-c-text-code)}.rspress-doc :not(:-webkit-any(pre,div,a))>code{color:var(--rp-c-text-code)}.rspress-doc :not(:-moz-any(pre,div,a))>code{color:var(--rp-c-text-code)}.rspress-doc :not(:is(pre,div,a))>code{color:var(--rp-c-text-code)}.rspress-doc h1>code,.rspress-doc h2>code,.rspress-doc h3>code{font-size:.9em}.rspress-doc a>code{color:var(--rp-c-brand-dark);transition:color .25s}.rspress-doc a:hover>code{color:var(--rp-c-brand)}.rspress-doc div[class^=language-]{background-color:var(--rp-code-block-bg);margin:16px 0;transition:none;position:relative;overflow-x:auto}.rspress-doc .rspress-code-title{font-size:var(--rp-code-font-size);background-color:var(--rp-code-title-bg);padding:12px 16px;transition:background-color .5s}@media (min-width:640px){.rspress-doc div[class^=language-]{border-radius:var(--rp-radius);contain:content;margin:24px 0}}@media (max-width:640px){.rspress-doc li div[class^=language-]{border-radius:var(--rp-radius-small)0 0 var(--rp-radius-small)}}.rspress-doc [class^=language-] pre,.rspress-doc [class^=language-] code{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}.rspress-doc [class^=language-] pre{z-index:1;background:0 0;margin:0;position:relative;overflow-x:auto}.rspress-doc [class^=language-] code{width:-moz-fit-content;width:fit-content;min-width:100%;line-height:1.7;font-size:var(--rp-code-font-size);color:var(--rp-code-block-color);background-color:var(--rp-code-block-bg);padding:16px 0;transition:color .5s;display:block}.rspress-doc [class^=language-] .rspress-code-content{position:relative}.rspress-doc [class^=language-] .rspress-code-content span.highlighted{background-color:var(--rp-code-line-highlight-color);padding-left:20px;display:block;position:absolute;left:0;right:0}.rspress-doc [class^=language-] .rspress-code-content>code{padding:16px 20px}.rspress-scrollbar{scrollbar-gutter:stable}.rspress-scrollbar::-webkit-scrollbar{width:12px;height:8px;transition:all .3s}.rspress-scrollbar::-webkit-scrollbar-track{background:0 0}.rspress-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--rp-radius-small)}.rspress-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--rp-c-text-4);background-clip:content-box;border:3px solid #0000}.rspress-scrollbar::-webkit-scrollbar-corner{background:0 0}.rspress-code-content:hover .code-button-group_fb445>button{opacity:1}.code-button-group_fb445{z-index:10;gap:10px;display:flex;position:absolute;top:20px;right:20px}.code-button-group_fb445>button{opacity:0;background-color:#0000;justify-content:center;align-items:center;display:flex;position:relative}.code-button-group_fb445 svg{opacity:inherit;width:20px;height:20px;color:var(--rp-c-text-3);transition:all .2s}.code-button-group_fb445 svg:hover{color:var(--rp-c-text-2)}.code-copy-button_c5089 .icon-success_d5ec0{opacity:0;color:#00d600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.code-copied_e2224 .icon-copy_ef942{opacity:0;transform:scale(.33)}.code-copied_e2224 .icon-success_d5ec0{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}.icon-wrapped_fb89b{opacity:0;color:#00d600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.wrapped-btn_a2562 .icon-wrap_ccd3d{opacity:0;transform:scale(.33)}.wrapped-btn_a2562 .icon-wrapped_fb89b{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}.badge_cbafb{font-weight:500;transition:color .25s}.badge_cbafb.tip_cce85{color:var(--rp-container-tip-text);background-color:var(--rp-container-tip-bg)}.badge_cbafb.info_e8cd3{color:var(--rp-container-info-text);background-color:var(--rp-container-info-bg)}.badge_cbafb.warning_b5c28{color:var(--rp-container-warning-text);background-color:var(--rp-container-warning-bg)}.badge_cbafb.danger_b0301{color:var(--rp-container-danger-text);background-color:var(--rp-container-danger-bg)}.badge_cbafb.outline_faf5e{border:1px solid}.badge_cbafb.outline_faf5e.tip_cce85{border-color:var(--rp-container-tip-border)}.badge_cbafb.outline_faf5e.info_e8cd3{border-color:var(--rp-container-info-border)}.badge_cbafb.outline_faf5e.warning_b5c28{border-color:var(--rp-container-warning-border)}.badge_cbafb.outline_faf5e.danger_b0301{border-color:var(--rp-container-danger-border)}.button_e8e0d{box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;height:48px;font-weight:700;display:inline-flex}.button_e8e0d:active{transition:color .1s,border-color .1s,background-color .1s}.button_e8e0d.medium_fe00b{border-radius:var(--rp-radius);height:38px;padding:0 20px;font-size:14px;line-height:38px}.button_e8e0d.big_f7033{border-radius:var(--rp-radius-large);min-width:142px;font-size:16px;font-weight:700}.button_e8e0d.brand_dc619,.button_e8e0d.brand_dc619:hover,.button_e8e0d.brand_dc619:active{opacity:1;color:#fff;transition:all .3s}.button_e8e0d.brand_dc619{background:linear-gradient(275deg,var(--rp-c-brand-dark)3%,var(--rp-c-brand-light)97%)}.button_e8e0d.brand_dc619:hover{background-color:var(--rp-c-brand-light);opacity:.8}.button_e8e0d.alt_b0249,.button_e8e0d.alt_b0249:hover,.button_e8e0d.alt_b0249:active{border:1px solid var(--rp-c-gray-light-3);color:var(--rp-c-text-1);background-color:var(--rp-c-gray-light-5);transition:all .3s}.dark .button_e8e0d.alt_b0249{background-color:var(--rp-c-bg-mute);color:var(--rp-c-text-1);border-color:#484848}.button_e8e0d.alt_b0249:hover{background-color:var(--rp-c-gray-light-4)}.dark .button_e8e0d.alt_b0249:hover{background-color:#484848}@media (max-width:768px){.button_e8e0d.big_f7033{min-width:100px;height:42px;font-size:14px;line-height:42px}}.editLink_e1cfa{color:var(--rp-c-brand);margin:20px 0;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s ease-in-out}.editLink_e1cfa:hover{color:var(--rp-c-brand-dark)}@media (max-width:640px){.grid-2_bce10,.grid-4_bd059,.grid-6_ce438{width:100%}}@media (min-width:640px){.grid-2_bce10,.grid-4_bd059,.grid-6_ce438{width:50%}}@media (min-width:768px){.grid-2_bce10,.grid-4_bd059{width:50%}.grid-3_bf296,.grid-6_ce438{width:33.3333%}}@media (min-width:960px){.grid-3_bf296{width:25%}.grid-4_bd059{width:33.3333%}.grid-6_ce438{width:50%}}.featureCard_a17b6{background:var(--rp-home-feature-bg);border:1px solid #0000;transition:all .3s}.featureCard_a17b6:hover{border:1px solid var(--rp-c-brand)}.clip_aacad{background:var(--rp-home-hero-name-background);-webkit-text-fill-color:var(--rp-home-hero-name-color);-webkit-background-clip:text;background-clip:text}.mask_bbaa6{background-image:var(--rp-home-mask-background-image);mixblendmode:normal;filter:blur(80px);opacity:.05;z-index:0;border-radius:100%;width:100%;max-width:500px;height:500px;margin-top:-250px;position:absolute;top:50%;transform:translate(-50%)}.dark .mask_bbaa6{opacity:.15}@media (min-width:640px){.rspress-home-hero-image{width:var(--rp-home-hero-image-width)}}@media (max-width:640px){.rspress-home-hero-image{max-width:var(--rp-home-hero-image-width-sm)}}@media (max-width:768px){.mask_bbaa6{display:none}}.link_e1101:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.linkCard_f82f1:hover{background-color:var(--rp-c-bg-mute)}.social-links-icon_a4ad0{fill:currentColor;width:20px;height:20px;color:var(--rp-c-text-2);align-items:center;margin-left:.5rem;display:flex}.social-links-icon_a4ad0:hover{color:var(--rp-c-text-1)}@media (max-width:768px){.menu-item_e90a6:before{display:none}a:only-child .social-links-icon_a4ad0{margin-left:0}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}.dark::view-transition-new(root){z-index:1}::view-transition-new(root){z-index:9999}.dark::view-transition-old(root){z-index:9999}.navScreen_ec30c{top:var(--rp-nav-height);background-color:var(--rp-c-bg);pointer-events:auto;z-index:20;width:100%;padding:32px;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.active_d804e{display:block}.container_c935d{max-width:248px;margin:0 auto;padding:24px 0 96px}.navMenu_b887b{flex-direction:column;justify-content:center;align-items:center;display:flex}.navMenuItem_e7978{color:var(--rp-c-text-1);border-bottom:1px solid var(--rp-c-divider-light);justify-content:center;padding:12px 0 11px;font-size:14px;font-weight:500;line-height:24px;transition:border-color .5s,color .25s;display:flex}.navAppearance_bf893{padding-right:0}.socialAndAppearance_eda28{padding:8px 0 7px}.navScreenMenuGroup_e771d{height:39px;transition:border-color .5s;overflow:hidden}.navScreenMenuGroup_e771d.open_aaab4{height:auto;padding-bottom:10px}.button_ea41e{width:100%;color:var(--rp-c-text-1);background-color:#0000;justify-content:center;align-items:center;padding:8px 0 7px;font-size:14px;font-weight:500;line-height:24px;transition:color .25s;display:flex}.buttonSpan_f4b8f{align-items:center;height:24px;padding-right:4px;display:flex}.navScreenMenuGroup_e771d .items_dd149{visibility:hidden}.navScreenMenuGroup_e771d.open_aaab4 .items_dd149{visibility:visible}.down_f631a{transition:all .5s}.open_aaab4.down_f631a{transform:rotate(180deg)}.navHamburger_ac64c{background-color:#0000;justify-content:center;align-items:center;width:36px;height:56px;margin-left:6px;display:flex}@media (min-width:1280px){.navHamburger_ac64c{display:none}}.container_e8b23{width:16px;height:14px;position:relative;overflow:hidden}.navHamburger_ac64c:hover .top_ea042{top:0;left:0;transform:translate(4px)}.navHamburger_ac64c:hover .middle_e52e2{top:6px;left:0;transform:translate(0,0)}.navHamburger_ac64c:hover .bottom_f0588{top:12px;left:0;transform:translate(8px)}.navHamburger_ac64c.active_bc9a1 .top_ea042{top:6px;transform:translate(0,0)rotate(225deg)}.navHamburger_ac64c.active_bc9a1 .middle_e52e2{top:6px;transform:translate(16px)}.navHamburger_ac64c.active_bc9a1 .bottom_f0588{top:6px;transform:translate(0,0)rotate(135deg)}.navHamburger_ac64c.active_bc9a1:hover .top_ea042,.navHamburger_ac64c.active_bc9a1:hover .middle_e52e2,.navHamburger_ac64c.active_bc9a1:hover .bottom_f0588{transition:top .25s,background-color .25s,transform .25s}.top_ea042,.middle_e52e2,.bottom_f0588{background-color:var(--rp-c-text-2);width:16px;height:1.5px;transition:top .25s,background-color .5s,transform .25s;position:absolute}.top_ea042{top:0;left:0;transform:translate(0,0)}.middle_e52e2{top:6px;left:0;transform:translate(8px)}.bottom_f0588{top:12px;left:0;transform:translate(4px)}.overview-index{max-width:1152px;padding-left:2rem;padding-right:2rem}:is(.overview-index h1,.overview-index h2,.overview-index h3){font-weight:600}:is(.overview-index h2,.overview-index h3){line-height:1}.overview-index h2{letter-spacing:-.02em;color:var(--rp-c-text-1);border-top:1px solid var(--rp-c-divider-light);margin:36px 0;padding-top:36px;font-size:24px;transition:color .5s}.overview-index h3,.overview-index h3>a{letter-spacing:-.01em;color:var(--rp-c-link);margin-bottom:1em;font-size:18px;font-weight:600;transition:color .5s}.overview-index h3>a{margin:0;line-height:1.3}.overview-index h3:before{display:none}:is(.overview-index h1:hover .header-anchor_d4f17,.overview-index h1:focus .header-anchor_d4f17,.overview-index h2:hover .header-anchor_d4f17,.overview-index h2:focus .header-anchor_d4f17,.overview-index h3:hover .header-anchor_d4f17,.overview-index h3:focus .header-anchor_d4f17,.overview-index h4:hover .header-anchor_d4f17,.overview-index h4:focus .header-anchor_d4f17,.overview-index h5:hover .header-anchor_d4f17,.overview-index h5:focus .header-anchor_d4f17,.overview-index h6:hover .header-anchor_d4f17,.overview-index h6:focus .header-anchor_d4f17){opacity:1}.overview-index a.header-anchor_d4f17{float:left;opacity:0;color:var(--rp-c-brand);margin-top:.125em;margin-left:-.87em;padding-right:.23em;font-size:.85em;font-weight:500;text-decoration-style:dotted;transition:color .25s}:is(.overview-index a.header-anchor_d4f17:hover,.overview-index a.header-anchor_d4f17:focus){text-decoration:none}.overview-groups_ced08 a{color:var(--rp-c-text-code);overflow-wrap:break-word;margin-top:8px;font-size:15px;font-weight:500;line-height:1.6;transition:color .5s;display:block}.overview-group-li_e0f17{position:relative}.overview-group-li_e0f17.level-2_e4d63{padding-left:1px}.overview-group-li_e0f17.level-2_e4d63:before{left:-.25rem}.overview-group-li_e0f17.level-3_b489a{padding-left:8px}.overview-group-li_e0f17.level-3_b489a:before{left:-.25rem}.overview-group-li_e0f17.level-4_a9543{padding-left:16px}.overview-group-li_e0f17.level-4_a9543:before{left:-.25rem}.overview-group_f8331{break-inside:avoid;background-color:var(--rp-c-bg-soft);border-radius:var(--rp-radius);margin-bottom:28px;padding:28px 32px;transition:background-color .5s}@media (max-width:768px){.overview-index h1{margin-bottom:24px;font-size:32px}.overview-index h2{margin:42px 0 32px;padding-top:32px;font-size:22px}.overview-groups_ced08 a{font-size:14px}.header_ba4f6{display:block}}@media (min-width:768px){.overview-groups_ced08{columns:2}}@media (min-width:1280px){.overview-groups_ced08{columns:3}}.rspress-package-manager-tabs div[class*=language-] code{background-color:var(--rp-c-bg-mute)!important}.pager-link_e0d2d{border-radius:var(--rp-radius);width:100%;height:100%;padding:16px 20px;transition:border-color .25s;display:block;border:1px solid var(--rp-c-divider-light)!important}.pager-link_e0d2d:hover{border-color:var(--rp-c-brand)!important}.pager-link_e0d2d:hover .title_a3acb{color:var(--rp-c-brand-dark)}.pager-link_e0d2d.next_ad355{text-align:right;margin-left:auto}.desc_dcc01{color:var(--rp-c-text-2);font-size:12px;font-weight:500;line-height:20px;display:block}.title_a3acb{color:var(--rp-c-brand);font-size:14px;font-weight:500;line-height:24px;transition:color .25s;display:block}.scroll-to-top_e22be{z-index:1;color:var(--rp-c-text-1);border-color:var(--rp-c-text-3);background-color:var(--rp-c-bg-soft);box-shadow:0 1px 3px 0 var(--rp-shadow-1),0 1px 2px 0 var(--rp-shadow-2);border-width:.1px;border-radius:9999px;padding:.5rem;transition-property:transform;transition-duration:75ms;transition-timing-function:cubic-bezier(.4,0,.2,1);position:fixed;bottom:1rem;right:1rem;transform:scale(0)}.scroll-to-top_e22be.entered_c8faf{transform:scale(1)!important}.container_df5ed{background-color:var(--rp-code-block-bg);contain:content;border-radius:var(--rp-radius);margin:1rem 0}.container_df5ed div[class*=language-]{border-radius:0;margin:0 -.5rem;font-size:13px}.container_df5ed .rspress-code-title{padding:8px 16px}.tab-list_ccbcc{min-width:100%;padding-top:4px;padding-left:8px;display:flex;overflow-x:scroll}.tab_cae68{color:var(--rp-c-text-2);box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:10px;padding:6px 12px;transition:all .2s ease-in-out;position:relative}.tab_cae68:last-child{margin-right:0}.tab_cae68:after{content:"";background-color:#0000;border-radius:2px;width:50%;height:2px;position:absolute;bottom:0;left:25%}.not-selected_dab7a:hover{color:var(--rp-c-text-1)}.selected_f5c1e{color:var(--rp-c-link);font-weight:500}.selected_f5c1e:after{background-color:currentColor}.no-scrollbar_db61f::-webkit-scrollbar{display:none}.no-scrollbar_db61f{-ms-overflow-style:none;scrollbar-width:none}.mask_ac6b3{z-index:100;background:#545454b3;position:fixed;top:0;bottom:0;left:0;right:0}.modal_e4a04{background-color:var(--rp-c-bg-soft);border-radius:var(--rp-radius);max-width:560px;height:auto;margin:80px auto auto;padding:20px;position:relative}.inputForm_d4ba2{background-color:var(--rp-c-bg);border:1px solid var(--rp-c-brand);border-radius:var(--rp-radius-small);align-items:center;width:100%;height:55px;padding:0 12px;display:flex}.inputForm_d4ba2 .input_f8add{background-color:var(--rp-c-bg);outline:none;flex:1;width:80%;height:100%;padding-left:8px;font-size:20px;font-weight:500}.dark .inputForm_d4ba2 .input_f8add{color:var(--rp-c-text)}.close_bee84:hover{cursor:pointer;color:var(--rp-c-brand);transition:color .3s}.searchHits_dc1b2{max-height:calc(100vh - 230px);padding-right:2px;overflow:scroll}.searchHits_dc1b2 .groupTitle_fe27c{background-color:var(--rp-c-bg-soft);color:var(--rp-c-brand-dark);margin:0;padding-top:6px;padding-bottom:6px;padding-left:2px;font-size:13px;font-weight:600;position:sticky;top:0;left:0}.navSearchButton_df1fb{border-radius:var(--rp-radius);background-color:var(--rp-c-bg-mute);border:1px solid #0000;width:100%;height:40px;padding:0 10px;transition:border-color .3s;display:flex}.navSearchButton_df1fb>button{cursor:pointer;background-color:#0000;justify-content:space-around;align-items:center;font-size:13px;display:flex}.navSearchButton_df1fb>button .searchWord_af2c1{white-space:nowrap;color:var(--rp-c-text-2);margin-left:5px;margin-right:40px;font-weight:500;transition:all .3s}.navSearchButton_df1fb>button>div{border-radius:var(--rp-radius-small);color:var(--rp-c-gray);background-color:var(--rp-c-bg);width:43px;font-weight:500;transition:opacity .3s}.navSearchButton_df1fb>button>div>span{margin-left:5px}.navSearchButton_df1fb>button>div>span+span{margin-right:5px}.navSearchButton_df1fb:hover{border:1px solid var(--rp-c-brand)}.navSearchButton_df1fb:hover>button .searchWord_af2c1{color:var(--rp-c-text-1)}.suggestItem_b1e66{box-sizing:border-box;margin:5px 2px;list-style:none}.dark .suggestItem_b1e66,.dark .suggestItem_b1e66>a{box-shadow:none}.suggestItem_b1e66>a{background-color:var(--rp-c-bg);border-radius:var(--rp-radius-small);color:var(--rp-c-black-soft);width:100%;padding-left:12px;display:flex;box-shadow:0 1px 3px #d4d9e1}.suggestItem_b1e66>a .suggestItemContainer_f5e47{align-items:center;width:100%;min-height:56px;padding-right:12px;font-weight:500;display:flex}.suggestItem_b1e66>a .suggestItemContainer_f5e47 .contentWrapper_efb78{width:100%;padding:6px 8px;font-size:14px;line-height:1.5}.suggestItem_b1e66>a .suggestItemContainer_f5e47 .contentWrapper_efb78 .mark_b6cd5{color:var(--rp-c-brand)}.suggestItem_b1e66>a .suggestItemContainer_f5e47 .contentWrapper_efb78 .titleForContent_f2995{color:var(--rp-c-gray-light-1);font-size:12px;font-weight:600}.suggestItem_b1e66>a .suggestItemContainer_f5e47 svg{color:var(--rp-c-gray-light-1)}.suggestItem_b1e66>a .suggestItemContainer_f5e47 .actionIcon_f4ffd{opacity:0}.suggestItem_b1e66.current_eb655>a{background-color:var(--rp-c-brand);cursor:pointer;color:#fff}.suggestItem_b1e66.current_eb655 .suggestItemContainer_f5e47 svg{color:#fff}.suggestItem_b1e66.current_eb655 .suggestItemContainer_f5e47 .actionIcon_f4ffd{opacity:1}.suggestItem_b1e66.current_eb655 .suggestItemContainer_f5e47 .contentWrapper_efb78 .mark_b6cd5{color:#fff;text-decoration:underline}.suggestItem_b1e66.current_eb655 .suggestItemContainer_f5e47 .contentWrapper_efb78 .titleForContent_f2995{color:#fff}.tabClassName_b3f85{background-color:var(--rp-c-bg-soft);padding-bottom:6px;position:sticky}.mobileNavSearchButton_d85a9{cursor:pointer;justify-content:center;align-items:center;font-weight:500;display:none}@media (max-width:960px){.navSearchButton_df1fb{display:none}.mobileNavSearchButton_d85a9{display:flex}.modal_e4a04{margin-top:0}.inputForm_d4ba2{height:40px}.inputForm_d4ba2 svg{width:16px;height:16px}.inputForm_d4ba2 .input_f8add{font-size:16px}}.sourceCode_c1837{fill:currentColor;color:var(--rp-c-text-2)}.sourceCode_c1837:hover{color:var(--rp-c-text-1)}.rspressSteps_f17c8 h3{counter-increment:step;margin-top:3px}.rspressSteps_f17c8 h3:before{content:counter(step);text-align:center;width:30px;height:30px;color:var(--rp-c-text-1);background-color:var(--rp-code-block-bg);border-width:1.5px;border-color:var(--rp-c-text-3);border-radius:9999px;margin-left:-41px;font-size:1.1rem;font-weight:400;position:absolute}.rspressSteps_f17c8{border-color:var(--rp-c-text-3)}.rspressSteps_f17c8 p{color:var(--rp-c-text-1)}:root{--rp-container-note-border:var(--rp-c-divider-light);--rp-container-note-text:var(--rp-c-text-1);--rp-container-note-bg:var(--rp-c-bg-soft);--rp-container-note-code-bg:#8080801a;--rp-container-note-link:var(--rp-c-link);--rp-container-tip-border:#079c7033;--rp-container-tip-text:#278359;--rp-container-tip-bg:#079c700f;--rp-container-tip-code-bg:#079c701a;--rp-container-info-border:#0095ff33;--rp-container-info-text:#07f;--rp-container-info-bg:#0095ff0f;--rp-container-info-code-bg:#0095ff1a;--rp-container-warning-border:#ffc51766;--rp-container-warning-text:#887233;--rp-container-warning-bg:#ffc5171a;--rp-container-warning-code-bg:#ffc5171a;--rp-container-danger-border:#ed3c5033;--rp-container-danger-text:#ab2131;--rp-container-danger-bg:#ed3c5014;--rp-container-danger-code-bg:#ed3c501a;--rp-container-details-border:var(--rp-c-divider-light);--rp-container-details-text:var(--rp-c-text-1);--rp-container-details-bg:var(--rp-c-bg-soft);--rp-container-details-code-bg:#8080801a;--rp-container-details-link:var(--rp-c-link)}.dark{--rp-container-tip-text:#3ec480;--rp-container-tip-bg:#079c701a;--rp-container-info-text:#66c2ff;--rp-container-info-bg:#0095ff1a;--rp-container-warning-text:#fbb451;--rp-container-warning-border:#ffc51740;--rp-container-warning-bg:#ffc5171f;--rp-container-danger-text:#f76e85;--rp-container-danger-border:#ed3c504d;--rp-container-danger-bg:#ed3c501f}.rspress-doc .rspress-directive{border-radius:var(--rp-radius);border:1px solid #0000;margin:24px 0;padding:20px 24px 12px;font-size:14px;font-weight:400;line-height:1.7}.rspress-doc .rspress-directive .rspress-directive-title{margin-bottom:8px;font-size:16px;font-weight:600}.rspress-doc .rspress-directive .rspress-directive-content p{margin:8px 0}.rspress-doc .rspress-directive .rspress-directive-icon{width:20px;height:20px;margin-right:3px;display:inline-block}.rspress-doc .rspress-directive p{margin:8px 0}.rspress-doc .rspress-directive code{color:inherit;font-size:13px}.rspress-doc .rspress-directive a{border-bottom:1px solid;font-weight:500;transition:color .25s}.rspress-doc .rspress-directive.note{border-color:var(--rp-container-note-border);background-color:var(--rp-container-note-bg)}.rspress-doc .rspress-directive.note .rspress-directive-title{color:var(--rp-container-note-text)}.rspress-doc .rspress-directive.note code{color:var(--rp-container-note-text);background-color:var(--rp-container-note-code-bg)}.rspress-doc .rspress-directive.note a{color:var(--rp-container-note-text)}.rspress-doc .rspress-directive.tip{border-color:var(--rp-container-tip-border);background-color:var(--rp-container-tip-bg)}.rspress-doc .rspress-directive.tip .rspress-directive-title{color:var(--rp-container-tip-text)}.rspress-doc .rspress-directive.tip code{color:var(--rp-container-tip-text);background-color:var(--rp-container-tip-code-bg)}.rspress-doc .rspress-directive.tip a{color:var(--rp-container-tip-text)}.rspress-doc .rspress-directive.info{border-color:var(--rp-container-info-border);background-color:var(--rp-container-info-bg)}.rspress-doc .rspress-directive.info .rspress-directive-title{color:var(--rp-container-info-text)}.rspress-doc .rspress-directive.info code{color:var(--rp-container-info-text);background-color:var(--rp-container-info-code-bg)}.rspress-doc .rspress-directive.info a{color:var(--rp-container-info-text)}.rspress-doc .rspress-directive.warning{border-color:var(--rp-container-warning-border);background-color:var(--rp-container-warning-bg)}.rspress-doc .rspress-directive.warning .rspress-directive-title{color:var(--rp-container-warning-text)}.rspress-doc .rspress-directive.warning code{color:var(--rp-container-warning-text);background-color:var(--rp-container-warning-code-bg)}.rspress-doc .rspress-directive.warning a{color:var(--rp-container-warning-text)}.rspress-doc .rspress-directive.caution,.rspress-doc .rspress-directive.danger{border-color:var(--rp-container-danger-border);background-color:var(--rp-container-danger-bg)}.rspress-doc .rspress-directive.caution .rspress-directive-title,.rspress-doc .rspress-directive.danger .rspress-directive-title{color:var(--rp-container-danger-text)}.rspress-doc .rspress-directive.caution code,.rspress-doc .rspress-directive.danger code{color:var(--rp-container-danger-text);background-color:var(--rp-container-danger-code-bg)}.rspress-doc .rspress-directive.caution a,.rspress-doc .rspress-directive.danger a{color:var(--rp-container-danger-text)}.rspress-doc .rspress-directive.details{border-color:var(--rp-container-details-border);background-color:var(--rp-container-details-bg)}.rspress-doc .rspress-directive.details .rspress-directive-title{color:var(--rp-container-details-text)}.rspress-doc .rspress-directive.details code{color:var(--rp-container-details-text);background-color:var(--rp-container-details-code-bg)}.rspress-doc .rspress-directive.details a{color:var(--rp-container-details-link)}#nprogress{pointer-events:none}#nprogress .bar{z-index:1031;background:#29d;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:100px;height:100%;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px);box-shadow:0 0 10px #29d,0 0 5px #29d}#nprogress .spinner{z-index:1031;display:block;position:fixed;top:15px;right:15px}#nprogress .spinner-icon{box-sizing:border-box;border:2px solid #0000;border-color:#29d #0000 #0000 #29d;border-radius:50%;width:18px;height:18px;animation:.4s linear infinite nprogress-spinner}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.medium-zoom-overlay,.medium-zoom-image--opened{z-index:999} \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js new file mode 100644 index 0000000..56331e6 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js @@ -0,0 +1,6 @@ +/*! For license information please see 134.0021c7aa.js.LICENSE.txt */ +(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["134"],{436:function(e,t,n){"use strict";n.d(t,{ri:()=>O,LX:()=>_,E9:()=>H,R0:()=>B,Vi:()=>G,i6:()=>M,TH:()=>W,AP:()=>$,s0:()=>V,pV:()=>L,yv:()=>P,pJ:()=>Y,VK:()=>N,aw:()=>q,Ni:()=>I,Jr:()=>U,Tm:()=>R,iP:()=>Z,VY:()=>T,Ww:()=>z});var r=n(7294),i=n(3935);let a=(0,r.createContext)({}),o=(0,r.createContext)({});var s=n(5893),l=n(9250),u=n(5378),c=n(3040);let d=(0,c.lazyWithPreload)(()=>n.e("762").then(n.bind(n,3496))),h=(0,c.lazyWithPreload)(()=>n.e("230").then(n.bind(n,5302))),p=(0,c.lazyWithPreload)(()=>n.e("53").then(n.bind(n,6525))),f=(0,c.lazyWithPreload)(()=>n.e("795").then(n.bind(n,4399))),m=(0,c.lazyWithPreload)(()=>n.e("34").then(n.bind(n,5206))),g=(0,c.lazyWithPreload)(()=>n.e("582").then(n.bind(n,3436))),v=(0,c.lazyWithPreload)(()=>n.e("400").then(n.bind(n,9729))),x=[{path:"/api/case",element:r.createElement(d),filePath:"api/case.md",preload:async()=>(await d.preload(),n.e("762").then(n.bind(n,3496))),lang:"",version:""},{path:"/api/",element:r.createElement(h),filePath:"api/index.md",preload:async()=>(await h.preload(),n.e("230").then(n.bind(n,5302))),lang:"",version:""},{path:"/api/truncate",element:r.createElement(p),filePath:"api/truncate.md",preload:async()=>(await p.preload(),n.e("53").then(n.bind(n,6525))),lang:"",version:""},{path:"/guide/",element:r.createElement(f),filePath:"guide/index.md",preload:async()=>(await f.preload(),n.e("795").then(n.bind(n,4399))),lang:"",version:""},{path:"/guide/installation",element:r.createElement(m),filePath:"guide/installation.md",preload:async()=>(await m.preload(),n.e("34").then(n.bind(n,5206))),lang:"",version:""},{path:"/",element:r.createElement(g),filePath:"index.md",preload:async()=>(await g.preload(),n.e("582").then(n.bind(n,3436))),lang:"",version:""},{path:"/rspress.config",element:r.createElement(v),filePath:"rspress.config.ts",preload:async()=>(await v.preload(),n.e("400").then(n.bind(n,9729))),lang:"",version:""}];var y=n(2599);function b(e){return decodeURIComponent(e).replace(/\.html$/,"").replace(/\/index$/,"/")}let D=new Map;function F(e){var t;let n=D.get(e);if(n)return n;let r=(0,y.fp)(x,b(e)),i=null==r||null==(t=r[0])?void 0:t.route;return i&&D.set(e,i),i}let w=(0,r.memo)(function(e){var t;let n=e.el;return(null===u.Z||void 0===u.Z||null==(t=u.Z.themeConfig)?void 0:t.enableContentAnimation)&&(n=function(e){let[t,n]=(0,r.useState)(e);return(0,r.useLayoutEffect)(()=>{document.startViewTransition&&t!==e?document.startViewTransition(()=>{(0,i.flushSync)(()=>{n(e)}),window.dispatchEvent(new Event("RspressReloadContent"))}):((0,i.flushSync)(()=>{n(e)}),window.dispatchEvent(new Event("RspressReloadContent")))},[e]),t}(e.el)),n},(e,t)=>e.el===t.el);var C=n(8995);function E(e="/"){return(0,C.pJ)(e,u.Z.base)}function A(e){var t;let n=!!(null===u.Z||void 0===u.Z||null==(t=u.Z.route)?void 0:t.cleanUrls);return(0,C.yc)(e,n)}C.nY;var j=C.yv;C.Kw,C.Qj;var k=n(9655),S=n(405),N=k.VK,T=({fallback:e=(0,s.jsx)(s.Fragment,{})})=>{let{pathname:t}=(0,l.TH)(),n=F(t);if(!n)return(0,s.jsx)("div",{});let i=n.element;return(0,s.jsx)(r.Suspense,{fallback:e,children:(0,s.jsx)(w,{el:i})})},B=a;S.ql;var O=function(e){let{children:t}=e,[n,i]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{i(!0)},[]),n)?(0,s.jsx)(s.Fragment,{children:t}):null},I=o,L=function(e,t){return E(A((0,C.lm)(e)))===E(A((0,C.lm)(t)))},P=j,_=y.LX;y.fp;var $=A,M=function(e){var t;return!(0,C.yv)()||(t=e,(0,C.xf)(t)||(0,C.pZ)(t)||t.startsWith("//"))||!e.startsWith("/")?e:E(e)},R=b,z=F,H=function(e){return(0,C.E9)(e,u.Z.base)},U=function(){return(0,r.useContext)(a).data.page.lang||""},W=l.TH,V=l.s0,G=function(){return(0,r.useContext)(a).data};k.lr;var q=function(){return(0,r.useContext)(a).data.page.version||""},Z=function(e,t){let[n,i]=(0,r.useState)({width:e??("undefined"==typeof window?Number.POSITIVE_INFINITY:window.innerWidth),height:t??("undefined"==typeof window?Number.POSITIVE_INFINITY:window.innerHeight)});return(0,r.useLayoutEffect)(()=>{let e=()=>{i({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),n},Y=E},640:function(e,t,n){"use strict";var r=n(1742),i={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,a,o,s,l,u,c,d,h=!1;t||(t={}),o=t.debug||!1;try{if(l=r(),u=document.createRange(),c=document.getSelection(),(d=document.createElement("span")).textContent=e,d.ariaHidden="true",d.style.all="unset",d.style.position="fixed",d.style.top=0,d.style.clip="rect(0, 0, 0, 0)",d.style.whiteSpace="pre",d.style.webkitUserSelect="text",d.style.MozUserSelect="text",d.style.msUserSelect="text",d.style.userSelect="text",d.addEventListener("copy",function(n){if(n.stopPropagation(),t.format)if(n.preventDefault(),void 0===n.clipboardData){o&&console.warn("unable to use e.clipboardData"),o&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var r=i[t.format]||i.default;window.clipboardData.setData(r,e)}else n.clipboardData.clearData(),n.clipboardData.setData(t.format,e);t.onCopy&&(n.preventDefault(),t.onCopy(n.clipboardData))}),document.body.appendChild(d),u.selectNodeContents(d),c.addRange(u),!document.execCommand("copy"))throw Error("copy command was unsuccessful");h=!0}catch(r){o&&console.error("unable to copy using execCommand: ",r),o&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),h=!0}catch(r){o&&console.error("unable to copy using clipboardData: ",r),o&&console.error("falling back to prompt"),n="message"in t?t.message:"Copy to clipboard: #{key}, Enter",a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C",s=n.replace(/#{\s*key\s*}/g,a),window.prompt(s,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(u):c.removeAllRanges()),d&&document.body.removeChild(d),l()}return h}},5598:function(e,t,n){e.exports=function(e){"use strict";function t(e){return e.replace(/(-|:)(.)/g,function(e,t,n){return n.toUpperCase()})}e=e&&e.hasOwnProperty("default")?e.default:e;var n=["table","tbody","thead","tfoot","tr"],r={for:"htmlFor",class:"className",allowfullscreen:["allowFullScreen","allowFullscreen"],autocomplete:"autoComplete",autofocus:["autoFocus"],contenteditable:"contentEditable",spellcheck:"spellCheck",srcdoc:"srcDoc",srcset:"srcSet",itemscope:"itemScope",itemprop:"itemProp",itemtype:"itemType"};function i(e,t){var n=r[t],i=document.createElement(e);if(n)return{name:Array.isArray(n)?n[0]:n,isBoolean:a(i,Array.isArray(n)?n[1]||t:n)};for(var o in i)if(o.toLowerCase()===t.toLowerCase())return{name:o,isBoolean:a(i,o)};return{name:t,isBoolean:a(i,t)}}function a(e,t){return e.setAttribute(t,""),!0===e[t]||o.indexOf(t)>-1}var o=["itemScope"];function s(t,n,r,i){void 0===i&&(i=null);var a=r[t],o=r._;return a?e.createElement(a,n,i):o?o(t,n,i):e.createElement(t,n,i)}return function(e,r){if(void 0===r&&(r={}),"string"!=typeof e)throw TypeError("Expected HTML string");var a=document.createElement("div");a.innerHTML=e.trim();var o=Array.from(a.childNodes).map(function(e,a){return function e(r,a,o){var l,u=o.transform||{},c=o.preserveAttributes||[],d=o.dangerouslySetChildren||["style"],h=u._;if(8===r.nodeType)return null;if(3===r.nodeType){var p=r.textContent;return h?h(p):p}for(var f={},m=r.attributes,g=0;g1){var i,a=(i=r[0].trim(),/^-ms-/.test(i)&&(i=i.substr(1)),i.startsWith("--")?i:t(i)),s=(n=r.slice(1).join(":").trim(),/^\d+$/.test(n)?Number(n):n.replace(/'/g,'"'));o[a]=s}}),o);else{var u=l[n],d=""===u||String(u).toLowerCase()===r.toLowerCase();e[s.name]=s.isBoolean?d:u}return e},{})),y=Array.from(r.childNodes).map(function(t,r){return n.indexOf(v)>-1&&3===t.nodeType&&(t.textContent=t.textContent.trim(),""===t.textContent)?null:e(t,a+"."+r,o)}).filter(Boolean);if(d.indexOf(v)>-1){var b=r.innerHTML;return b&&("style"!==v&&"script"!==v&&(b=b.replace(/"/g,""")),x.dangerouslySetInnerHTML={__html:b.trim()}),s(v,x,u)}return s(v,x,u,0===y.length?null:y)}(e,String(a),r)}).filter(Boolean);return 1===o.length?o[0]:o}}(n(7294))},1143:function(e){"use strict";e.exports=function(e,t,n,r,i,a,o,s){if(!e){var l;if(void 0===t)l=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,i,a,o,s],c=0;(l=Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},6260:function(e){"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},7961:function(e,t,n){"use strict";var r=n(6260),i=n(6195);e.exports=function(e){return r(e)||i(e)}},6195:function(e){"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},9480:function(e){"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},4865:function(e){var t;t=function(){var e,t,n,r={};r.version="0.2.0";var i=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}r.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(i[t]=n);return this},r.status=null,r.set=function(e){var t=r.isStarted();r.status=1===(e=a(e,i.minimum,1))?null:e;var n=r.render(!t),l=n.querySelector(i.barSelector),u=i.speed,c=i.easing;return n.offsetWidth,o(function(t){var a,o,d,h;""===i.positionUsing&&(i.positionUsing=r.getPositioningCSS()),s(l,(a=e,o=u,d=c,(h="translate3d"===i.positionUsing?{transform:"translate3d("+(-1+a)*100+"%,0,0)"}:"translate"===i.positionUsing?{transform:"translate("+(-1+a)*100+"%,0)"}:{"margin-left":(-1+a)*100+"%"}).transition="all "+o+"ms "+d,h)),1===e?(s(n,{transition:"none",opacity:1}),n.offsetWidth,setTimeout(function(){s(n,{transition:"all "+u+"ms linear",opacity:0}),setTimeout(function(){r.remove(),t()},u)},u)):setTimeout(t,u)}),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){r.status||r.set(0);var e=function(){setTimeout(function(){r.status&&(r.trickle(),e())},i.trickleSpeed)};return i.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*i.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()&&(0===t&&r.start(),e++,t++,n.always(function(){0==--t?(e=0,r.done()):r.set((e-t)/e)})),this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=i.template;var n,a=t.querySelector(i.barSelector),o=e?"-100":(-1+(r.status||0))*100,l=document.querySelector(i.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+o+"%,0,0)"}),!i.showSpinner&&(n=t.querySelector(i.spinnerSelector))&&h(n),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(t),t},r.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(i.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&h(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var o=(n=[],function(e){n.push(e),1==n.length&&function e(){var t=n.shift();t&&t(e)}()}),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n,r,i){var a;r=t[a=(a=r).replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})]||(t[a]=function(t){var n=document.body.style;if(t in n)return t;for(var r,i=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);i--;)if((r=e[i]+a)in n)return r;return t}(a)),n.style[r]=i}return function(e,t){var r,i,a=arguments;if(2==a.length)for(r in t)void 0!==(i=t[r])&&t.hasOwnProperty(r)&&n(e,r,i);else n(e,a[1],a[2])}}();function l(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function c(e,t){var n,r=d(e);l(e,t)&&(e.className=(n=r.replace(" "+t+" "," ")).substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function h(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},"function"==typeof define&&define.amd?define(t):e.exports=t()},9435:function(e){"use strict";var t;e.exports=function(e){var n,r="&"+e+";";return(t=t||document.createElement("i")).innerHTML=r,(59!==(n=t.textContent).charCodeAt(n.length-1)||"semi"===e)&&n!==r&&n}},7574:function(e,t,n){"use strict";var r=n(2544),i=n(129),a=n(6195),o=n(9480),s=n(7961),l=n(9435);e.exports=function(e,t){var n,a,o={};for(a in t||(t={}),h)n=t[a],o[a]=null==n?h[a]:n;return(o.position.indent||o.position.start)&&(o.indent=o.position.indent||[],o.position=o.position.start),function(e,t){var n,a,o,h,y,b,D,F,w,C,E,A,j,k,S,N,T,B,O,I,L,P=t.additional,_=t.nonTerminated,$=t.text,M=t.reference,R=t.warning,z=t.textContext,H=t.referenceContext,U=t.warningContext,W=t.position,V=t.indent||[],G=e.length,q=0,Z=-1,Y=W.column||1,K=W.line||1,J="",X=[];for("string"==typeof P&&(P=P.charCodeAt(0)),B=Q(),C=R?function(e,t){var n=Q();n.column+=t,n.offset+=t,R.call(U,x[e],n,e)}:d,q--,G++;++q=55296&&n<=57343||n>1114111?(C(7,I),F=c(65533)):F in i?(C(6,I),F=i[F]):(A="",((a=F)>=1&&a<=8||11===a||a>=13&&a<=31||a>=127&&a<=159||a>=64976&&a<=65007||(65535&a)==65535||(65535&a)==65534)&&C(6,I),F>65535&&(F-=65536,A+=c(F>>>10|55296),F=56320|1023&F),F=A+c(F))):N!==p&&C(4,I)}F?(ee(),B=Q(),q=L-1,Y+=L-S+1,X.push(F),O=Q(),O.offset++,M&&M.call(H,F,{start:B,end:O},e.slice(S-1,L)),B=O):(b=e.slice(S-1,L),J+=b,Y+=b.length,q=L-1)}else 10===D&&(K++,Z++,Y=0),D==D?(J+=c(D),Y++):ee();return X.join("");function Q(){return{line:K,column:Y,offset:q+(W.offset||0)}}function ee(){J&&(X.push(J),$&&$.call(z,J,{start:B,end:Q()}),J="")}}(e,o)};var u={}.hasOwnProperty,c=String.fromCharCode,d=Function.prototype,h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},p="named",f="hexadecimal",m="decimal",g={};g[f]=16,g[m]=10;var v={};v[p]=s,v[m]=a,v[f]=o;var x={};x[1]="Named character references must be terminated by a semicolon",x[2]="Numeric character references must be terminated by a semicolon",x[3]="Named character references cannot be empty",x[4]="Numeric character references cannot be empty",x[5]="Named character references must be known",x[6]="Numeric character references cannot be disallowed",x[7]="Numeric character references cannot be outside the permissible Unicode range"},2703:function(e,t,n){"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},9590:function(e){var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,i="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,a){try{return function e(a,o){if(a===o)return!0;if(a&&o&&"object"==typeof a&&"object"==typeof o){var s,l,u,c;if(a.constructor!==o.constructor)return!1;if(Array.isArray(a)){if((s=a.length)!=o.length)return!1;for(l=s;0!=l--;)if(!e(a[l],o[l]))return!1;return!0}if(n&&a instanceof Map&&o instanceof Map){if(a.size!==o.size)return!1;for(c=a.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;for(c=a.entries();!(l=c.next()).done;)if(!e(l.value[1],o.get(l.value[0])))return!1;return!0}if(r&&a instanceof Set&&o instanceof Set){if(a.size!==o.size)return!1;for(c=a.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(o)){if((s=a.length)!=o.length)return!1;for(l=s;0!=l--;)if(a[l]!==o[l])return!1;return!0}if(a.constructor===RegExp)return a.source===o.source&&a.flags===o.flags;if(a.valueOf!==Object.prototype.valueOf&&"function"==typeof a.valueOf&&"function"==typeof o.valueOf)return a.valueOf()===o.valueOf();if(a.toString!==Object.prototype.toString&&"function"==typeof a.toString&&"function"==typeof o.toString)return a.toString()===o.toString();if((s=(u=Object.keys(a)).length)!==Object.keys(o).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(o,u[l]))return!1;if(t&&a instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!a.$$typeof)&&!e(a[u[l]],o[u[l]]))return!1;return!0}return a!=a&&o!=o}(e,a)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},405:function(e,t,n){"use strict";n.d(t,{B6:()=>U,ql:()=>J});var r=n(7294),i=n(5697),a=n.n(i),o=n(9590),s=n.n(o),l=n(1143),u=n.n(l),c=n(6774),d=n.n(c);function h(){return(h=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},v={rel:["amphtml","canonical","alternate"]},x={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},b=Object.keys(g).map(function(e){return g[e]}),D={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},F=Object.keys(D).reduce(function(e,t){return e[D[t]]=t,e},{}),w=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},C=function(e){var t=w(e,g.TITLE),n=w(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,function(){return t});var r=w(e,"defaultTitle");return t||r||void 0},E=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return h({},e,t)},{})},A=function(e,t,n){var r={};return n.filter(function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,n){var i={};n.filter(function(e){for(var n,a=Object.keys(e),o=0;o/g,">").replace(/"/g,""").replace(/'/g,"'")},O=function(e){return Object.keys(e).reduce(function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r},"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce(function(t,n){return t[D[n]||n]=e[n],t},t)},L=function(e,t){return t.map(function(t,n){var i,a=((i={key:n})["data-rh"]=!0,i);return Object.keys(t).forEach(function(e){var n=D[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]}),r.createElement(e,a)})},P=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){var e,n,i,a;return n=t.titleAttributes,(i={key:e=t.title})["data-rh"]=!0,a=I(n,i),[r.createElement(g.TITLE,a,e)]},toString:function(){var r,i,a,o;return r=t.title,i=t.titleAttributes,a=O(i),o=k(r),a?"<"+e+' data-rh="true" '+a+">"+B(o,n)+"":"<"+e+' data-rh="true">'+B(o,n)+""}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return O(t)}};default:return{toComponent:function(){return L(e,t)},toString:function(){return t.reduce(function(t,r){var i=Object.keys(r).filter(function(e){return"innerHTML"!==e&&"cssText"!==e}).reduce(function(e,t){var i=void 0===r[t]?t:t+'="'+B(r[t],n)+'"';return e?e+" "+i:i},""),a=r.innerHTML||r.cssText||"",o=-1===T.indexOf(e);return t+"<"+e+' data-rh="true" '+i+(o?"/>":">"+a+"")},"")}}}},_=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,i=e.htmlAttributes,a=e.noscriptTags,o=e.styleTags,s=e.title,l=e.titleAttributes,u=e.linkTags,c=e.metaTags,d=e.scriptTags,h={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var p,f,m,b,D,F,w=(p=e.linkTags,f=e.scriptTags,m=e.encode,b=S(e.metaTags,y),D=S(p,v),F=S(f,x),{priorityMethods:{toComponent:function(){return[].concat(L(g.META,b.priority),L(g.LINK,D.priority),L(g.SCRIPT,F.priority))},toString:function(){return P(g.META,b.priority,m)+" "+P(g.LINK,D.priority,m)+" "+P(g.SCRIPT,F.priority,m)}},metaTags:b.default,linkTags:D.default,scriptTags:F.default});h=w.priorityMethods,u=w.linkTags,c=w.metaTags,d=w.scriptTags}return{priority:h,base:P(g.BASE,t,r),bodyAttributes:P("bodyAttributes",n,r),htmlAttributes:P("htmlAttributes",i,r),link:P(g.LINK,u,r),meta:P(g.META,c,r),noscript:P(g.NOSCRIPT,a,r),script:P(g.SCRIPT,d,r),style:P(g.STYLE,o,r),title:P(g.TITLE,{title:void 0===s?"":s,titleAttributes:l},r)}},$=[],M=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?$:n.instances},add:function(e){(n.canUseDOM?$:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?$:n.instances).indexOf(e);(n.canUseDOM?$:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=_({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},R=r.createContext({}),z=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,U=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new M(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(R.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);U.canUseDOM=H,U.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},U.defaultProps={context:{}},U.displayName="HelmetProvider";var W=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),i=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(i),o=[];return t&&t.length&&t.forEach(function(t){var r=document.createElement(e);for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&("innerHTML"===i?r.innerHTML=t.innerHTML:"cssText"===i?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(i,void 0===t[i]?"":t[i]));r.setAttribute("data-rh","true"),a.some(function(e,t){return n=t,r.isEqualNode(e)})?a.splice(n,1):o.push(r)}),a.forEach(function(e){return e.parentNode.removeChild(e)}),o.forEach(function(e){return r.appendChild(e)}),{oldTags:a,newTags:o}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),i=r?r.split(","):[],a=[].concat(i),o=Object.keys(t),s=0;s=0;d-=1)n.removeAttribute(a[d]);i.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==o.join(",")&&n.setAttribute("data-rh",o.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,i=e.linkTags,a=e.metaTags,o=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;V(g.BODY,e.bodyAttributes),V(g.HTML,r),void 0!==c&&document.title!==c&&(document.title=k(c)),V(g.TITLE,d);var h={baseTag:W(g.BASE,n),linkTags:W(g.LINK,i),metaTags:W(g.META,a),noscriptTags:W(g.NOSCRIPT,o),scriptTags:W(g.SCRIPT,l),styleTags:W(g.STYLE,u)},p={},f={};Object.keys(h).forEach(function(e){var t=h[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(f[e]=h[e].oldTags)}),t&&t(),s(e,p,f)},q=null,Z=function(e){function t(){for(var t,n=arguments.length,r=Array(n),i=0;i elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return h({},r,((t={})[n.type]=[].concat(r[n.type]||[],[h({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,i=e.newProps,a=e.newChildProps,o=e.nestedChildren;switch(r.type){case g.TITLE:return h({},i,((t={})[r.type]=o,t.titleAttributes=h({},a),t));case g.BODY:return h({},i,{bodyAttributes:h({},a)});case g.HTML:return h({},i,{htmlAttributes:h({},a)});default:return h({},i,((n={})[r.type]=h({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=h({},t);return Object.keys(e).forEach(function(t){var r;n=h({},n,((r={})[t]=e[t],r))}),n},n.warnOnInvalidChildren=function(e,t){return u()(b.some(function(t){return e.type===t}),"function"==typeof e.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+b.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some(function(e){return"string"!=typeof e}),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``} ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,i={};return r.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,a=r.children,o=m(r,Y),s=Object.keys(o).reduce(function(e,t){return e[F[t]||t]=o[t],e},{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case g.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:i=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:i,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}}),this.mapArrayTypeChildrenToProps(i,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,K),i=h({},n),a=n.helmetData;return t&&(i=this.mapChildrenToProps(t,i)),!a||a instanceof M||(a=new M(a.context,a.instances)),a?r.createElement(Z,h({},i,{context:a.value,helmetData:void 0})):r.createElement(R.Consumer,null,function(e){return r.createElement(Z,h({},i,{context:e}))})},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},3040:function(e,t,n){"use strict";t.lazyWithPreload=void 0;var r=n(7294);t.lazyWithPreload=function(e){var t,n,i=(0,r.lazy)(e),a=(0,r.forwardRef)(function(e,n){var a=(0,r.useRef)(null!=t?t:i);return(0,r.createElement)(a.current,Object.assign(n?{ref:n}:{},e))});return a.preload=function(){return n||(n=e().then(function(e){return t=e.default})),n},a}},1318:function(e,t,n){"use strict";var r=n(5751);t.default=void 0,t.default=r(n(6979)).default},2521:function(e,t,n){"use strict";var r=n(5751);t.default=void 0,t.default=r(n(4979)).default},1215:function(e,t,n){"use strict";var r,i,a="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof n.g?n.g:{},o=(i=(r="Prism"in a)?a.Prism:void 0,function(){r?a.Prism=i:delete a.Prism,r=void 0,i=void 0});a.Prism={manual:!0,disableWorkerMessageHandler:!0};var s=n(871),l=n(7574),u=n(9216),c=n(2717),d=n(2049),h=n(9726),p=n(6155);o();var f={}.hasOwnProperty;function m(){}m.prototype=u;var g=new m;function v(e){if("function"!=typeof e||!e.displayName)throw Error("Expected `function` for `grammar`, got `"+e+"`");void 0===g.languages[e.displayName]&&e(g)}e.exports=g,g.highlight=function(e,t){var n,r=u.highlight;if("string"!=typeof e)throw Error("Expected `string` for `value`, got `"+e+"`");if("Object"===g.util.type(t))n=t,t=null;else{if("string"!=typeof t)throw Error("Expected `string` for `name`, got `"+t+"`");if(f.call(g.languages,t))n=g.languages[t];else throw Error("Unknown language: `"+t+"` is not registered")}return r.call(this,e,n,t)},g.register=v,g.alias=function(e,t){var n,r,i,a,o=g.languages,s=e;for(n in t&&((s={})[e]=t),s)for(i=(r="string"==typeof(r=s[n])?[r]:r).length,a=-1;++a>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,o=0;o]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="clike",t.aliases=[]},2049:function(e){"use strict";function t(e){var t,n;t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,(n=e.languages.markup)&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}e.exports=t,t.displayName="css",t.aliases=[]},6155:function(e){"use strict";function t(e){e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source)+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}e.exports=t,t.displayName="javascript",t.aliases=["js"]},2717:function(e){"use strict";function t(e){e.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.value.replace(/&/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r["language-"+n]={pattern:/(^$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^$/i;var i={"included-cdata":{pattern://i,inside:r}};i["language-"+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}e.exports=t,t.displayName="markup",t.aliases=["html","mathml","svg","xml","ssml","atom","rss"]},4979:function(e){"use strict";function t(e){var t;e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"],t=e.languages.extend("typescript",{}),delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}e.exports=t,t.displayName="typescript",t.aliases=["ts"]},7003:function(e,t){"use strict";t.parse=function(e){for(var t,n=[],r=String(e||""),i=r.indexOf(","),a=0,o=!1;!o;)-1===i&&(i=r.length,o=!0),((t=r.slice(a,i).trim())||!o)&&n.push(t),a=i+1,i=r.indexOf(",",a);return n}},4995:function(e){"use strict";e.exports=function(e,n){for(var r,i,a,o=e||"",s=n||"div",l={},u=0;u=c.reach));F+=D.value.length,D=D.next){var w,C=D.value;if(n.length>t.length)return;if(!(C instanceof a)){var E=1;if(v){if(!(w=o(b,F,t,g))||w.index>=t.length)break;var A=w.index,j=w.index+w[0].length,k=F;for(k+=D.value.length;A>=k;)k+=(D=D.next).value.length;if(k-=D.value.length,F=k,D.value instanceof a)continue;for(var S=D;S!==n.tail&&(kc.reach&&(c.reach=O);var I=D.prev;if(T&&(I=l(n,I,T),F+=T.length),function(e,t,n){for(var r=t.next,i=0;i1){var L={cause:d+","+p,reach:O};e(t,n,r,D.prev,F,L),c&&L.reach>c.reach&&(c.reach=L.reach)}}}}}}(e,u,t,u.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(u)},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(n&&n.length)for(var r,a=0;r=n[a++];)r(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}if(e.Prism=i,a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach(function(t){r+=e(t,n)}),r}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(a.classes,o):a.classes.push(o)),i.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+""},!e.document)return e.addEventListener&&(i.disableWorkerMessageHandler||e.addEventListener("message",function(t){var n=JSON.parse(t.data),r=n.language,a=n.code,o=n.immediateClose;e.postMessage(i.highlight(a,i.languages[r],r)),o&&e.close()},!1)),i;var u=i.util.currentScript();function c(){i.manual||i.highlightAll()}if(u&&(i.filename=u.src,u.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var d=document.readyState;"loading"===d||"interactive"===d&&u&&u.defer?document.addEventListener("DOMContentLoaded",c):window.requestAnimationFrame?window.requestAnimationFrame(c):window.setTimeout(c,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r)},5605:function(e,t,n){"use strict";var r=n(3343),i=n(3405),a=n(3806),o="data";e.exports=function(e,t){var n,h,p,f=r(t),m=t,g=a;return f in e.normal?e.property[e.normal[f]]:(f.length>4&&f.slice(0,4)===o&&s.test(t)&&("-"===t.charAt(4)?m=o+(n=t.slice(5).replace(l,d)).charAt(0).toUpperCase()+n.slice(1):(p=(h=t).slice(4),t=l.test(p)?h:("-"!==(p=p.replace(u,c)).charAt(0)&&(p="-"+p),o+p)),g=i),new g(m,t))};var s=/^data[-\w.:]+$/i,l=/-[a-z]/g,u=/[A-Z]/g;function c(e){return"-"+e.toLowerCase()}function d(e){return e.charAt(1).toUpperCase()}},7034:function(e,t,n){"use strict";var r=n(2627),i=n(9501);e.exports=r([n(822),i,n(7109),n(5956),n(4330)])},5956:function(e,t,n){"use strict";var r=n(3941),i=n(5260),a=r.booleanish,o=r.number,s=r.spaceSeparated;e.exports=i({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:a,ariaAutoComplete:null,ariaBusy:a,ariaChecked:a,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:a,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:a,ariaFlowTo:s,ariaGrabbed:a,ariaHasPopup:null,ariaHidden:a,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:a,ariaMultiLine:a,ariaMultiSelectable:a,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:a,ariaReadOnly:a,ariaRelevant:null,ariaRequired:a,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:a,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}})},4330:function(e,t,n){"use strict";var r=n(3941),i=n(5260),a=n(6716),o=r.boolean,s=r.overloadedBoolean,l=r.booleanish,u=r.number,c=r.spaceSeparated,d=r.commaSeparated;e.exports=i({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:a,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:c,accessKey:c,action:null,allow:null,allowFullScreen:o,allowPaymentRequest:o,allowUserMedia:o,alt:null,as:null,async:o,autoCapitalize:null,autoComplete:c,autoFocus:o,autoPlay:o,capture:o,charSet:null,checked:o,cite:null,className:c,cols:u,colSpan:null,content:null,contentEditable:l,controls:o,controlsList:c,coords:u|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:o,defer:o,dir:null,dirName:null,disabled:o,download:s,draggable:l,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:o,formTarget:null,headers:c,height:u,hidden:o,high:u,href:null,hrefLang:null,htmlFor:c,httpEquiv:c,id:null,imageSizes:null,imageSrcSet:d,inputMode:null,integrity:null,is:null,isMap:o,itemId:null,itemProp:c,itemRef:c,itemScope:o,itemType:c,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:o,low:u,manifest:null,max:null,maxLength:u,media:null,method:null,min:null,minLength:u,multiple:o,muted:o,name:null,nonce:null,noModule:o,noValidate:o,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:o,optimum:u,pattern:null,ping:c,placeholder:null,playsInline:o,poster:null,preload:null,readOnly:o,referrerPolicy:null,rel:c,required:o,reversed:o,rows:u,rowSpan:u,sandbox:c,scope:null,scoped:o,seamless:o,selected:o,shape:null,size:u,sizes:null,slot:null,span:u,spellCheck:l,src:null,srcDoc:null,srcLang:null,srcSet:d,start:u,step:null,style:null,tabIndex:u,target:null,title:null,translate:null,type:null,typeMustMatch:o,useMap:null,value:l,width:u,wrap:null,align:null,aLink:null,archive:c,axis:null,background:null,bgColor:null,border:u,borderColor:null,bottomMargin:u,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:o,declare:o,event:null,face:null,frame:null,frameBorder:null,hSpace:u,leftMargin:u,link:null,longDesc:null,lowSrc:null,marginHeight:u,marginWidth:u,noResize:o,noHref:o,noShade:o,noWrap:o,object:null,profile:null,prompt:null,rev:null,rightMargin:u,rules:null,scheme:null,scrolling:l,standby:null,summary:null,text:null,topMargin:u,valueType:null,version:null,vAlign:null,vLink:null,vSpace:u,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:o,disableRemotePlayback:o,prefix:null,property:null,results:u,security:null,unselectable:null}})},6716:function(e,t,n){"use strict";var r=n(3532);e.exports=function(e,t){return r(e,t.toLowerCase())}},3532:function(e){"use strict";e.exports=function(e,t){return t in e?e[t]:t}},5260:function(e,t,n){"use strict";var r=n(3343),i=n(5815),a=n(3405);e.exports=function(e){var t,n,o=e.space,s=e.mustUseProperty||[],l=e.attributes||{},u=e.properties,c=e.transform,d={},h={};for(t in u)n=new a(t,c(l,t),u[t],o),-1!==s.indexOf(t)&&(n.mustUseProperty=!0),d[t]=n,h[r(t)]=t,h[r(n.attribute)]=t;return new i(d,h,o)}},3405:function(e,t,n){"use strict";var r=n(3806),i=n(3941);e.exports=s,s.prototype=new r,s.prototype.defined=!0;var a=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],o=a.length;function s(e,t,n,s){var l,u,c,d,h,p,f=-1;for(l=this,(u=s)&&(l.space=u),r.call(this,e,t);++fr});let r={title:"string-kit",description:"A small collection of string utilities",icon:"",route:{},themeConfig:{nav:[{text:"Guide",link:"/guide/"},{text:"API",link:"/api/"}],sidebar:{"/guide/":[{text:"Getting Started",items:[{text:"Introduction",link:"/guide/"},{text:"Installation",link:"/guide/installation"}],link:"",collapsed:!1,collapsible:!0}],"/api/":[{text:"API Reference",items:[{text:"Overview",link:"/api/"},{text:"Case Utilities",link:"/api/case"},{text:"Truncate Utilities",link:"/api/truncate"}],link:"",collapsed:!1,collapsible:!0}]},socialLinks:[{icon:"github",mode:"link",content:"https://github.com/example/string-kit"}]},base:"/",lang:"",locales:[],logo:"",logoText:"",ssg:!0,multiVersion:{default:"",versions:[]},search:{},pages:[{title:"Case Utilities",routePath:"/api/case",lang:"",toc:[{text:"camelCase",id:"camelcase",depth:2,charIndex:72},{text:"Parameters",id:"parameters",depth:3,charIndex:120},{text:"Returns",id:"returns",depth:3,charIndex:211},{text:"Examples",id:"examples",depth:3,charIndex:268},{text:"kebabCase",id:"kebabcase",depth:2,charIndex:364},{text:"Parameters",id:"parameters-1",depth:3,charIndex:413},{text:"Returns",id:"returns-1",depth:3,charIndex:504},{text:"Examples",id:"examples-1",depth:3,charIndex:562},{text:"snakeCase",id:"snakecase",depth:2,charIndex:658},{text:"Parameters",id:"parameters-2",depth:3,charIndex:707},{text:"Returns",id:"returns-2",depth:3,charIndex:798},{text:"Examples",id:"examples-2",depth:3,charIndex:856}],frontmatter:{},version:"",_relativePath:"api/case.md"},{title:"API Reference",routePath:"/api/",lang:"",toc:[{text:"Overview",id:"overview",depth:2,charIndex:3}],frontmatter:{},version:"",_relativePath:"api/index.md"},{title:"Truncate Utilities",routePath:"/api/truncate",lang:"",toc:[{text:"truncate",id:"truncate",depth:2,charIndex:61},{text:"Parameters",id:"parameters",depth:3,charIndex:152},{text:"Returns",id:"returns",depth:3,charIndex:305},{text:"Examples",id:"examples",depth:3,charIndex:393},{text:"Notes",id:"notes",depth:3,charIndex:407},{text:"ellipsis",id:"ellipsis",depth:2,charIndex:717},{text:"Parameters",id:"parameters-1",depth:3,charIndex:851},{text:"Returns",id:"returns-1",depth:3,charIndex:1004},{text:"Examples",id:"examples-1",depth:3,charIndex:1106},{text:"Notes",id:"notes-1",depth:3,charIndex:1120},{text:"Comparison",id:"comparison",depth:2,charIndex:1359}],frontmatter:{},version:"",_relativePath:"api/truncate.md"},{title:"Introduction",routePath:"/guide/",lang:"",toc:[{text:"What is string-kit?",id:"what-is-string-kit",depth:2,charIndex:171},{text:"Use Cases",id:"use-cases",depth:2,charIndex:443},{text:"Next Steps",id:"next-steps",depth:2,charIndex:643}],frontmatter:{},version:"",_relativePath:"guide/index.md"},{title:"Installation",routePath:"/guide/installation",lang:"",toc:[{text:"npm",id:"npm",depth:2,charIndex:59},{text:"pnpm",id:"pnpm",depth:2,charIndex:68},{text:"yarn",id:"yarn",depth:2,charIndex:78},{text:"Usage",id:"usage",depth:2,charIndex:88}],frontmatter:{},version:"",_relativePath:"guide/installation.md"},{title:"string-kit",routePath:"/",lang:"",toc:[{text:"Features",id:"features",depth:2,charIndex:61},{text:"Quick Start",id:"quick-start",depth:2,charIndex:321}],frontmatter:{},version:"",_relativePath:"index.md"},{title:"",routePath:"/rspress.config",lang:"",toc:[],frontmatter:{},version:"",_relativePath:"rspress.config.ts"}],markdown:{showLineNumbers:!1,defaultWrapCode:!1,codeHighlighter:"prism"}}},9662:function(e,t,n){"use strict";var r=n(3935),i=n.t(r,2),a=n(745),o=n.t(a,2),s=n(5893),l=n(436),u=n(8995),c=n(5552),d=n(7294),h=n(5378),p=n(405),f=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(h.container)if(h.container instanceof Object)t=(e=f({},e,h.container)).width-e.left-e.right-2*h.margin,n=e.height-e.top-e.bottom-2*h.margin;else{var r=(g(h.container)?h.container:document.querySelector(h.container)).getBoundingClientRect();e=f({},e,{width:r.width,height:r.height,left:r.left,top:r.top})}t=t||e.width-2*h.margin,n=n||e.height-2*h.margin;var i=p.zoomedHd||p.original,a=v(i)?t:i.naturalWidth||t,o=v(i)?n:i.naturalHeight||n,s=i.getBoundingClientRect(),l=s.top,u=s.left,c=s.width,d=s.height,m=Math.min(Math.min(Math.max(c,a),t)/c,Math.min(Math.max(d,o),n)/d),x=(-u+(t-c)/2+h.margin+e.left)/m,y=(-l+(n-d)/2+h.margin+e.top)/m,b="scale("+m+") translate3d("+x+"px, "+y+"px, 0)";p.zoomed.style.transform=b,p.zoomedHd&&(p.zoomedHd.style.transform=b)};return new r(function(e){if(t&&-1===l.indexOf(t)||p.zoomed)return void e(F);if(t)p.original=t;else{if(!(l.length>0))return void e(F);p.original=l[0]}if(p.original.dispatchEvent(D("medium-zoom:open",{detail:{zoom:F}})),d=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,c=!0,p.zoomed=b(p.original),document.body.appendChild(m),h.template){var r=g(h.template)?h.template:document.querySelector(h.template);p.template=document.createElement("div"),p.template.appendChild(r.content.cloneNode(!0)),document.body.appendChild(p.template)}if(p.original.parentElement&&"PICTURE"===p.original.parentElement.tagName&&p.original.currentSrc&&(p.zoomed.src=p.original.currentSrc),document.body.appendChild(p.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),p.original.classList.add("medium-zoom-image--hidden"),p.zoomed.classList.add("medium-zoom-image--opened"),p.zoomed.addEventListener("click",o),p.zoomed.addEventListener("transitionend",function t(){c=!1,p.zoomed.removeEventListener("transitionend",t),p.original.dispatchEvent(D("medium-zoom:opened",{detail:{zoom:F}})),e(F)}),p.original.getAttribute("data-zoom-src")){p.zoomedHd=p.zoomed.cloneNode(),p.zoomedHd.removeAttribute("srcset"),p.zoomedHd.removeAttribute("sizes"),p.zoomedHd.removeAttribute("loading"),p.zoomedHd.src=p.zoomed.getAttribute("data-zoom-src"),p.zoomedHd.onerror=function(){clearInterval(i),console.warn("Unable to reach the zoom image target "+p.zoomedHd.src),p.zoomedHd=null,n()};var i=setInterval(function(){p.zoomedHd.complete&&(clearInterval(i),p.zoomedHd.classList.add("medium-zoom-image--opened"),p.zoomedHd.addEventListener("click",o),document.body.appendChild(p.zoomedHd),n())},10)}else if(p.original.hasAttribute("srcset")){p.zoomedHd=p.zoomed.cloneNode(),p.zoomedHd.removeAttribute("sizes"),p.zoomedHd.removeAttribute("loading");var a=p.zoomedHd.addEventListener("load",function(){p.zoomedHd.removeEventListener("load",a),p.zoomedHd.classList.add("medium-zoom-image--opened"),p.zoomedHd.addEventListener("click",o),document.body.appendChild(p.zoomedHd),n()})}else n()})},o=function(){return new r(function(e){if(c||!p.original)return void e(F);c=!0,document.body.classList.remove("medium-zoom--opened"),p.zoomed.style.transform="",p.zoomedHd&&(p.zoomedHd.style.transform=""),p.template&&(p.template.style.transition="opacity 150ms",p.template.style.opacity=0),p.original.dispatchEvent(D("medium-zoom:close",{detail:{zoom:F}})),p.zoomed.addEventListener("transitionend",function t(){p.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(p.zoomed),p.zoomedHd&&document.body.removeChild(p.zoomedHd),document.body.removeChild(m),p.zoomed.classList.remove("medium-zoom-image--opened"),p.template&&document.body.removeChild(p.template),c=!1,p.zoomed.removeEventListener("transitionend",t),p.original.dispatchEvent(D("medium-zoom:closed",{detail:{zoom:F}})),p.original=null,p.zoomed=null,p.zoomedHd=null,p.template=null,e(F)})})},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return p.original?o():a({target:t})},l=[],u=[],c=!1,d=0,h=n,p={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?h=t:(t||"string"==typeof t)&&i(t);var m=y((h=f({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},h)).background);document.addEventListener("click",function(e){var t=e.target;if(t===m)return void o();-1!==l.indexOf(t)&&s({target:t})}),document.addEventListener("keyup",function(e){var t=e.key||e.keyCode;("Escape"===t||"Esc"===t||27===t)&&o()}),document.addEventListener("scroll",function(){if(!c&&p.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(d-e)>h.scrollOffset&&setTimeout(o,150)}}),window.addEventListener("resize",o);var F={open:a,close:o,toggle:s,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.background&&(m.style.background=e.background),e.container&&e.container instanceof Object&&(e.container=f({},h.container,e.container)),e.template){var t=g(e.template)?e.template:document.querySelector(e.template);e.template=t}return h=f({},h,e),l.forEach(function(e){e.dispatchEvent(D("medium-zoom:update",{detail:{zoom:F}}))}),F},clone:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(f({},h,t))},attach:i,detach:function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce(function(e,t){return[].concat(e,x(t))},[]):l;return r.forEach(function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(D("medium-zoom:detach",{detail:{zoom:F}}))}),l=l.filter(function(e){return -1===r.indexOf(e)}),F},on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l.forEach(function(r){r.addEventListener("medium-zoom:"+e,t,n)}),u.push({type:"medium-zoom:"+e,listener:t,options:n}),F},off:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l.forEach(function(r){r.removeEventListener("medium-zoom:"+e,t,n)}),u=u.filter(function(n){return n.type!=="medium-zoom:"+e||n.listener.toString()!==t.toString()}),F},getOptions:function(){return h},getImages:function(){return l},getZoomedImage:function(){return p.original}};return F};n(8046);let w=[[function(e){let{pathname:t}=(0,l.TH)(),{selector:n=".rspress-doc img",options:r={}}=e;return(0,d.useEffect)(()=>{let e,t=setTimeout(()=>{e=F(document.querySelectorAll(n),{...r,background:"var(--rp-c-bg)"})},100);return()=>{clearTimeout(t),null==e||e.detach(),null==e||e.close()}},[t]),null},{}]];async function C(e){var t,n;let r=(0,l.Ww)(e);if(r){let e=await r.preload(),t=(0,u.bw)(r.filePath),i=h.Z.pages.find(e=>{let t=e=>e.replace(/\/$/,"").toLowerCase();return(0,l.pV)(t(e.routePath),t(r.path))}),a=encodeURIComponent(t),o=(null==(n=e.default.__RSPRESS_PAGE_META)?void 0:n[a])||{},{toc:s=[],title:c="",frontmatter:d={},...p}=u.I6.test(r.filePath)?o:e;return{siteData:h.Z,page:{...p,pagePath:t,...i,pageType:(null==d?void 0:d.pageType)||"doc",title:c,frontmatter:d,toc:s}}}let i=h.Z.lang||"",a=(null==(t=h.Z.multiVersion)?void 0:t.default)||"";if(h.Z.lang&&"undefined"!=typeof window){let e=location.pathname.replace(h.Z.base,"").split("/").slice(0,2);if(h.Z.locales.length){let t=h.Z.locales.find(t=>{let{lang:n}=t;return e.includes(n)});t&&(i=t.lang)}if(h.Z.multiVersion.versions){let t=h.Z.multiVersion.versions.find(t=>e.includes(t));t&&(a=t)}}return{siteData:h.Z,page:{pagePath:"",pageType:"404",routePath:"/404",lang:i,frontmatter:{},title:"404",toc:[],version:a,_filepath:"",_relativePath:""}}}function E(e){let{helmetContext:t}=e,{setData:n,data:r}=(0,d.useContext)(l.R0),i=r.page.frontmatter||{},{pathname:a,search:o}=(0,l.TH)(),u=new URLSearchParams(o),h="globalUIComponents",f=!1===i[h]||"0"===u.get(h);return(0,d.useLayoutEffect)(()=>{!async function(){try{let e=await C(a);null==n||n(e)}catch(e){console.log(e)}}()},[a,n]),(0,s.jsxs)(p.B6,{context:t,children:[(0,s.jsx)(c.ZP.Layout,{}),!f&&w.map((e,t)=>{if(Array.isArray(e)){let[n,r]=e;return d.createElement(n,{key:t,...r})}return d.createElement(e,{key:t})})]})}n(1661);var A={"react-dom":function(e){e.exports=i},"react-dom/client":function(e){e.exports=o}},j={};let k=h.Z.ssg;!async function(){let e=document.getElementById("root"),t=async()=>{let e=await C(window.location.pathname);return function(){let[t,n]=(0,d.useState)(e),[r,i]=(0,c.ls)();return(0,s.jsx)(l.Ni.Provider,{value:(0,d.useMemo)(()=>({theme:r,setTheme:i}),[r,i]),children:(0,s.jsx)(l.R0.Provider,{value:(0,d.useMemo)(()=>({data:t,setData:n}),[t,n]),children:(0,s.jsx)(l.VK,{children:(0,s.jsx)(E,{})})})})}},n=await t();{let{createRoot:t,hydrateRoot:r}=function e(t){var n=j[t];if(void 0!==n)return n.exports;var r=j[t]={exports:{}};return A[t](r,r.exports,e),r.exports}("react-dom/client");(0,u.yv)()&&k?r(e,(0,s.jsx)(n,{})):t(e).render((0,s.jsx)(n,{}))}}()},5751:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},65:function(e,t,n){"use strict";n.d(t,{Zo:()=>s,ah:()=>a});var r=n(7294);let i=r.createContext({});function a(e){let t=r.useContext(i);return r.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}let o={};function s({components:e,children:t,disableParentContext:n}){let s;return s=n?"function"==typeof e?e({}):e||o:a(e),r.createElement(i.Provider,{value:s},t)}},8995:function(e,t,n){"use strict";n.d(t,{$U:()=>x,E9:()=>C,I6:()=>a,Kw:()=>m,Qj:()=>f,_f:()=>d,bw:()=>u,lm:()=>c,mi:()=>p,nY:()=>h,pJ:()=>w,pZ:()=>v,rp:()=>o,t6:()=>s,tz:()=>F,xM:()=>y,xf:()=>g,yc:()=>D,yv:()=>l});let r=/\?.*$/s,i=/#.*$/s,a=/\.mdx?$/,o="rspress-theme-appearance",s="search_index",l=()=>!0,u=e=>e.replace(i,"").replace(r,"");function c(e){return e.replace(/#.*$/,"")}let d=()=>!0;function h(e){return"/"===e.charAt(0)||g(e)?e:`/${e}`}function p(e){return"/"===e.charAt(e.length-1)?e:`${e}/`}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){return f(h(function(e){let t=e.replace(/\\/g,"/"),n=t.startsWith("/"),r=t.split("/"),i=[];for(let e of r)"."===e||""===e||(".."===e?i.length>0&&".."!==i[i.length-1]?i.pop():n&&i.push(".."):i.push(e));let a=i.join("/");return n&&(a=`/${a}`),a}(e)))}function g(e=""){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("mailto:")||e.startsWith("tel:")}function v(e=""){return/^\s*data:/i.test(e)}function x(e,t,n,r="",i=!1,a=!1){let o=C(e,r);(!o||a)&&(o=i?"/index":"/index.html"),o.endsWith("/")&&(o+=i?"/index":"/index.html");let s="",l="",u="",c=o.split("/").filter(Boolean);return n.current&&n.current!==n.default&&(s=c.shift()||""),t.target!==t.default?(l=t.target,t.current!==t.default&&c.shift()):c.shift(),u=c.join("/")||"",(s||l)&&!u&&(u=i?"index":"index.html"),w(h([s,l,u].filter(Boolean).join("/")),r)}function y(e,t,n="",r=!1,i=!1){let a=C(e,n);(!a||i)&&(a=r?"/index":"/index.html");let o="",s=a.split("/").filter(Boolean);t.target!==t.default?(o=t.target,t.current!==t.default&&s.shift()):s.shift();let l=s.join("/")||"";return o&&!l&&(l=r?"index":"index.html"),w(h([o,l].filter(Boolean).join("/")),n)}let b=e=>{let[t,n=""]=e.split("#");return{url:t,hash:n}};function D(e,t=!1){if(!e)return"/";if(g(e))return e;let{url:n,hash:r}=b(decodeURIComponent(e));return t||n.endsWith(".html")||(n.endsWith("/")?n+="index.html":n+=".html"),t&&n.endsWith("/")&&(n+="index"),t&&n.endsWith(".html")&&(n=n.replace(/\.html$/,"")),h(r?`${n}#${r}`:n)}function F(e,t){return h(e).replace(m(t),"")}function w(e,t){let n=h(e),r=m(t);return n.startsWith(r)?n:`${r}${n}`}function C(e,t){return h(e).replace(RegExp(`^${m(t)}`),"")}},5552:function(e,t,n){"use strict";let r;n.d(t,{g2:()=>r0,zx:()=>rd,xK:()=>rv,JL:()=>rZ,ls:()=>ru,rU:()=>nm,xB:()=>ry,pU:()=>r4,TJ:()=>nJ,Qe:()=>r2,O9:()=>rD,BZ:()=>rg,mi:()=>rp,ZP:()=>iu,Vp:()=>il,ol:()=>is});var i,a,o,s,l={};n.r(l),n.d(l,{onSearch:()=>tL}),n(6612);var u=n(5893),c=n(65),d=n(436);let h=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;var p=n(7294),f=n(8995);let m=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var g="object"==typeof global&&global&&global.Object===Object&&global,v="object"==typeof self&&self&&self.Object===Object&&self,x=g||v||Function("return this")();let y=function(){return x.Date.now()};var b=/\s/;let D=function(e){for(var t=e.length;t--&&b.test(e.charAt(t)););return t};var F=/^\s+/,w=x.Symbol,C=Object.prototype,E=C.hasOwnProperty,A=C.toString,j=w?w.toStringTag:void 0;let k=function(e){var t=E.call(e,j),n=e[j];try{e[j]=void 0;var r=!0}catch(e){}var i=A.call(e);return r&&(t?e[j]=n:delete e[j]),i};var S=Object.prototype.toString,N=w?w.toStringTag:void 0;let T=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":N&&N in Object(e)?k(e):S.call(e)},B=function(e){return"symbol"==typeof e||null!=e&&"object"==typeof e&&"[object Symbol]"==T(e)};var O=0/0,I=/^[-+]0x[0-9a-f]+$/i,L=/^0b[01]+$/i,P=/^0o[0-7]+$/i,_=parseInt;let $=function(e){if("number"==typeof e)return e;if(B(e))return O;if(m(e)){var t,n="function"==typeof e.valueOf?e.valueOf():e;e=m(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,D(t)+1).replace(F,""):t;var r=L.test(e);return r||P.test(e)?_(e.slice(2),r?2:8):I.test(e)?O:+e};var M=Math.max,R=Math.min;let z=function(e,t,n){var r,i,a,o,s,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw TypeError("Expected a function");function p(t){var n=r,a=i;return r=i=void 0,u=t,o=e.apply(a,n)}function f(e){var n=e-l,r=e-u;return void 0===l||n>=t||n<0||d&&r>=a}function g(){var e,n,r,i=y();if(f(i))return v(i);s=setTimeout(g,(e=i-l,n=i-u,r=t-e,d?R(r,a-n):r))}function v(e){return(s=void 0,h&&r)?p(e):(r=i=void 0,o)}function x(){var e,n=y(),a=f(n);if(r=arguments,i=this,l=n,a){if(void 0===s)return u=e=l,s=setTimeout(g,t),c?p(e):o;if(d)return clearTimeout(s),s=setTimeout(g,t),p(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=$(t)||0,m(n)&&(c=!!n.leading,a=(d="maxWait"in n)?M($(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),x.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},x.flush=function(){return void 0===s?o:v(y())},x},H=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw TypeError("Expected a function");return m(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),z(e,t,{leading:r,maxWait:t,trailing:i})};var U=n(5598);let W=e=>(0,u.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"})}),V=e=>(0,u.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"})});var G=n(4865);n(9284);var q=n(405);let Z=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 24 24",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M16 7H3V5h13zM3 19h13v-2H3zm19-7-4-3v2H3v2h15v2z"})}),Y=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 24 24",...e,children:(0,u.jsx)("path",{fill:"#22a041",d:"M21 5H3v2h18zM3 19h7v-2H3zm0-6h15c1 0 2 .43 2 2s-1 2-2 2h-2v-2l-4 3 4 3v-2h2c2.95 0 4-1.27 4-4 0-2.72-1-4-4-4H3z"})}),K=e=>(0,u.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 30 30",...e,children:[(0,u.jsx)("path",{fill:"currentColor",d:"M28 10v18H10V10zm0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2"}),(0,u.jsx)("path",{fill:"currentColor",d:"M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z"})]}),J=e=>(0,u.jsx)("svg",{width:32,height:32,viewBox:"0 0 30 30",...e,children:(0,u.jsx)("path",{fill:"#49cd37",d:"m13 24-9-9 1.414-1.414L13 21.171 26.586 7.586 28 9z"})});var X=n(640);function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return(function(e){if(0===e.length||1===e.length)return e;var t,n=e.join(".");return eo[n]||(eo[n]=0===(t=e.length)||1===t?e:2===t?[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])]:3===t?[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])]:t>=4?[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]:void 0),eo[n]})(e.filter(function(e){return"token"!==e})).reduce(function(e,t){return ea(ea({},e),n[t])},t)}(s.className,Object.assign({},s.style,void 0===i?{}:i),r)})}else h=ea(ea({},s),{},{className:s.className.join(" ")});var x=f(n.children);return p.createElement(u,er({key:o},h),x)}}({node:e,stylesheet:n,useInlineStyles:r,key:"code-segment-".concat(t)})})}function eg(e){return e&&void 0!==e.highlightAuto}var ev=n(1215),ex=n.n(ev),ey=(i=ex(),a={},function(e){var t,n,r=e.language,o=e.children,s=e.style,l=void 0===s?a:s,u=e.customStyle,c=void 0===u?{}:u,d=e.codeTagProps,h=void 0===d?{className:r?"language-".concat(r):void 0,style:eu(eu({},l['code[class*="language-"]']),l['code[class*="language-'.concat(r,'"]')])}:d,f=e.useInlineStyles,m=void 0===f||f,g=e.showLineNumbers,v=void 0!==g&&g,x=e.showInlineLineNumbers,y=void 0===x||x,b=e.startingLineNumber,D=void 0===b?1:b,F=e.lineNumberContainerStyle,w=e.lineNumberStyle,C=void 0===w?{}:w,E=e.wrapLines,A=e.wrapLongLines,j=void 0!==A&&A,k=e.lineProps,S=e.renderer,N=e.PreTag,T=void 0===N?"pre":N,B=e.CodeTag,O=void 0===B?"code":B,I=e.code,L=void 0===I?(Array.isArray(o)?o[0]:o)||"":I,P=e.astGenerator,_=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=0;i2&&void 0!==arguments[2]?arguments[2]:[];return t||u.length>0?function(e,a){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return ef({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:u,showLineNumbers:r,wrapLongLines:l,wrapLines:t})}(e,a,u):function(e,t){if(r&&t&&i){var n=ep(s,t,o);e.unshift(eh(t,n))}return e}(e,a)}for(;p=r))));t++);if(n)return a?eK(l,r,0):void(t[t.length]=l)}return!n&&l}function eK(e,t,n){return e=1===e.length?e[0]:[].concat.apply([],e),n||e.length>t?e.slice(n,n+t):e}function eJ(e,t,n,r){return e=n?(e=e[(r=r&&t>n)?t:n])&&e[r?n:t]:e[t]}function eX(e,t,n,r,i){let a=0;if(e.constructor===Array)if(i)-1!==(t=e.indexOf(t))?1=this.B&&(d||!c[f])){var a=eq(h,r,p),o="";switch(this.G){case"full":if(2a;s--)if(s-a>=this.B){var l=eq(h,r,p,i,a);eZ(this,c,o=f.substring(a,s),l,e,n)}break}case"reverse":if(1=this.B&&eZ(this,c,o,eq(h,r,p,i,s),e,n);o=""}case"forward":if(1=this.B&&eZ(this,c,o,a,e,n);break}default:if(this.C&&(a=Math.min(a/this.C(t,f,p)|0,h-1)),eZ(this,c,f,a,e,n),d&&1=this.B&&!i[f]){i[f]=1;let t=this.l&&f>a;eZ(this,u,t?a:f,eq(o+(r/2>o?0:1),r,p,s-1,l-1),e,n,t?f:a)}}}}}this.m||(this.register[e]=1)}}return this},s.search=function(e,t,n){let r,i,a;n||(!t&&ej(e)?e=(n=e).query:ej(t)&&(n=t));let o=[],s,l,u=0;if(n){e=n.query||e,t=n.limit,u=n.offset||0;var c=n.context;l=n.suggest}if(e&&1<(s=(e=this.encode(""+e)).length)){n=eC();var d=[];for(let t=0,r=0,i;t=this.B&&!n[i])if(!this.s&&!l&&!this.map[i])return o;else d[r++]=i,n[i]=1;s=(e=d).length}if(!s)return o;for(t||(t=100),c=this.depth&&1{a=e})),i||(i=0)){case 0:if(o="reg",this.m)for(let e in s=eC(),this.register)s[e]=1;else s=this.register;break;case 1:o="cfg",s={doc:0,opt:+!!this.s};break;case 2:o="map",s=this.map;break;case 3:o="ctx",s=this.h;break;default:void 0===n&&a&&a();return}return eV(e,t||this,n,o,r,i,s,a),l},s.import=function(e,t){if(t)switch(eA(t)&&(t=JSON.parse(t)),e){case"cfg":this.s=!!t.opt;break;case"reg":this.m=!1,this.register=t;break;case"map":this.map=t;break;case"ctx":this.h=t}},eM(eG.prototype);let e0=0;function e1(e){var t;if(!(this instanceof e1))return new e1(e);e?ek(t=e.encode)&&(e.encode=t.toString()):e={},(t=(self||window)._factory)&&(t=t.toString());let r="undefined"==typeof window&&self.exports,i=this;this.o=function(e,t,r){let i;try{i=t?new(n(7770)).Worker("//node/node.js"):e?new Worker(URL.createObjectURL(new Blob(["onmessage="+eQ.toString()],{type:"text/javascript"}))):new Worker(eA(r)?r:"worker/worker.js",{type:"module"})}catch(e){}return i}(t,r,e.worker),this.h=eC(),this.o&&(r?this.o.on("message",function(e){i.h[e.id](e.msg),delete i.h[e.id]}):this.o.onmessage=function(e){e=e.data,i.h[e.id](e.msg),delete i.h[e.id]},this.o.postMessage({task:"init",factory:t,options:e}))}function e2(e){e1.prototype[e]=e1.prototype[e+"Async"]=function(){let t,n=this,r=[].slice.call(arguments);var i=r[r.length-1];return ek(i)&&(t=i,r.splice(r.length-1,1)),i=new Promise(function(t){setTimeout(function(){n.h[++e0]=t,n.o.postMessage({task:e,id:e0,args:r})})}),t?(i.then(t),this):i}}function e3(e){if(!(this instanceof e3))return new e3(e);var t,n=e.document||e.doc||e;this.K=[],this.h=[],this.A=[],this.register=eC(),this.key=(t=n.key||n.id)&&e4(t,this.A)||"id",this.m=eF(e.fastupdate),this.C=(t=n.store)&&!0!==t&&[],this.store=t&&eC(),this.I=(t=n.tag)&&e4(t,this.A),this.l=t&&eC(),this.cache=(t=e.cache)&&new eH(t),e.cache=!1,this.o=e.worker,this.async=!1,t=eC();let r=n.index||n.field||n;eA(r)&&(r=[r]);for(let n=0,i,a;nt||n)&&(i=i.slice(n,n+t)),r&&(i=e8.call(this,i)),{tag:e,result:i}}function e8(e){let t=Array(e.length);for(let n=0,r;n{a=e})),i||(i=0),r||(r=0),r(0,u.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32",...e,children:[(0,u.jsx)("circle",{cx:8,cy:16,r:2,fill:"currentColor"}),(0,u.jsx)("circle",{cx:16,cy:16,r:2,fill:"currentColor"}),(0,u.jsx)("circle",{cx:24,cy:16,r:2,fill:"currentColor"})]});var tu=!1;if("undefined"!=typeof window){var tc={get passive(){tu=!0;return}};window.addEventListener("testPassive",null,tc),window.removeEventListener("testPassive",null,tc)}var td="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),th=[],tp=!1,tf=-1,tm=void 0,tg=void 0,tv=void 0,tx=function(e){return th.some(function(t){return!!(t.options.allowTouchMove&&t.options.allowTouchMove(e))})},ty=function(e){var t=e||window.event;return!!tx(t.target)||t.touches.length>1||(t.preventDefault&&t.preventDefault(),!1)},tb=function(e){if(void 0===tv){var t=!!e&&!0===e.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;if(t&&n>0){var r=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);tv=document.body.style.paddingRight,document.body.style.paddingRight=r+n+"px"}}void 0===tm&&(tm=document.body.style.overflow,document.body.style.overflow="hidden")},tD=function(){void 0!==tv&&(document.body.style.paddingRight=tv,tv=void 0),void 0!==tm&&(document.body.style.overflow=tm,tm=void 0)},tF=function(){if(void 0!==tg){var e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);document.body.style.position=tg.position,document.body.style.top=tg.top,document.body.style.left=tg.left,window.scrollTo(t,e),tg=void 0}},tw=function(e,t){var n=e.targetTouches[0].clientY-tf;return!tx(e.target)&&(t&&0===t.scrollTop&&n>0?ty(e):t&&t.scrollHeight-t.scrollTop<=t.clientHeight&&n<0?ty(e):(e.stopPropagation(),!0))},tC=function(e,t){if(!e)return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");!th.some(function(t){return t.targetElement===e})&&(th=[].concat(function(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,n=Array(e.length);t=r&&(document.body.style.top=-(t+e))})},300)}}):tb(t),td&&(e.ontouchstart=function(e){1===e.targetTouches.length&&(tf=e.targetTouches[0].clientY)},e.ontouchmove=function(t){1===t.targetTouches.length&&tw(t,e)},tp||(document.addEventListener("touchmove",ty,tu?{passive:!1}:void 0),tp=!0)))},tE=function(){td&&(th.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),tp&&(document.removeEventListener("touchmove",ty,tu?{passive:!1}:void 0),tp=!1),tf=-1),td?tF():tD(),th=[]};let tA=e=>(0,u.jsx)("svg",{width:18,height:18,viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6 2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.7 14.7 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.5 16.5 0 0 0 3 5.58A16.8 16.8 0 0 1 3 18l.75 1.86A18.5 18.5 0 0 0 9.53 16a16.9 16.9 0 0 0 5.76 3.84L16 18a14.5 14.5 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"})}),tj=e=>(0,u.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z"})}),tk=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24",...e,children:(0,u.jsx)("path",{d:"M12.1 22h-.9c-5.5-.5-9.5-5.4-9-10.9.4-4.8 4.2-8.6 9-9 .4 0 .8.2 1 .5s.2.8-.1 1.1c-2 2.7-1.4 6.4 1.3 8.4 2.1 1.6 5 1.6 7.1 0 .3-.2.7-.3 1.1-.1.3.2.5.6.5 1-.2 2.7-1.5 5.1-3.6 6.8-1.9 1.4-4.1 2.2-6.4 2.2M9.3 4.4c-2.9 1-5 3.6-5.2 6.8-.4 4.4 2.8 8.3 7.2 8.7 2.1.2 4.2-.4 5.8-1.8 1.1-.9 1.9-2.1 2.4-3.4-2.5.9-5.3.5-7.5-1.1-2.8-2.2-3.9-5.9-2.7-9.2"})}),tS=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24",...e,children:(0,u.jsx)("path",{d:"M12 18c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6m0-10c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4M12 4c-.6 0-1-.4-1-1V1c0-.6.4-1 1-1s1 .4 1 1v2c0 .6-.4 1-1 1M12 24c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1s1 .4 1 1v2c0 .6-.4 1-1 1M5.6 6.6c-.3 0-.5-.1-.7-.3L3.5 4.9c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4-.1.2-.4.3-.7.3M19.8 20.8c-.3 0-.5-.1-.7-.3l-1.4-1.4c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4-.2.2-.5.3-.7.3M3 13H1c-.6 0-1-.4-1-1s.4-1 1-1h2c.6 0 1 .4 1 1s-.4 1-1 1M23 13h-2c-.6 0-1-.4-1-1s.4-1 1-1h2c.6 0 1 .4 1 1s-.4 1-1 1M4.2 20.8c-.3 0-.5-.1-.7-.3-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-1.4 1.4c-.2.2-.4.3-.7.3M18.4 6.6c-.3 0-.5-.1-.7-.3-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-1.4 1.4c-.2.2-.5.3-.7.3"})});var tN=n(3935);let tT=e=>(0,u.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z"})}),tB=e=>(0,u.jsx)("svg",{width:24,height:24,viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"var(--rp-c-gray)",d:"m29 27.586-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9 9.01 9.01 0 0 1-9-9"})}),tO=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M24 9.4 22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6z"})}),tI=e=>(0,u.jsx)("svg",{width:32,height:32,viewBox:"0 0 24 24",...e,children:(0,u.jsxs)("g",{fill:"none",stroke:"var(--rp-c-brand)",strokeLinecap:"round",strokeWidth:2,children:[(0,u.jsx)("path",{strokeDasharray:60,strokeDashoffset:60,strokeOpacity:.3,d:"M12 3a9 9 0 1 1 0 18 9 9 0 0 1 0-18Z",children:(0,u.jsx)("animate",{fill:"freeze",attributeName:"stroke-dashoffset",dur:"1.3s",values:"60;0"})}),(0,u.jsxs)("path",{strokeDasharray:15,strokeDashoffset:15,d:"M12 3a9 9 0 0 1 9 9",children:[(0,u.jsx)("animate",{fill:"freeze",attributeName:"stroke-dashoffset",dur:"0.3s",values:"15;0"}),(0,u.jsx)("animateTransform",{attributeName:"transform",dur:"1.5s",repeatCount:"indefinite",type:"rotate",values:"0 12 12;360 12 12"})]})]})}),tL=()=>{},tP=e=>(0,u.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:48,height:48,fill:"none",viewBox:"0 0 48 48",...e,children:[(0,u.jsx)("path",{stroke:"currentColor",strokeWidth:4,d:"M24 5v6m7 1 4-4m-18 4-4-4m27 33H8a2 2 0 0 1-2-2v-8.46a2 2 0 0 1 .272-1.007l6.15-10.54A2 2 0 0 1 14.148 18H33.85a2 2 0 0 1 1.728.992l6.149 10.541A2 2 0 0 1 42 30.541V39a2 2 0 0 1-2 2Z"}),(0,u.jsx)("path",{stroke:"currentColor",strokeWidth:4,d:"M41.5 30H28s-1 3-4 3-4-3-4-3H6.5"})]}),t_=e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M13.414 17.586 18 22.172V8H8V6h10a2 2 0 0 1 2 2v14.172l4.586-4.586L26 19l-7 7-7-7Z"})});function t$(){let{siteData:{themeConfig:e}}=(0,d.Vi)(),t=e.hideNavbar??"never",[n,r]=(0,p.useState)(!1),{pathname:i}=(0,d.TH)(),a=(0,p.useRef)(0);return"never"!==t&&("always"===t||((0,p.useEffect)(()=>{r(!1);let e=H(()=>{let{scrollTop:e}=document.documentElement;e!==a.current&&(r(a.current>0&&e-a.current>0),a.current=e<=0?0:e)},200);return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[i]),n))}function tM(){let e=(0,d.Vi)(),{page:{lang:t}}=e,n=e?.siteData?.themeConfig??{},r=e.siteData.lang??"",i=n?.locales;return i&&0!==i.length?{...i.find(e=>e.lang===t),langRoutePrefix:t===r?"/":(0,f.mi)(t)}:{nav:n.nav,sidebar:n.sidebar,prevPageText:n.prevPageText,nextPageText:n.nextPageText,sourceCodeText:n.sourceCodeText,searchPlaceholderText:n.searchPlaceholderText,searchNoResultsText:n.searchNoResultsText,searchSuggestedQueryText:n.searchSuggestedQueryText,overview:n.overview}}function tR(){let{page:e,siteData:t}=(0,d.Vi)(),{frontmatter:n}=e,{themeConfig:r}=t,i=tM(),a=(0,d.TH)(),o=n?.overview??!1,s=()=>{let e="undefined"==typeof window||window.top===window.self;return(n?.outline??r?.outline??e)&&!o},[l,u]=function(){let{siteData:{themeConfig:e},page:{frontmatter:t={}}}=(0,d.Vi)(),n=(t?.navbar??!0)&&e?.hideNavbar!=="always",[r,i]=(0,p.useState)(n);return[r,i]}(),c=t$(),[h,f]=(0,p.useState)(s()),[m,g]=(0,p.useState)(n?.footer??!0),v=i.sidebar||{},x=n?.sidebar!==!1&&Object.keys(v).length>0,{width:y}=(0,d.iP)(),b=y<=960||y<=1280&&e.toc.length>0;(0,p.useEffect)(()=>{f(s())},[e,t]),(0,p.useEffect)(()=>{let e=new URLSearchParams(a.search),t=document.documentElement.style,n=t.getPropertyValue("--rp-sidebar-width"),r=t.getPropertyValue("--rp-aside-width"),i=e.get("navbar"),o=e.get("sidebar"),s=e.get("outline"),c=e.get("footer");return"0"===i&&u(!1),"0"===o&&document.documentElement.style.setProperty("--rp-sidebar-width","0px"),"0"===s&&document.documentElement.style.setProperty("--rp-aside-width","0px"),"0"===c&&g(!1),()=>{document.documentElement.style.setProperty("--rp-sidebar-width",n),document.documentElement.style.setProperty("--rp-aside-width",r),u(l),g(m)}},[a.search]);let D=c?0:y<=768?56:72,F=46*!!b;return{showAside:h,showNavbar:l,showSidebar:x,showSidebarMenu:b,showDocFooter:m,navbarHeight:D,sidebarMenuHeight:F,scrollPaddingTop:D+F}}function tz(e,t){let n=Number.parseInt(window.getComputedStyle(e).paddingTop,10);return Math.round(window.scrollY+e.getBoundingClientRect().top-t-n)}function tH(e,t,n){window.scrollTo({left:0,top:tz(e,n),...t?{behavior:"smooth"}:{}})}function tU(e){let{scrollPaddingTop:t}=tR();(0,p.useEffect)(()=>{let n=document.getElementById("aside-container"),r=Array.from(document.querySelectorAll(".rspress-doc .header-anchor")).filter(e=>e.parentElement?.tagName!=="H1");if(!n||!r.length||!e.length)return;let i=null,a=(e,t)=>{if(e[t]){let r=e[t].getAttribute("href"),a=n?.querySelector(`a[href="#${r?.slice(1)}"]`);a&&(i&&i.classList.remove("aside-active"),(i=a).classList.add("aside-active"))}},o=()=>{if(document.documentElement.scrollTop+window.innerHeight>=document.documentElement.scrollHeight)a(r,r.length-1);else for(let e=0;e=s&&o{i&&i.classList.remove("aside-active"),window.removeEventListener("scroll",s)}},[t,e.length])}function tW(){if((0,f._f)()){let{scrollPaddingTop:e}=tR();(0,p.useEffect)(()=>{window.addEventListener("click",t=>{let n=t.target.closest("a");if(!n)return;let{origin:r,hash:i,target:a,pathname:o,search:s}=n,l=window.location;i&&"_blank"!==a&&r===l.origin&&(o===l.pathname&&s===l.search&&i&&n.classList.contains("header-anchor")?(t.preventDefault(),history.pushState(null,"",i),function(e,t,n=!1,r){let i=null;try{i=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t.slice(1)))}catch(e){console.warn(e)}i&&tH(i,n,r)}(n,i,!0,e),window.dispatchEvent(new Event("hashchange"))):window.addEventListener("RspressReloadContent",()=>{location.hash.length>1&&tH(document.getElementById(location.hash.slice(1)),!1,e)}))},{capture:!0}),window.addEventListener("hashchange",e=>{e.preventDefault()})},[e])}}function tV(e){return e?"number"==typeof e?e:/<([a-z]+)([^<]*)(?:>(.*?)<\/\1>|\s*\/>)/i.test(e)?U(e):e.replace(/\\/g,">").replace(/</g,"<").replace(/>/g,">"):""}let tG=/`(.*?)`/g,tq=/\*{2}(?!\*)(.*?)\*{2}(?!\*)/g,tZ=/\*(?!\*)(.*?)\*(?!\*)/g,tY=/\~{2}(.*?)\~{2}/g;function tK(e){return tV(e.replace(/`[^`]+`/g,e=>e.replace(/$1").replace(tZ,"$1").replace(tY,"$1").replace(tG,"$1"))}let tJ=({header:e,baseHeaderLevel:t})=>(0,u.jsx)("li",{children:(0,u.jsx)("a",{href:`#${e.id}`,title:e.text.replace(tq,"$1").replace(tZ,"$1").replace(tY,"$1").replace(tG,"$1"),className:"aside-link transition-all duration-300 hover:text-text-1 text-text-2 block",style:{marginLeft:(e.depth-t)*12,fontWeight:"semibold"},onClick:t=>{t.preventDefault(),window.location.hash=e.id},children:(0,u.jsx)("span",{className:"aside-link-text block",children:tK(e.text)})})});function tX({headers:e,outlineTitle:t}){let{scrollPaddingTop:n}=tR(),r=e[0]?.depth||2,{hash:i="",pathname:a}=(0,d.TH)(),o=(0,p.useMemo)(()=>decodeURIComponent(i),[i]);return tU(e),(0,p.useEffect)(()=>{if(0===o.length)window.scrollTo(0,0);else{let e=document.getElementById(o.slice(1));e&&tH(e,!1,n)}},[o,e,a]),(0,u.jsx)("div",{className:"flex flex-col",children:(0,u.jsxs)("div",{id:"aside-container",className:"relative text-sm font-medium",children:[(0,u.jsx)("div",{className:"leading-7 block text-sm font-semibold pl-3",children:t}),(0,u.jsx)("nav",{className:"mt-1",children:(0,u.jsx)("ul",{className:"relative",children:e.map(e=>(0,u.jsx)(tJ,{baseHeaderLevel:r,header:e},`${a}#${e.id}`))})})]})})}let tQ=(e,t)=>{let n=(0,d.pJ)(e);if(n===t)return!0;let r=(0,f.mi)(n);if(t.startsWith(r))return!0;let i=`${n}.`;return t.startsWith(i)};function t0(e,t){let n=(0,d.Tm)((0,d.pJ)(e)),r=(0,d.Tm)(t);return null!==(0,d.LX)(n,r)}let t1=(e,t)=>{for(let n of Object.keys(e).sort((e,t)=>t.length-e.length))if(tQ(n,t))return e[n];return[]};function t2(){let{sidebar:e}=tM(),{pathname:t}=(0,d.TH)(),n=decodeURIComponent(t);return(0,p.useMemo)(()=>t1(e,n),[e,n])}function t3(){let{prevPage:e,nextPage:t}=function(){let{pathname:e}=(0,d.TH)(),t=t2(),n=[],r=e=>{"items"in e?(e.link&&n.push({text:e.text,link:e.link}),e.items.forEach(e=>{"dividerType"in e||r(e)})):n.push(e)};t.forEach(e=>!("dividerType"in e)&&r(e));let i=n.findIndex(t=>(0,d.pV)((0,d.pJ)(t.link),e));return{prevPage:n[i-1]||null,nextPage:n[i+1]||null}}(),{lastUpdated:n=!1}=tM(),{siteData:r}=(0,d.Vi)(),{themeConfig:i}=r,a=i.lastUpdated||n;return(0,u.jsxs)("footer",{className:"mt-8",children:[(0,u.jsx)("div",{className:"xs:flex pb-5 px-2 justify-end items-center",children:a&&(0,u.jsx)(rD,{})}),(0,u.jsx)("div",{className:"flex flex-col",children:(0,u.jsx)(rp,{})}),(0,u.jsxs)("div",{className:"flex flex-col sm:flex-row sm:justify-around gap-4 pt-6",children:[(0,u.jsx)("div",{className:"prev_c92d1 flex flex-col",children:e?(0,u.jsx)(r2,{type:"prev",text:e.text,href:(0,d.AP)(e.link)}):null}),(0,u.jsx)("div",{className:"next_c11be flex flex-col",children:t?(0,u.jsx)(r2,{type:"next",text:t.text,href:(0,d.AP)(t.link)}):null})]})]})}let t4={hidden:"hidden_f8586",container:"container_e4235",navContainer:"navContainer_d18b1",relative:"relative_bb7f1",sticky:"sticky_ddfa7",leftNav:"leftNav_e6722",rightNav:"rightNav_a2fea",singleItem:"singleItem_c1154",activeItem:"activeItem_a28b5",navBarTitle:"navBarTitle_c5f07",menuItem:"menu-item_b8238",mobileNavMenu:"mobileNavMenu_e7045"},t5=()=>{let{siteData:e}=(0,d.Vi)(),t=tM(),{logo:n,logoText:r}=e,i=t.title??e.title,a=(0,p.useMemo)(()=>n?"string"==typeof n?(0,u.jsx)("img",{src:(0,d.i6)(n),alt:"logo",id:"logo",className:"rspress-logo"}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("img",{src:(0,d.i6)(n.light),alt:"logo",id:"logo",className:"rspress-logo dark:hidden"}),(0,u.jsx)("img",{src:(0,d.i6)(n.dark),alt:"logo",id:"logo",className:"rspress-logo hidden dark:block"})]}):null,[n]);return(0,u.jsx)("div",{className:`${t4.navBarTitle}`,children:(0,u.jsxs)(nm,{href:t.langRoutePrefix,className:"flex items-center w-full h-full text-base font-semibold transition-opacity duration-300 hover:opacity-60",children:[a&&(0,u.jsx)("div",{className:"mr-1 min-w-8",children:a}),r&&(0,u.jsx)("span",{children:r}),!a&&!r&&(0,u.jsx)("span",{children:i})]})})};function t6(e){let{depth:t,dividerType:n}=e;return(0,u.jsx)("div",{className:`${"dashed"===n?"border-dashed":"border-solid"} border-t border-divider-light my-3`,style:{marginLeft:0===t?0:"18px"}})}function t8({icon:e,...t}){return e?"string"==typeof e?(0,u.jsx)("img",{src:e,alt:"",...t}):(0,u.jsx)(e,{...t}):null}let t7={navTitleMask:"navTitleMask_fb17c",sidebar:"sidebar_dd719",sidebarContent:"sidebarContent_da296",open:"open_becbd",menuLink:"menuLink_bb039",menuItem:"menuItem_ac22e",collapseContainer:"collapseContainer_d6e4e",menuItemActive:"menuItemActive_de63c"},t9=e=>"dividerType"in e,ne=e=>!("items"in e)&&"link"in e,nt=e=>"sectionHeaderText"in e,nn=e=>"link"in e&&(0,f.xf)(e.link),nr=e=>{let t=(0,d.Ww)(e);t&&t.preload()},ni=()=>{let{pathname:e}=(0,d.TH)();return(0,p.useCallback)(t=>t0(t,decodeURIComponent(e)),[e])};function na(e){let{item:t,depth:n=0,activeMatcher:r,id:i,setSidebarData:a}=e,o=(0,d.s0)(),s=(0,p.useRef)(null),l=(0,p.useRef)(),c=(0,p.useRef)(null),h=(0,p.useRef)(!0),f=(0,p.useRef)("collapsed"in t&&t.collapsed),m=t.link&&r(t.link),{collapsed:g,collapsible:v=!0}=t,x=(0,u.jsx)("div",{style:{cursor:"pointer",transition:"transform 0.2s ease-out",transform:g?"rotate(0deg)":"rotate(90deg)"},children:(0,u.jsx)(t8,{icon:W})});(0,p.useEffect)(()=>{if(h.current||!s.current||!c.current)return;l.current&&clearTimeout(l.current);let e=s.current,t=c.current,n=t.clientHeight+4;g?(e.style.maxHeight=`${n}px`,e.style.transitionDuration="0.5s",t.style.opacity="0",l.current=window.setTimeout(()=>{s.current&&(s.current.style.maxHeight="0px")},0)):(e.style.maxHeight=`${n}px`,e.style.transitionDuration="0.3s",t.style.opacity="1",l.current=window.setTimeout(()=>{s.current&&s.current.style.removeProperty("max-height")},300))},[g]),(0,p.useEffect)(()=>{h.current=!1},[]);let y=e=>{e.stopPropagation(),a(e=>{let t=[...e],n=i.split("-").map(Number),r=t[n.shift()];for(let e of n)r=r.items[e];return"items"in r&&(r.collapsed=!r.collapsed),t})};return(0,u.jsxs)("section",{className:"rspress-sidebar-section mt-0.5 block","data-context":t.context,style:{marginLeft:0===n?0:"18px"},children:[(0,u.jsxs)("div",{className:`rspress-sidebar-collapse flex justify-between items-center ${m?t7.menuItemActive:t7.menuItem}`,"data-context":t.context,onMouseEnter:()=>t.link&&nr(t.link),onClick:e=>{t.link&&o((0,d.pJ)((0,d.AP)(t.link))),v&&y(e)},style:{borderRadius:0===n?"0 var(--rp-radius) var(--rp-radius) 0":void 0,cursor:v||t.link?"pointer":"normal"},children:[(0,u.jsxs)("h2",{className:"py-2 px-3 text-sm font-medium flex",style:{...0===n?nl:{}},children:[(0,u.jsx)(il,{tag:t.tag}),(0,u.jsx)("span",{className:"flex-center",style:{fontSize:0===n?"14px":"13px"},children:tK(t.text)})]}),v&&(0,u.jsx)("div",{className:`${t7.collapseContainer} p-2 rounded-xl`,onClick:y,children:x})]}),(0,u.jsx)("div",{ref:s,className:"transition-all duration-300 ease-in-out",style:{overflow:"hidden",maxHeight:f.current?0:void 0},children:(0,u.jsx)("div",{ref:c,className:"rspress-sidebar-group transition-opacity duration-500 ease-in-out",style:{opacity:+!f.current,marginLeft:0===n?"12px":0},children:t?.items?.map((t,r)=>t9(t)?(0,u.jsx)(t6,{depth:n+1,dividerType:t.dividerType},r):(0,u.jsx)("div",{className:"rspress-sidebar-item","data-context":t.context,children:(0,u.jsx)(no,{...e,item:t,depth:n+1,id:`${i}-${r}`})},r))})})]},i)}function no(e){let{item:t,depth:n=0,activeMatcher:r,id:i,setSidebarData:a}=e,o="link"in t&&t.link&&r(t.link),s=(0,p.useRef)(null);return((0,p.useEffect)(()=>{o&&s.current?.scrollIntoView({block:"center"})},[]),"items"in t)?(0,u.jsx)(na,{id:i,activeMatcher:r,item:t,depth:n,collapsed:t.collapsed,setSidebarData:a},`${t.text}-${i}`):(0,u.jsx)(nm,{href:(0,d.AP)(t.link),className:t7.menuLink,children:(0,u.jsxs)("div",{ref:s,className:`${o?t7.menuItemActive:t7.menuItem} mt-0.5 py-2 px-3 font-medium flex`,style:{fontSize:0===n?"14px":"13px",marginLeft:0===n?0:"18px",borderRadius:"0 var(--rp-radius) var(--rp-radius) 0",...0===n?nl:{}},children:[(0,u.jsx)(il,{tag:t.tag}),(0,u.jsx)("span",{children:tK(t.text)})]})})}function ns({sectionHeaderText:e,tag:t}){return(0,u.jsxs)("div",{className:"rspress-sidebar-section-header",children:[(0,u.jsx)(il,{tag:t}),(0,u.jsx)("span",{children:tK(e)})]})}let nl={fontSize:"14px",paddingLeft:"24px",fontWeight:"bold"},nu=new WeakMap;function nc(e){let{isSidebarOpen:t,beforeSidebar:n,afterSidebar:i,uiSwitch:a,navTitle:o}=e,{pathname:s}=(0,d.TH)(),l=t2(),[c,h]=(0,p.useState)(()=>l.filter(Boolean).flat()),m=decodeURIComponent(s),g=ni();return(0,p.useEffect)(()=>((0,f._f)()&&(t?(r=document.body.style.overflow,document.body.style.overflow="hidden"):document.body.style.overflow=r||""),()=>{(0,f._f)()&&(document.body.style.overflow=r||"")}),[t]),(0,p.useEffect)(()=>{if(l===c)return;nu=new WeakMap;let e=t=>nu.has(t)?nu.get(t):"link"in t&&t.link&&g(t.link)||"items"in t&&t.items.some(t=>e(t))?(nu.set(t,!0),!0):(nu.set(t,!1),!1),t=n=>{"items"in n&&(n.items.forEach(t),e(n)&&(n.collapsed=!1))},n=l.filter(Boolean).flat();n.forEach(t),h(n)},[l,m]),(0,u.jsxs)("aside",{className:`${t7.sidebar} rspress-sidebar ${t?t7.open:""}`,children:[a?.showNavbar?(0,u.jsx)("div",{className:t7.navTitleMask,children:o||(0,u.jsx)(t5,{})}):null,(0,u.jsx)("div",{className:`rspress-scrollbar ${t7.sidebarContent}`,children:(0,u.jsxs)("nav",{className:"pb-2",children:[n,(0,u.jsx)(nd,{sidebarData:c,setSidebarData:h}),i]})})]})}function nd({sidebarData:e,setSidebarData:t}){let n=ni();return(0,u.jsx)(u.Fragment,{children:e.map((e,r)=>(0,u.jsx)(nh,{item:e,index:r,setSidebarData:t,activeMatcher:n},r))})}function nh(e){let{item:t,index:n,setSidebarData:r,activeMatcher:i}=e;return t9(t)?(0,u.jsx)(t6,{depth:0,dividerType:t.dividerType},n):nt(t)?(0,u.jsx)(ns,{sectionHeaderText:t.sectionHeaderText,tag:t.tag},n):nn(t)?(0,u.jsx)("div",{className:"rspress-sidebar-item rspress-sidebar-custom-link","data-context":t.context,children:(0,u.jsx)(no,{id:String(n),item:t,depth:0,collapsed:t.collapsed??!0,setSidebarData:r,activeMatcher:i},n)},n):(0,u.jsx)(no,{id:String(n),item:t,depth:0,activeMatcher:i,collapsed:t.collapsed??!0,setSidebarData:r},n)}let np={link:"link_a7cea"},nf=(e,t)=>{let{hash:n}=window.location,r=decodeURIComponent(n),i=r.length>1&&document.getElementById(r.slice(1));r&&i&&tH(i,e,t)};function nm(e){let{href:t="/",children:n,className:r="",onNavigate:i,onClick:a}=e,o=(0,d.s0)(),{pathname:s}=(0,d.TH)(),{scrollPaddingTop:l}=tR(),c=(0,p.useMemo)(()=>(0,d.pJ)((0,d.AP)(t)),[t]),h=(0,f.xf)(t),m=t.startsWith("#");if(h)return(0,u.jsx)("a",{...e,href:t,target:"_blank",rel:"noopener noreferrer",className:`${np.link} ${r}`,children:n});if(m)return(0,u.jsx)("a",{...e,href:t,className:`${np.link} ${r}`,children:n});let g=async e=>{if(0===e.button&&(!e.currentTarget.target||"_self"===e.currentTarget.target)&&!e.metaKey&&!e.shiftKey&&!e.altKey&&!e.ctrlKey){if(e.preventDefault(),!t0(c,s)){let e=(0,d.Ww)(c);if(e){let t=setTimeout(()=>{G.start()},200);await e.preload(),clearTimeout(t),G.done()}}i?.(),o(c,{replace:!1}),setTimeout(()=>{nf(!1,l)},100)}};return(0,u.jsx)("a",{...e,href:c,className:`${np.link} ${r}`,onMouseEnter:()=>nr(c),onClick:e=>{a?.(e),g(e)},children:n})}G.configure({showSpinner:!1});let ng=({header:e,onItemClick:t})=>(0,u.jsx)("li",{children:(0,u.jsx)(nm,{href:`#${e.id}`,className:"rspress-toc-link sm:text-normal text-sm",style:{marginLeft:(e.depth-2)*12},onClick:()=>{t?.(e)},children:(0,u.jsx)("span",{className:"rspress-toc-link-text block",children:tK(e.text)})})});function nv({onItemClick:e}){let{page:t}=(0,d.Vi)();return t.toc.length>0&&(0,u.jsx)("ul",{children:t.toc.map(t=>(0,u.jsx)(ng,{header:t,onItemClick:e},t.id))})}function nx({isSidebarOpen:e,onIsSidebarOpenChange:t,outlineTitle:n,uiSwitch:r}){let{page:i}=(0,d.Vi)(),a=(0,p.useRef)(null),o=(0,p.useRef)(null),[s,l]=(0,p.useState)(!1),{pathname:c}=(0,d.TH)();(0,p.useEffect)(()=>{t(!1)},[c]),(0,p.useEffect)(()=>(document.addEventListener("mouseup",h),document.addEventListener("touchend",h),()=>{document.addEventListener("mouseup",h),document.removeEventListener("touchend",h)}),[]);let h=(0,p.useCallback)(e=>{let{current:t}=o;if(t?.contains(e.target))return;let{current:n}=a;n&&!n.contains(e.target)&&l(!1)},[]),f=(0,p.useCallback)(()=>{l(!1)},[]),m=i.toc.length>0;return(0,u.jsx)("div",{className:`rspress-sidebar-menu-container ${m?"":"no-toc"}`,children:(0,u.jsxs)("div",{className:"rspress-sidebar-menu",children:[r?.showSidebar&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("button",{type:"button",onClick:function(){t(!0)},className:"flex-center mr-auto",children:[(0,u.jsx)("div",{className:"text-md mr-2",children:(0,u.jsx)(t8,{icon:V})}),(0,u.jsx)("span",{className:"text-sm",children:"Menu"})]}),e&&(0,u.jsx)("div",{onClick:function(){t(!1)},className:"rspress-sidebar-back-drop",style:{background:"rgba(0, 0, 0, 0.6)"}})]}),r?.showAside&&m&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("button",{type:"button",onClick:()=>l(e=>!e),className:"flex-center ml-auto",ref:o,children:[(0,u.jsx)("span",{className:"text-sm",children:n}),(0,u.jsx)("div",{className:"text-md mr-2",style:{transform:s?"rotate(90deg)":"rotate(0deg)",transition:"transform 0.2s ease-out",marginTop:"2px"},children:(0,u.jsx)(t8,{icon:W})})]}),(0,u.jsx)("div",{className:`rspress-local-toc-container ${s?"rspress-local-toc-container-show":""}`,children:(0,u.jsx)(nv,{onItemClick:f})})]})]})})}let ny=(0,p.createContext)({tabData:{},setTabData:()=>{}}),nb="title_fb7eb",nD=e=>{let{href:t="",className:n=""}=e,{normalizeLinkHref:r}=function(){let e=(0,d.Jr)(),t=(0,d.aw)(),n=(0,d.Vi)(),r=n.siteData.lang,i=n.siteData.multiVersion.default;return{normalizeLinkHref:n=>{let a=n;if((r||i)&&!(0,f.xf)(a)&&!a.startsWith("#")){let n=(a=(0,d.E9)(a)).split("/").filter(Boolean),o="",s="",l="";return i&&(t!==i?(o=t,n[0]===t&&n.shift()):n[0]===i&&n.shift()),r&&(e!==r?(s=e,n[0]===e&&n.shift()):n[0]===r&&n.shift()),l=n.join("/"),(0,d.AP)((0,d.pJ)([o,s,l].filter(Boolean).join("/")))}return a}}}();return(0,u.jsx)(nm,{...e,className:`${n} link_a9ef4 inline-link_f855c`,href:r(t)})},nF=e=>(0,u.jsx)("h1",{...e,className:`rspress-doc-title text-3xl mb-10 leading-10 tracking-tight ${nb}`}),nw=e=>(0,u.jsx)("h2",{...e,className:`mt-12 mb-6 pt-8 text-2xl tracking-tight border-t-[1px] border-divider-light ${nb}`}),nC=e=>(0,u.jsx)("h3",{...e,className:`mt-10 mb-2 leading-7 text-xl ${nb}`}),nE=e=>(0,u.jsx)("h4",{...e,className:`mt-8 leading-6 text-lg ${nb}`}),nA=e=>(0,u.jsx)("h5",{...e,className:nb}),nj=e=>(0,u.jsx)("h6",{...e,className:nb}),nk={asideContainer:"aside-container_bc5fa",content:"content_ff766",docLayout:"docLayout_af141"};function nS(e){let{beforeDocFooter:t,afterDocFooter:n,beforeDoc:r,afterDoc:i,beforeDocContent:a,afterDocContent:o,beforeOutline:s,afterOutline:l,beforeSidebar:f,afterSidebar:m,uiSwitch:g,navTitle:v,components:x}=e,{siteData:y,page:b}=(0,d.Vi)(),{headingTitle:D,title:F,toc:w=[],frontmatter:C}=b,[E,A]=(0,p.useState)({}),{themeConfig:j}=y,k=j.enableScrollToTop??!1,S=tM(),N=S?.outlineTitle||j?.outlineTitle||"ON THIS PAGE",T=C?.overview??!1,B={...nJ(),...x},O=(0,u.jsx)(ny.Provider,{value:{tabData:E,setTabData:A},children:(0,u.jsx)(c.Zo,{components:B,children:(0,u.jsx)(d.VY,{})})}),I=(0,p.useMemo)(()=>{var e;let t=F&&("string"!=typeof(e=F)?"":(e=e.toLowerCase()).replace(h,"").replace(/ /g,"-"));return!1!==y.themeConfig.fallbackHeadingTitle&&!D&&t&&(0,u.jsxs)(nF,{id:t,children:[F,(0,u.jsx)(nD,{className:"header-anchor",href:`#${t}`,"aria-hidden":!0,children:"#"})]})},[D,F,y.themeConfig.fallbackHeadingTitle]),[L,P]=(0,p.useState)(!1);return(0,u.jsxs)("div",{className:`${nk.docLayout} pt-0`,style:{...g?.showNavbar?{}:{marginTop:0}},children:[r,g?.showSidebar&&(0,u.jsx)(nc,{isSidebarOpen:L,beforeSidebar:f,afterSidebar:m,uiSwitch:g,navTitle:v}),(0,u.jsxs)("div",{className:"flex-1 relative min-w-0",children:[(0,u.jsx)(nx,{isSidebarOpen:L,onIsSidebarOpenChange:P,outlineTitle:N,uiSwitch:g}),(0,u.jsxs)("div",{className:`${nk.content} rspress-doc-container flex`,children:[(0,u.jsx)("div",{className:`flex-1 ${T?"":"overflow-x-auto"}`,children:T?(0,u.jsxs)(u.Fragment,{children:[a,(0,u.jsx)(r0,{content:O}),o]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("div",{className:"rspress-doc",children:[a,I,O,o]}),(0,u.jsxs)("div",{className:"rspress-doc-footer",children:[t,g?.showDocFooter&&(0,u.jsx)(t3,{}),n]})]})}),k&&(0,u.jsx)(d.ri,{children:(0,u.jsx)(r4,{})}),g?.showAside&&w.length>0&&(0,u.jsxs)("div",{className:nk.asideContainer,style:g?.showNavbar?void 0:{marginTop:0,paddingTop:"32px"},children:[s,(0,u.jsx)(tX,{headers:w,outlineTitle:N}),l]})]})]}),i]})}let nN=(e,t)=>t?(e=e.trim(),(t=t.trim()).startsWith("-")||t.startsWith("|"))?`${e} ${t}`:`${e} - ${t}`:e,nT={"code-button-group":"code-button-group_fb445",codeButtonGroup:"code-button-group_fb445","code-copy-button":"code-copy-button_c5089",codeCopyButton:"code-copy-button_c5089","icon-success":"icon-success_d5ec0",iconSuccess:"icon-success_d5ec0","code-copied":"code-copied_e2224",codeCopied:"code-copied_e2224","icon-copy":"icon-copy_ef942",iconCopy:"icon-copy_ef942","icon-wrapped":"icon-wrapped_fb89b",iconWrapped:"icon-wrapped_fb89b","wrapped-btn":"wrapped-btn_a2562",wrappedBtn:"wrapped-btn_a2562","icon-wrap":"icon-wrap_ccd3d",iconWrap:"icon-wrap_ccd3d"},nB=new Map;function nO({codeBlockRef:e}){let t=(0,p.useRef)(null);return(0,u.jsxs)("button",{className:nT.codeCopyButton,onClick:()=>(function(e,t){let n="";if(!e)return;let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),i=r.nextNode();for(;i;)i.parentElement.classList.contains("linenumber")||(n+=i.nodeValue),i=r.nextNode();if(X(n)&&t){t.classList.add(nT.codeCopied),clearTimeout(nB.get(t));let e=setTimeout(()=>{t.classList.remove(nT.codeCopied),t.blur(),nB.delete(t)},2e3);nB.set(t,e)}})(e.current,t.current),ref:t,title:"Copy code",children:[(0,u.jsx)(t8,{icon:K,className:nT.iconCopy}),(0,u.jsx)(t8,{icon:J,className:nT.iconSuccess})]})}let nI={doctype:{color:"var(--code-token-text)",fontStyle:"italic"},token:{color:"var(--code-token-text)"},comment:{color:"var(--code-token-comment)"},punctuation:{color:"var(--code-token-punctuation)"},property:{color:"var(--code-token-parameter)"},constant:{color:"var(--code-token-constant)"},string:{color:"var(--code-token-string)"},symbol:{color:"var(--code-token-symbol)"},variable:{color:"var(--code-token-variable)"},"attr-name":{color:"var(--code-token-symbol)"},"attr-value":{color:"var(--code-token-string-expression)"},builtin:{color:"var(--code-token-symbol)"},function:{color:"var(--code-token-function)"},keyword:{color:"var(--code-token-keyword)"},tag:{color:"var(--code-token-function)"},inserted:{color:"var(--code-token-inserted)"},deleted:{color:"var(--code-token-deleted)"},regex:{color:"var(--code-token-keyword)"},key:{color:"var(--code-token-variable)"},title:{color:"var(--code-token-keyword)"},important:{color:"#EBCB8B",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},table:{display:"content"}},nL=!1;function nP(e){let{siteData:t}=(0,d.Vi)(),{meta:n,language:r,codeWrap:i}=e,{showLineNumbers:a}=t.markdown,o="",s=[];return n&&(o=/{[\d,-]*}/i.exec(n)?.[0]||"")&&(s=o.replace(/[{}]/g,"").split(",").map(e=>{let[t,n]=e.split("-");return n?Array.from({length:Number(n)-Number(t)+1},(e,n)=>n+Number(t)):Number(t)}).flat()),nL||(Object.keys(eD).forEach(e=>{ey.registerLanguage(e,eD[e])}),ey.alias(eb),nL=!0),(0,u.jsx)(ey,{language:r,style:nI,wrapLines:!0,className:"code",wrapLongLines:i,customStyle:{backgroundColor:"inherit"},showLineNumbers:a||s.length>0,lineProps:e=>({style:{...s.includes(e)?{backgroundColor:"var(--rp-code-line-highlight-color)"}:{},display:"block",padding:"0 1.25rem"}}),children:String(e.children).trim()})}function n_(e){let{siteData:t}=(0,d.Vi)(),n=e.codeHighlighter??t.markdown.codeHighlighter,{defaultWrapCode:r}=t.markdown,[i,a]=(0,p.useState)(r),o=(0,p.useRef)(null),s=(0,p.useRef)(null),{className:l}=e,c=l?.replace(/language-/,"");if(!c)return(0,u.jsx)("code",{...e});let h=e=>{i?e?.classList.remove(nT.wrappedBtn):e?.classList.add(nT.wrappedBtn),a(!i)};return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{ref:s,children:"prism"===n?(0,u.jsx)(nP,{...e,language:c,codeWrap:i}):(0,u.jsx)("pre",{...e,style:{overflowX:"auto"},children:(0,u.jsx)("code",{style:{whiteSpace:i?"pre-wrap":"pre"},children:e.children})})}),(0,u.jsxs)("div",{className:nT.codeButtonGroup,children:[(0,u.jsxs)("button",{ref:o,className:nT.codeWrapButton,onClick:()=>h(o.current),title:"Toggle code wrap",children:[(0,u.jsx)(t8,{icon:Y,className:nT.iconWrapped}),(0,u.jsx)(t8,{icon:Z,className:nT.iconWrap})]}),(0,u.jsx)(nO,{codeBlockRef:s})]})]})}let n$=e=>(0,u.jsx)("hr",{...e,className:"my-12 border-t border-solid border-divider-light"}),nM=e=>(0,u.jsx)("img",{...e,src:(0,d.i6)(e.src||"")}),nR=e=>(0,u.jsx)("ol",{...e,className:"list-decimal pl-5 my-4 leading-7"}),nz=e=>(0,u.jsx)("ul",{...e,className:"list-disc pl-5 my-4 leading-7"}),nH=e=>(0,u.jsx)("li",{...e,className:"[&:not(:first-child)]:mt-2"}),nU=e=>(0,u.jsx)("p",{...e,className:"my-4 leading-7"}),nW=e=>(0,u.jsx)("blockquote",{...e,className:"border-l-2 border-solid border-divider pl-4 my-6 transition-colors duration-500 blockquote_f1063"}),nV=e=>(0,u.jsx)("strong",{...e,className:"font-semibold"});function nG({children:e}){let t=e=>{let{className:t,meta:n}=e.props,r=function(e){if(!e)return"";let t=e,n=/{[\d,-]*}/i;return n.exec(e)?.[0]&&(t=e.replace(n,"").trim()),t=t.split("=")[1]??"",t?.replace(/["'`]/g,"")}(n);return(0,u.jsxs)("div",{className:t||"language-bash",children:[r&&(0,u.jsx)("div",{className:"rspress-code-title",children:r}),(0,u.jsx)("div",{className:"rspress-code-content rspress-scrollbar",children:e})]})};return Array.isArray(e)?(0,u.jsx)("div",{children:e.map(e=>t(e))}):t(e)}let nq=e=>(0,u.jsx)("table",{...e,className:"block border-collapse text-base my-5 overflow-x-auto leading-7 border-gray-light-3 dark:border-divider"}),nZ=e=>(0,u.jsx)("tr",{...e,className:"border border-solid transition-colors duration-500 even:bg-soft border-gray-light-3 dark:border-divider"}),nY=e=>(0,u.jsx)("td",{...e,className:"border border-solid px-4 py-2 border-gray-light-3 dark:border-divider"}),nK=e=>(0,u.jsx)("th",{...e,className:"border border-solid px-4 py-2 text-text-1 text-base font-semibold border-gray-light-3 dark:border-divider"});function nJ(){return{h1:nF,h2:nw,h3:nC,h4:nE,h5:nA,h6:nj,ul:nz,ol:nR,li:nH,table:nq,td:nY,th:nK,tr:nZ,hr:n$,p:nU,blockquote:nW,strong:nV,a:nD,code:n_,pre:nG,img:nM}}let nX="default",nQ=/[\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]/u,n0=/[\u0400-\u04FF]/u;function n1(e){let t=e.toString().toLowerCase().normalize("NFD");if(n0.test(String(e)))return t.normalize("NFC");let n=t.replace(/[\u0300-\u036f]/g,"");return nQ.test(String(e))?n.normalize("NFC"):n}function n2(e){return e.replace(/https?:\/\/[^/]+/,"")}function n3(e){return e.charCodeAt(0)>255?3:1}let n4=e=>e.map(e=>"string"==typeof e?{value:e,label:e}:e);function n5(e,t){let n=0,r=0;for(let i=0;i=t);i++)r+=n3(e.charAt(i)),n++;return n}function n6(e){let t=0;for(let n=0;n{console.error("Failed to fetch search index, please reload the page and try again."),console.error(e)};try{let e=await fetch(o);if(e.ok)return e.json();s(e)}catch(e){s(e)}return[]}async fetchSearchIndex(e){if(this.#r)return this.#r;let{currentLang:t,currentVersion:n}=e,r="remote"!==e.mode&&e.versioned;return this.#r=this.#i(t,r?n:""),this.#r}async init(e){let t=(await this.fetchSearchIndex(e)).map(e=>({...e,normalizedContent:n1(e.content),headers:e.toc.map(e=>n1(e.text)).join(" "),normalizedTitle:n1(e.title)})),n={tokenize:"full",document:{id:"id",store:!0,index:["normalizedTitle","headers","normalizedContent"]},cache:100};for(let e of(this.#e=new e3(n),this.#t=new e3({...n,tokenize:e=>n9(e,n8)}),this.#n=new e3({...n,tokenize:e=>n9(e,n7)}),t))this.#e.addAsync(e.id,e),this.#t.addAsync(e.id,e),this.#n.addAsync(e.id,e)}async search(e){let{keyword:t,limit:n}=e,r={enrich:!0,limit:n,index:["normalizedTitle","headers","normalizedContent"]},i=await Promise.all([this.#e?.searchAsync(t,r),this.#t?.searchAsync(t,r),this.#n?.searchAsync(t,r)]),a=[],o=new Set;return i.forEach(e=>{e&&function(e){for(let t of e)t.result.forEach(e=>{let t=e.id;o.has(t)||(o.add(t),a.push(e.doc))})}(e)}),[{index:nX,hits:a}]}}class rt{#a;async init(e){this.#a=e}async fetchSearchIndex(e){return[]}async search(e){let{apiUrl:t,searchIndexes:n}=this.#a,{keyword:r,limit:i}=e,a=Object.entries({keyword:r,limit:i.toString(),searchIndexes:n?.map(e=>"string"==typeof e?e:e.value).join(",")||"",lang:this.#a?.currentLang??""}).map(e=>e.map(encodeURIComponent).join("=")).join("&");try{return(await fetch(`${t}?${a}`)).json()}catch(e){return console.error(e),[]}}}var rn=((o={}).Default="default",o.Custom="custom",o);class rr{#a;#o=nX;#s;constructor(e){this.#a=e,this.#o=e.indexName??nX,"remote"===e.mode?this.#s=new rt:this.#s=new re}async init(){await this.#s?.init(this.#a)}async fetchSearchIndex(){return this.#s?.fetchSearchIndex(this.#a)}async match(e,t=7){let n=await this.#s?.search({keyword:e,limit:t}),r=n1(e),i=n?.find(e=>this.#l(e.index))||{index:nX,renderType:rn.Default,hits:[]};return[{group:this.#o,renderType:rn.Default,result:this.#u(r,i)},...(n?.filter(e=>!this.#l(e.index))||[]).map(e=>({group:e.index,renderType:rn.Default,result:this.#u(r,e)}))]}#u(e,t){let n=[];return t?.hits.forEach(t=>{this.#c(t,e,n);let r=this.#d(t,e,n);this.#h(t,e,n,r)}),n}#c(e,t,n){let{title:r=""}=e,i=n1(r);return!!i.includes(t)&&(n.push({type:"title",title:r,header:r,link:`${e.domain}${(0,d.AP)(e.routePath)}`,query:t,highlightInfoList:[{start:i.indexOf(t),length:n6(t)}]}),!0)}#d(e,t,n){let r=new WeakSet,{toc:i=[],domain:a="",title:o=""}=e;for(let[s,l]of i.entries())if(n1(l.text).includes(t)){let u=(function(e,t){let n=e[t],r=t,i=[n];for(;n&&n.depth>2;){let t=!1;for(let a=r-1;a>=0;a--){let o=e[a];if(o.depth>1&&o.depth===n.depth-1){n=o,r=a,i.unshift(n),t=!0;break}}if(!t)break}return i})(i,s).map(e=>e.text).join(" > "),c=n1(u).indexOf(t),h=`${o} > `;n.push({type:"header",title:e.title,header:`${h}${u}`,highlightInfoList:[{start:c+h.length,length:n6(t)}],link:`${a}${(0,d.AP)(e.routePath)}#${l.id}`,query:t}),r.add(l)}return r}#h(e,t,n,r){let{content:i,toc:a,domain:o}=e;if(!i.length)return;let s=n1(i),l=s.indexOf(t),u=a.map(e=>e.charIndex),c=e=>a[u.findIndex((t,n)=>{if(!(n=e)return!0}return!1})],h=e=>e&&r?.has(e);if(-1===l){let r=e._matchesPosition?.content;if(!r?.length)return;let a=e._matchesPosition.content[0].start,s=c(a);if(h(s))return;let l=n5(i,a),u=n5(i,a+100),p=i.slice(l,u),f=e._matchesPosition.content.filter(e=>e.start>=a&&e.start+e.length<=a+100).map(e=>({start:n5(i,e.start)-l+3,length:e.length}));n.push({type:"content",title:e.title,header:s?.text??e.title,link:`${o}${(0,d.AP)(e.routePath)}${s?`#${s.id}`:""}`,query:t,highlightInfoList:f,statement:`...${p}...`});return}for(;-1!==l;){let a=c(l),u=i.slice(0,l).lastIndexOf("\n");u=-1===u?0:u;let p=i.indexOf("\n\n",l+t.length),f=i.slice(u,p);f.length>100&&(f=this.#p(f,t));let m=n1(f).indexOf(t),g=[{start:m,length:n6(t)}];!h(a)&&(n.push({type:"content",title:e.title,header:a?.text??e.title,statement:f,highlightInfoList:g,link:`${o}${(0,d.AP)(e.routePath)}${a?`#${a.id}`:""}`,query:t}),a&&r?.add(a)),l=s.indexOf(t,l+f.length-m)}}#p(e,t){let n=n1(e).indexOf(n1(t)),r=Math.floor((100-t.length)/2),i=e.slice(0,n);i.length>r&&(i=`...${e.slice(n-r+3,n)}`);let a=e.slice(n+t.length);return a.length>r&&(a=`${e.slice(n+t.length,n+r-3)}...`),i+t+a}#l(e){return e===this.#o||e===nX}}let ri=e=>{let t=(0,p.useRef)(e);return t.current=e,(0,p.useRef)((...e)=>t.current(...e)).current},ra=e=>{let[t,n]=(0,p.useState)(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return(0,p.useEffect)(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e]),t},ro=(e,t)=>{let[n,r]=(0,p.useState)(()=>"undefined"==typeof window?t:localStorage.getItem(e)??t),i=(0,p.useCallback)(t=>{r(n=>{let r="function"==typeof t?t(n):t;return null==r?localStorage.removeItem(e):localStorage.setItem(e,r),r})},[e]);return(0,p.useEffect)(()=>{let n=n=>{n.key===e&&r(localStorage.getItem(e)??t)};return window.addEventListener("storage",n),()=>{window.removeEventListener("storage",n)}},[e,t]),[n,i]},rs=e=>["light","dark","auto"].includes(e)?e:"auto",rl=!1===ts.Z.themeConfig.darkMode,ru=()=>{let e=ra("(prefers-color-scheme: dark)"),[t,n]=ro(f.rp,"auto"),r=ri(()=>{if(rl)return"light";let n=rs(t);return"auto"===n?e?"dark":"light":n}),[i,a]=(0,p.useState)(()=>{if("undefined"==typeof window)return"light";let e=window.RSPRESS_THEME??window.MODERN_THEME;return e?"dark"===e?"dark":"light":r()}),o=(0,p.useCallback)((e,t=e)=>{rl||(a(e),n(t),l(!0))},[]);(0,p.useEffect)(()=>{document.documentElement.classList.toggle("dark","dark"===i),document.documentElement.style.colorScheme=i},[i]);let[s,l]=(0,p.useState)(!0);return(0,p.useEffect)(()=>{l(!1)},[s]),(0,p.useEffect)(()=>{s||o(r(),rs(t))},[t]),(0,p.useEffect)(()=>{s||o(e?"dark":"light","auto")},[e]),[i,o]},rc={button:"button_e8e0d",medium:"medium_fe00b",big:"big_f7033",brand:"brand_dc619",alt:"alt_b0249"};function rd(e){let{theme:t="brand",size:n="big",href:r="/",external:i=!1,className:a=""}=e,o=null;return"button"===e.type?o="button":"a"===e.type&&(o=i?"a":nm),p.createElement(o??"a",{className:`${rc.button} ${rc[t]} ${rc[n]} ${a}`,href:r},e.text)}let rh={editLink:"editLink_e1cfa"};function rp(){let e=function(){let{siteData:e,page:t}=(0,d.Vi)(),n=tM().editLink??e.themeConfig?.editLink??{};if(!n.docRepoBaseUrl||!n.text)return null;let{docRepoBaseUrl:r}=n;r.endsWith("/")||(r+="/");let i=t._relativePath.replace(/\\/g,"/"),a=`${r}${i}`;return{text:n.text,link:a}}();if(!e)return null;let{text:t,link:n}=e;return(0,u.jsx)("a",{href:n,target:"_blank",className:rh.editLink,children:t})}let rf={"grid-2":"grid-2_bce10",grid2:"grid-2_bce10","grid-4":"grid-4_bd059",grid4:"grid-4_bd059","grid-6":"grid-6_ce438",grid6:"grid-6_ce438","grid-3":"grid-3_bf296",grid3:"grid-3_bf296",featureCard:"featureCard_a17b6"},rm=e=>{let{span:t}=e;return`grid-${t||4}`};function rg({frontmatter:e,routePath:t}){let n=e?.features;return(0,u.jsx)("div",{className:"overflow-hidden m-auto flex flex-wrap max-w-6xl",children:n?.map(e=>{let{icon:n,title:r,details:i,link:a}=e,o=a;return a&&(o=(0,f.xf)(a)?a:(0,d.AP)((0,f.pJ)(a,t))),(0,u.jsx)("div",{className:`${rf[rm(e)]} rounded hover:var(--rp-c-brand)`,children:(0,u.jsx)("div",{className:"h-full p-2",children:(0,u.jsxs)("article",{className:`rspress-home-feature-card ${rf.featureCard} h-full p-8 rounded-4xl border-transparent`,style:{cursor:o?"pointer":"auto"},onClick:()=>{o&&(window.location.href=o)},children:[n?(0,u.jsx)("div",{className:"flex-center",children:(0,u.jsx)("div",{className:"rspress-home-feature-icon w-12 h-12 text-3xl text-center",children:tV(n)})}):null,(0,u.jsx)("h2",{className:"rspress-home-feature-title font-bold text-center",children:r}),(0,u.jsx)("p",{className:"rspress-home-feature-detail leading-6 pt-2 text-sm text-text-2 font-medium",children:tV(i)})]},r)})},r)})})}function rv(){let{siteData:e}=(0,d.Vi)(),{message:t}=e.themeConfig.footer||{};return t?(0,u.jsx)("footer",{className:"absolute bottom-0 mt-12 py-8 px-6 sm:p-8 w-full border-t border-solid border-divider-light",children:(0,u.jsx)("div",{className:"m-auto w-full text-center",children:(0,u.jsx)("div",{className:"font-medium text-sm text-text-2",dangerouslySetInnerHTML:{__html:t}})})}):null}let rx={name:"modern",text:"modern ssg",tagline:"modern ssg",actions:[],image:void 0};function ry({frontmatter:e,routePath:t}){let n=e?.hero||rx,r=void 0!==n.image,i=r?"sm:max-w-xl":"sm:max-w-4xl",a=n.text?n.text.toString().split(/\n/g).filter(e=>""!==e):[],o="string"==typeof n.image?.src?{light:n.image.src,dark:n.image.src}:n.image?.src||{light:"",dark:""};return(0,u.jsxs)("div",{className:"m-auto pt-0 px-6 pb-12 sm:pt-10 sm:px-16 md:pt-16 md:px-16 md:pb-16 relative",children:[(0,u.jsx)("div",{className:"mask_bbaa6",style:{left:r?"75%":"50%"}}),(0,u.jsxs)("div",{className:"m-auto flex flex-col md:flex-row max-w-6xl min-h-[50vh] mt-12 sm:mt-0",children:[(0,u.jsxs)("div",{className:"flex flex-col justify-center items-center text-center max-w-xl sm:max-w-4xl m-auto order-2 md:order-1",children:[(0,u.jsx)("h1",{className:"font-bold text-3xl pb-2 sm:text-6xl md:text-7xl m-auto sm:m-4 md:m-0 md:pb-3 lg:pb-2 leading-tight z-10",children:(0,u.jsx)("span",{className:"clip_aacad",style:{lineHeight:"1.3"},children:tV(n.name)})}),0!==a.length&&a.map(e=>(0,u.jsx)("p",{className:`rspress-home-hero-text mx-auto md:m-0 text-3xl sm:text-5xl md:text-6xl sm:pb-2 font-bold z-10 ${i}`,style:{lineHeight:"1.2"},children:tV(e)},e)),(0,u.jsx)("p",{className:`rspress-home-hero-tagline whitespace-pre-wrap pt-4 m-auto md:m-0 md:text-[1.5rem] text-text-2 font-medium z-10 ${i}`,children:tV(n.tagline)}),n.actions?.length&&(0,u.jsx)("div",{className:"grid md:flex md:flex-wrap md:justify-center gap-3 m--1.5 pt-6 sm:pt-8 z-10",children:n.actions.map(e=>{let n=(0,f.xf)(e.link)?e.link:(0,d.AP)((0,f.pJ)(e.link,t));return(0,u.jsx)("div",{className:"flex flex-shrink-0 p-1",children:(0,u.jsx)(rd,{type:"a",href:n,text:tV(e.text),theme:e.theme,className:"w-full"})},n)})})]}),r?(0,u.jsxs)("div",{className:"rspress-home-hero-image md:flex-center m-auto order-1 md:order-2 sm:flex md:none lg:flex",children:[(0,u.jsx)("img",{src:(0,d.i6)(o.light),alt:n.image?.alt,srcSet:rb(n.image?.srcset),sizes:rb(n.image?.sizes),width:375,height:375,className:"dark:hidden"}),(0,u.jsx)("img",{src:(0,d.i6)(o.dark),alt:n.image?.alt,srcSet:rb(n.image?.srcset),sizes:rb(n.image?.sizes),width:375,height:375,className:"hidden dark:block"})]}):null]})]})}function rb(e){return(Array.isArray(e)?e:[e]).filter(Boolean).join(", ")||void 0}function rD(){let{lastUpdatedText:e="Last Updated"}=tM(),{page:{lastUpdatedTime:t},siteData:n}=(0,d.Vi)(),{themeConfig:r}=n,i=r?.lastUpdatedText||e;return(0,u.jsx)("div",{className:"flex text-sm text-text-2 leading-6 sm:leading-8 font-medium",children:(0,u.jsxs)("p",{children:[i,": ",(0,u.jsx)("span",{children:t})]})})}function rF(){let{nav:e}=tM(),t=(0,d.aw)();return Array.isArray(e)?e:[...e[t.length>0?t:"default"]]}function rw(e){let{pathname:t,base:n}=e,r=new RegExp(e.activeMatch||e.link).test((0,f.tz)(t,n));return(0,u.jsx)(nm,{href:(0,d.AP)(e.link),onClick:e.onClick,children:(0,u.jsxs)("div",{className:`rspress-nav-menu-item ${t4.singleItem} ${r?t4.activeItem:""} text-sm font-medium ${e.compact?"mx-0.5":"mx-1.5"} px-3 py-2 flex items-center break-keep`,children:[(0,u.jsx)(il,{tag:e.tag}),e.text,e.rightIcon]},e.text)})}function rC(){let{siteData:e,page:t}=(0,d.Vi)(),n=(0,d.aw)(),{pathname:r,search:i}=(0,d.TH)(),a=e.lang||"",o=e.multiVersion.default||"",s=Object.values(e.locales||e.themeConfig.locales||{}),l=e.route?.cleanUrls||!1,c=s.length>1,{lang:h,pageType:p}=t,{base:m}=e;return c?{text:(0,u.jsx)(t8,{icon:tA,style:{width:"18px",height:"18px"}}),items:s.map(e=>({text:e?.label,link:(0,f.$U)(r+i,{current:h,target:e.lang,default:a},{current:n,default:o},m,l,"404"===p)})),activeValue:s.find(e=>h===e.lang)?.label}:{items:[]}}function rE(){let{siteData:e,page:t}=(0,d.Vi)(),n=(0,d.aw)(),{pathname:r}=(0,d.TH)(),i=e.route?.cleanUrls||!1,a=e.multiVersion.default||"",o=e.multiVersion.versions||[],{base:s}=e;return{items:o.map(e=>({text:e,link:(0,f.xM)(r,{current:n,target:e,default:a},s,i,"404"===t.pageType)})),text:n,activeValue:n}}let rA={socialLinksIcon:"social-links-icon_a4ad0",menuItem:"menu-item_e90a6"},rj=e=>{let{link:t,popperStyle:n={}}=e,{icon:r,mode:i="link",content:a}=t,o=(0,u.jsx)(u.Fragment,{});if(r){let e="string"==typeof r?({github:''})[r]:r.svg;o=(0,u.jsx)("div",{dangerouslySetInnerHTML:{__html:e}})}let[s,l]=(0,p.useState)(!1),c=()=>{l(!0)},d=()=>{l(!1)};return"link"===i?(0,u.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"social-links",children:(0,u.jsx)("div",{className:`${rA.socialLinksIcon}`,children:o})},a):"text"===i?(0,u.jsxs)("div",{className:`${rA.socialLinksIcon} cursor-pointer relative mx-3`,onMouseEnter:c,onMouseLeave:d,children:[o,s?(0,u.jsx)("div",{style:{boxShadow:"var(--rp-shadow-3)",border:"1px solid var(--rp-c-divider-light)",...n},className:"z-[1] p-3 w-50 absolute right-0 bg-white dark:bg-dark",children:(0,u.jsx)("div",{className:"text-md",children:a})}):null]}):"img"===i?(0,u.jsxs)("div",{className:`${rA.socialLinksIcon} cursor-pointer relative`,onMouseEnter:c,onMouseLeave:d,children:[o,s?(0,u.jsx)("div",{className:"break-all z-[1] p-3 w-[50px] h-[50px] absolute right-0 bg-white dark:bg-dark rounded-xl",style:{boxShadow:"var(--rp-shadow-3)",...n},children:(0,u.jsx)("img",{src:a,alt:"img"})}):null]}):"dom"===i?(0,u.jsxs)("div",{className:`${rA.socialLinksIcon} cursor-pointer relative`,onMouseEnter:c,onMouseLeave:d,children:[o,s?(0,u.jsx)("div",{className:"break-all z-[1] p-3 absolute right-0 bg-white dark:bg-dark rounded-xl",style:{boxShadow:"var(--rp-shadow-3)",...n},children:(0,u.jsx)("div",{dangerouslySetInnerHTML:{__html:a}})}):null]}):(0,u.jsx)("div",{})},rk=e=>{let{links:t}=e;return(0,u.jsx)("div",{style:{boxShadow:"var(--rp-shadow-3)",marginRight:"-2px",border:"1px solid var(--rp-c-divider-light)",background:"var(--rp-c-bg)"},className:"absolute top-8 right-0 z-1 p-3 w-32 rounded-2xl flex flex-wrap gap-4",children:t.map(e=>(0,u.jsx)(rj,{link:e,popperStyle:{top:"1.25rem"}},e.content))})},rS=e=>{let{links:t,moreIconVisible:n=!1,mouseEnter:r}=e;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:"flex-center h-full gap-x-4 transition-colors duration-300 md:mr-2",children:t.map((e,t)=>(0,u.jsx)(rj,{link:e,popperStyle:{top:"2.5rem"}},t))}),n?(0,u.jsx)("div",{className:"md:ml-1 p-2",onMouseEnter:r,children:(0,u.jsx)(t8,{icon:tj})}):null]})},rN=({socialLinks:e})=>{let t=e.length>5,n=e.slice(0,5),r=e.slice(5),[i,a]=(0,p.useState)(!1),o=(0,p.useCallback)(()=>{a(!1)},[a]),s=(0,p.useCallback)(()=>{a(!0)},[a]);return(0,u.jsxs)("div",{className:`social-links ${rA.menuItem} flex-center relative`,onMouseLeave:o,children:[(0,u.jsx)(rS,{links:n,moreIconVisible:t,mouseEnter:s}),i?(0,u.jsx)(rk,{links:r}):null]})},rT=()=>"function"==typeof document?.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches,rB=()=>{let e=document.createElement("style");return e.innerHTML=` + .rspress-doc { + view-transition-name: none !important; + } + `,document.head.appendChild(e),()=>{document.head.removeChild(e)}};function rO({onClick:e}){let{theme:t,setTheme:n=()=>{}}=(0,p.useContext)(d.Ni);return(0,u.jsx)("div",{onClick:r=>{let i=rT(),a=ts.Z?.themeConfig?.enableAppearanceAnimation,o="dark"===t?"light":"dark",s="dark"===o;if(i&&a){let t=r.clientX,i=r.clientY,a=Math.hypot(Math.max(t,innerWidth-t+200),Math.max(i,innerHeight-i+200)),l=rB(),u=document.startViewTransition(async()=>{(0,tN.flushSync)(()=>{n(o),e?.()})}),c=[`circle(0px at ${t}px ${i}px)`,`circle(${a}px at ${t}px ${i}px)`];u.ready.then(()=>{document.documentElement.animate({clipPath:s?[...c].reverse():c},{duration:400,easing:"ease-in",pseudoElement:s?"::view-transition-old(root)":"::view-transition-new(root)",id:""}).finished.then(()=>{l()})})}else n(o),e?.()},className:"md:mr-2 rspress-nav-appearance",children:(0,u.jsxs)("div",{className:"p-1 border border-solid border-gray-300 text-gray-400 cursor-pointer rounded-md hover:border-gray-600 hover:text-gray-600 dark:hover:border-gray-200 dark:hover:text-gray-200 transition-all duration-300 w-7 h-7",children:[(0,u.jsx)(t8,{className:"dark:hidden",icon:tS,width:"18",height:"18",fill:"currentColor"}),(0,u.jsx)(t8,{className:"hidden dark:block",icon:tk,width:"18",height:"18",fill:"currentColor"})]})})}let rI={navScreen:"navScreen_ec30c",active:"active_d804e",container:"container_c935d",navMenu:"navMenu_b887b",navMenuItem:"navMenuItem_e7978",navAppearance:"navAppearance_bf893",socialAndAppearance:"socialAndAppearance_eda28",navScreenMenuGroup:"navScreenMenuGroup_e771d",open:"open_aaab4",button:"button_ea41e",buttonSpan:"buttonSpan_f4b8f",items:"items_dd149",down:"down_f631a"};function rL(e){let{activeValue:t}=e,[n,r]=(0,p.useState)(!1);function i({item:e}){return(0,u.jsx)("div",{className:"p-1 text-center",children:(0,u.jsx)("span",{className:"text-brand",children:e.text})})}function a({item:e}){return(0,u.jsx)("div",{className:"py-1 font-medium",children:(0,u.jsx)(nm,{href:e.link,children:(0,u.jsx)("div",{children:(0,u.jsx)("div",{className:"flex justify-center",children:(0,u.jsx)("span",{children:e.text})})})})})}let o=e=>t===e.text?(0,u.jsx)(i,{item:e},e.link):(0,u.jsx)(a,{item:e},e.link),s=e=>(0,u.jsxs)("div",{children:["link"in e?o(e):(0,u.jsx)("p",{className:"font-bold text-gray-400 my-1 not:first:border",children:e.text}),e.items.map(o)]});return(0,u.jsxs)("div",{className:`${n?rI.open:""} ${rI.navScreenMenuGroup} relative`,children:[(0,u.jsxs)("button",{className:rI.button,onClick:()=>{r(!n)},children:[(0,u.jsx)("span",{className:rI.buttonSpan,children:e.text}),(0,u.jsx)(tT,{className:`${n?rI.open:""} ${rI.down} `})]}),(0,u.jsx)("div",{children:(0,u.jsx)("div",{className:rI.items,children:e.items.map(e=>(0,u.jsx)("div",{children:"items"in e?s(e):o(e)},e.text))})})]})}let rP=()=>{let e=rC();return(0,u.jsx)("div",{className:"flex text-sm font-bold justify-center",children:(0,u.jsx)("div",{className:"mx-1.5 my-1",children:(0,u.jsx)(rL,{...e})})})},r_=()=>{let e=rE();return(0,u.jsx)("div",{className:`${rI.navTranslations} flex text-sm font-bold justify-center`,children:(0,u.jsx)("div",{className:"mx-1.5 my-1",children:(0,u.jsx)(rL,{...e})})})},r$=()=>(0,u.jsx)("div",{className:`mt-2 ${rI.navAppearance} flex justify-center`,children:(0,u.jsx)(d.ri,{children:(0,u.jsx)(rO,{})})}),rM=({menuItems:e,pathname:t,base:n,langs:r,toggleScreen:i})=>(0,u.jsx)("div",{className:rI.navMenu,children:e.map(e=>(0,u.jsx)("div",{className:`${rI.navMenuItem} w-full`,children:"link"in e?(0,u.jsx)(rw,{pathname:t,base:n,langs:r,onClick:i,...e},e.text):(0,u.jsx)("div",{className:"mx-3 last:mr-0",children:(0,u.jsx)(rL,{...e,items:"items"in e?e.items:e})},e.text)},e.text))});function rR(e){let{isScreenOpen:t,toggleScreen:n,siteData:r,pathname:i}=e,a=(0,p.useRef)(null),o=r.themeConfig.locales||[],s=o.length>1,l=r.multiVersion.versions.length>1,c=rF(),d=!1!==r.themeConfig.darkMode,h=r?.themeConfig?.socialLinks||[],f=h.length>0,m=o.map(e=>e.lang||"zh")||[],{base:g}=r;return(0,p.useEffect)(()=>(a.current&&t&&tC(a.current,{reserveScrollBarGap:!0}),()=>{tE()}),[t]),(0,u.jsx)("div",{className:`${rI.navScreen} ${t?rI.active:""} rspress-nav-screen`,ref:a,id:"navScreen",children:(0,u.jsxs)("div",{className:rI.container,children:[(0,u.jsx)(rM,{menuItems:c,base:g,langs:m,pathname:i,toggleScreen:n}),(0,u.jsxs)("div",{className:"flex-center flex-col gap-2",children:[d&&(0,u.jsx)(r$,{}),s&&(0,u.jsx)(rP,{}),l&&(0,u.jsx)(r_,{}),f&&(0,u.jsx)(rN,{socialLinks:h})]})]})})}let rz={navHamburger:"navHamburger_ac64c",active:"active_bc9a1"};function rH(e){let{siteData:t,pathname:n}=e,{isScreenOpen:r,toggleScreen:i}=function(){let{pathname:e}=(0,d.TH)(),[t,n]=(0,p.useState)(!1);function r(){n(!0),window.addEventListener("resize",a)}function i(){n(!1),window.removeEventListener("resize",a)}function a(){window.outerWidth>=768&&i()}return(0,p.useEffect)(()=>{i()},[e]),{isScreenOpen:t,openScreen:r,closeScreen:i,toggleScreen:function(){t?i():r()}}}();return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(rR,{isScreenOpen:r,toggleScreen:i,siteData:t,pathname:n}),(0,u.jsx)("button",{onClick:i,"aria-label":"mobile hamburger",className:`${r?rz.active:""} rspress-mobile-hamburger ${rz.navHamburger} text-gray-500`,children:(0,u.jsx)(t8,{icon:tl,fill:"currentColor"})})]})}function rU({item:e}){return(0,u.jsxs)("div",{className:"rounded-2xl my-1 flex",style:{padding:"0.4rem 1.5rem 0.4rem 0.75rem"},children:[e.tag&&(0,u.jsx)(il,{tag:e.tag}),(0,u.jsx)("span",{className:"text-brand",children:e.text})]},e.link)}function rW({item:e,isGroupItem:t}){return(0,u.jsx)("div",{className:"font-medium my-1",children:(0,u.jsx)(nm,{href:e.link,children:(0,u.jsx)("div",{className:"rounded-2xl hover:bg-mute",style:{padding:"0.4rem 1.5rem 0.4rem 0.75rem",...t?{color:"var(--rp-c-text-2)"}:{}},children:(0,u.jsxs)("div",{className:"flex",children:[e.tag&&(0,u.jsx)(il,{tag:e.tag}),(0,u.jsx)("span",{children:e.text})]})})})},e.link)}function rV(e){let{activeValue:t,items:n,base:r="",link:i="",pathname:a=""}=e,[o,s]=(0,p.useState)(!1),l=(0,p.useRef)(),c=()=>{l.current&&(clearTimeout(l.current),l.current=void 0)},d=(e,n=!1)=>{let i=new RegExp(e.activeMatch||e.link).test((0,f.tz)(a,r));return t===e.text||!t&&i?(0,u.jsx)(rU,{item:e},e.link):(0,u.jsx)(rW,{item:e,isGroupItem:n},e.link)},h=e=>(0,u.jsxs)("div",{className:"my-2",children:["link"in e&&e.link.length>1?d(e,!0):(0,u.jsx)("p",{className:"font-sm text-gray-400 my-3 not:first:border px-2",style:{color:"var(--rp-c-text-1)"},children:e.text}),e.items.map(e=>d(e,!0))]});return(0,u.jsxs)("div",{className:"relative flex-center h-14",onMouseLeave:()=>{l.current=window.setTimeout(()=>{s(!1)},150)},children:[(0,u.jsx)("button",{onMouseEnter:()=>{c(),s(!0)},className:"rspress-nav-menu-group-button flex-center items-center font-medium text-sm text-text-1 hover:text-text-2 transition-colors duration-200",children:i?(0,u.jsx)(rw,{...e,rightIcon:(0,u.jsx)(t8,{icon:tT})}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("span",{className:"text-sm font-medium flex break-keep",style:{marginRight:"2px"},children:[(0,u.jsx)(il,{tag:e.tag}),e.text]}),(0,u.jsx)(t8,{icon:tT})]})}),(0,u.jsx)("div",{className:"rspress-nav-menu-group-content absolute mx-0.8 transition-opacity duration-300",style:{opacity:+!!o,visibility:o?"visible":"hidden",right:0,top:"52px"},onMouseEnter:c,children:(0,u.jsx)("div",{className:"p-3 pr-2 w-full h-full max-h-100vh whitespace-nowrap",style:{boxShadow:"var(--rp-shadow-3)",zIndex:100,border:"1px solid var(--rp-c-divider-light)",borderRadius:"var(--rp-radius-large)",background:"var(--rp-c-bg)"},children:n.map(e=>(0,u.jsx)("div",{children:"items"in e?h(e):d(e)},e.text))})})]})}function rG(){let e=rC();return(0,u.jsx)("div",{className:`translation ${t4.menuItem} flex text-sm font-bold items-center px-3 py-2`,children:(0,u.jsx)("div",{children:(0,u.jsx)(rV,{...e})})})}function rq(){let e=rE();return(0,u.jsx)("div",{className:`translation ${t4.menuItem} flex text-sm font-bold items-center px-3 py-2`,children:(0,u.jsx)("div",{children:(0,u.jsx)(rV,{...e})})})}function rZ(e){let{beforeNavTitle:t,afterNavTitle:n,beforeNav:r,afterNavMenu:i,navTitle:a}=e,{siteData:o,page:s}=(0,d.Vi)(),{base:l}=o,{pathname:c}=(0,d.TH)(),{width:h}=(0,d.iP)(),p=t$(),f=h<1280,m=Object.values(o.locales||o.themeConfig.locales||{}),g=m.length>1,v=o.multiVersion.versions.length>1,x=o.themeConfig.socialLinks||[],y=x.length>0,b=m.map(e=>e.lang||"")||[],D=({menuItems:e})=>(0,u.jsx)("div",{className:"rspress-nav-menu menu h-14",children:e.map(t=>"items"in t||Array.isArray(t)?(0,u.jsx)("div",{className:"mx-3 last:mr-0",children:(0,u.jsx)(rV,{...t,base:l,pathname:c,langs:b,items:"items"in t?t.items:t})},t.text):(0,u.jsx)(rw,{pathname:c,langs:b,base:l,compact:e.length>5,...t},t.link))}),F=rF(),w=e=>e.position??"right",C=F.filter(e=>"left"===w(e)),E=F.filter(e=>"right"===w(e)),A=o?.themeConfig?.search!==!1,j=!1!==o.themeConfig.darkMode;return(0,u.jsxs)(u.Fragment,{children:[r,(0,u.jsx)("div",{className:`${t4.navContainer} rspress-nav px-6 ${p&&!f?t4.hidden:""} ${!f||!p||"doc"!==s.pageType?t4.sticky:t4.relative}`,children:(0,u.jsxs)("div",{className:`${t4.container} flex justify-between items-center h-full`,children:[t,a||(0,u.jsx)(t5,{}),n,(0,u.jsxs)("div",{className:"flex flex-1 justify-end items-center",children:[C.length>0?(0,u.jsx)("div",{className:t4.leftNav,children:(0,u.jsx)(D,{menuItems:C})}):null,(0,u.jsxs)("div",{className:t4.rightNav,children:[A&&(0,u.jsx)("div",{className:"flex sm:flex-1 items-center sm:pl-4 sm:pr-2",children:(0,u.jsx)(is,{})}),(0,u.jsx)(D,{menuItems:E}),(0,u.jsxs)("div",{className:"flex-center flex-row",children:[g&&(0,u.jsx)(rG,{}),v&&(0,u.jsx)(rq,{}),j&&(0,u.jsx)("div",{className:"mx-2",children:(0,u.jsx)(rO,{})}),y&&(0,u.jsx)(rN,{socialLinks:x})]})]}),i,(0,u.jsxs)("div",{className:t4.mobileNavMenu,children:[f&&A&&(0,u.jsx)(is,{}),(0,u.jsx)(rH,{siteData:o,pathname:c})]})]})]})})]})}let rY={"header-anchor":"header-anchor_d4f17",headerAnchor:"header-anchor_d4f17","overview-groups":"overview-groups_ced08",overviewGroups:"overview-groups_ced08","overview-group-li":"overview-group-li_e0f17",overviewGroupLi:"overview-group-li_e0f17","level-2":"level-2_e4d63",level2:"level-2_e4d63","level-3":"level-3_b489a",level3:"level-3_b489a","level-4":"level-4_a9543",level4:"level-4_a9543","overview-group":"overview-group_f8331",overviewGroup:"overview-group_f8331",header:"header_ba4f6"},rK=e=>e.toLowerCase().replace(/-/g," "),rJ=(e,t)=>rK(e).includes(rK(t)),rX=({query:e,setQuery:t,searchRef:n,filterNameText:r,filterPlaceholderText:i})=>(0,u.jsxs)("div",{className:"flex items-center justify-start gap-4",children:[(0,u.jsx)("label",{htmlFor:"api-filter",children:r}),(0,u.jsx)("input",{ref:n,type:"search",placeholder:i,id:"api-filter",value:e,onChange:e=>t(e.target.value),className:"border border-gray-300 dark:border-gray-700 rounded-lg px-3 py-2 transition-shadow duration-250 ease-in-out focus:outline-none focus:ring-2 focus:ring-green-500 focus:ring-opacity-50"})]}),rQ=({group:e,styles:t})=>(0,u.jsxs)("div",{className:"mb-16",children:[(0,u.jsx)("h2",{children:tK(e.name)}),(0,u.jsx)("div",{className:t.overviewGroups,children:e.items.map(e=>(0,u.jsxs)("div",{className:t.overviewGroup,children:[(0,u.jsx)("div",{className:"flex",children:(0,u.jsx)("h3",{style:{marginBottom:8},children:(0,u.jsx)(nm,{href:(0,d.AP)(e.link),children:tK(e.text)})})}),(0,u.jsx)("ul",{className:"list-none",children:e.headers?.map(n=>(0,u.jsx)("li",{className:`${t.overviewGroupLi} ${t[`level${n.depth}`]} first:mt-2`,children:(0,u.jsx)(nm,{href:`${(0,d.AP)(e.link)}#${n.id}`,children:tK(n.text)})},n.id))})]},e.link))})]},e.name);function r0(e){let{siteData:t,page:{routePath:n,title:r,frontmatter:i}}=(0,d.Vi)(),{content:a,groups:o,defaultGroupTitle:s="Others"}=e,[l,c]=(0,p.useState)(""),h=(0,p.useRef)(null);(0,p.useEffect)(()=>{h.current?.focus()},[]);let f=e=>(0,d.pJ)(e).startsWith(n.replace(/overview$/,""))&&!(0,d.pV)((0,d.pJ)(e),n),m=e=>"link"in e&&e.link?e.link:"items"in e?m(e.items[0]):"",{pages:g}=t,v=g.filter(e=>f(e.routePath)),x=t2(),{overview:{filterNameText:y="Filter",filterPlaceholderText:b="Enter keyword",filterNoResultText:D="No matching API found"}={}}=tM();function F(t,r,i){if(t9(t)||(0,d.pJ)(t.link)===`${n}index`&&i?.overview===!0)return!1;let a=e?.overviewHeaders??t.overviewHeaders??i?.overviewHeaders??r?.overviewHeaders??[2],o=v.find(e=>(0,d.pV)(e.routePath,(0,d.pJ)(t.link||""))),s=m(t);return{...t,link:s,headers:o?.toc?.filter(e=>a.some(t=>e.depth===t))||[]}}x[0]?.link!==n&&(x=function e(t,n){let r,i=t.findIndex(e=>(function(e){if(t9(e))return!1;let t=(0,d.pJ)(e.link),r=t.endsWith("/index")?t.slice(0,-5):t,i=n.replace(/\/$/,"");return t===n||r===n||t===i||r===i})(e));if(-1===i)return t.map(t=>"items"in t?e(t.items,n):[]).flat();let a=t[i];if("items"in a&&Array.isArray(r=a.items)&&r.length>=1)return a.items.every(e=>!("items"in e))?[a]:a.items.filter(e=>!t9(e));let o=[...t];return"items"in a||o.splice(i,1),o.filter(e=>!t9(e))}(x,n));let w=o??(0,p.useMemo)(()=>x.filter(e=>Array.isArray(e?.items)?e.items.filter(e=>f(m(e))).length>0:!!(ne(e)&&f(m(e)))).map(e=>{let t=[];return e?.items?t=e?.items?.map(t=>F(t,e,i)).filter(Boolean):ne(e)&&(t=[F({link:e.link,text:e.text||"",tag:e.tag,_fileKey:e._fileKey,overviewHeaders:e.overviewHeaders},void 0,i)]),{name:e.text||"",items:t}}),[x,n,i]),C=(0,p.useMemo)(()=>l?w.map(e=>{if(rJ(e.name,l))return e;let t=e.items.map(e=>{if(rJ(e.text||"",l))return e;let t=e.headers?.filter(({text:e})=>rJ(e,l));return t?.length?{...e,headers:t}:null}).filter(Boolean);return t.length?{...e,items:t}:null}).filter(Boolean):w,[w,l]);return(0,u.jsxs)("div",{className:"overview-index mx-auto",children:[(0,u.jsxs)("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between mb-10",children:[(0,u.jsx)("h1",{className:"text-3xl leading-10 tracking-tight",children:r||"Overview"}),(0,u.jsx)(rX,{query:l,setQuery:c,searchRef:h,filterNameText:y,filterPlaceholderText:b})]}),a,C.length>0?C.map(e=>(0,u.jsx)(rQ,{group:e,styles:rY},e?.name)):(0,u.jsx)("div",{className:"text-lg text-gray-500 text-center mt-9 pt-9 border-t border-gray-200 dark:border-gray-800",children:`${D}: ${l}`})]})}let r1={pagerLink:"pager-link_e0d2d",title:"title_a3acb",next:"next_ad355",desc:"desc_dcc01"};function r2(e){let{type:t,text:n,href:r}=e,{prevPageText:i="Previous Page",nextPageText:a="Next Page"}=tM(),o="prev"===t?r1.pagerLink:`${r1.pagerLink} ${r1.next}`;return(0,u.jsxs)(nm,{href:r,className:o,children:[(0,u.jsx)("span",{className:r1.desc,children:"prev"===t?i:a}),(0,u.jsx)("span",{className:r1.title,children:n})]})}let r3={scrollToTop:"scroll-to-top_e22be",entered:"entered_c8faf"};function r4(){let[e,t]=(0,p.useState)(!1),n=()=>{t((window.scrollY||document.documentElement.scrollTop)>0)};return(0,p.useEffect)(()=>{window.addEventListener("scroll",n)},[]),(0,u.jsx)("button",{className:`${r3.scrollToTop} ${e?r3.entered:""}`,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},children:(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-6 h-6",children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M11.47 2.47a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06l-6.22-6.22V21a.75.75 0 0 1-1.5 0V4.81l-6.22 6.22a.75.75 0 1 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"})})})}let r5={container:"container_df5ed",tabList:"tab-list_ccbcc",tab:"tab_cae68",notSelected:"not-selected_dab7a",selected:"selected_f5c1e",noScrollbar:"no-scrollbar_db61f"},r6=e=>e&&"object"==typeof e&&"label"in e?e.label||e.value:e,r8=(0,p.forwardRef)((e,t)=>{let{values:n,defaultValue:r,onChange:i,children:a,groupId:o,tabPosition:s="left",tabContainerClassName:l}=e,c=p.Children.toArray(a).filter(e=>"string"!=typeof e||""!==e.trim()),d=n||[];0===d.length&&(d=p.Children.map(c,e=>(0,p.isValidElement)(e)?{label:e.props?.label,value:e.props?.value||e.props?.label}:{label:void 0,value:void 0}));let{tabData:h,setTabData:f}=(0,p.useContext)(ny),[m,g]=(0,p.useState)(()=>void 0===r?0:d.findIndex(e=>"string"==typeof e?e===r:!!e&&"object"==typeof e&&"value"in e&&e.value===r)),[v,x]=ro(`rspress.tabs.${o}`,m.toString()),y=(0,p.useMemo)(()=>o?void 0!==h[o]?h[o]:Number.parseInt(v):m,[o&&h[o]]);(0,p.useEffect)(()=>{if(o){let e=Number.parseInt(v);y!==e&&f({...h,[o]:e})}},[v]);let b=o?y:m;return(0,u.jsxs)("div",{className:r5.container,ref:t,children:[(0,u.jsx)("div",{className:l,children:d.length?(0,u.jsx)("div",{className:`${r5.tabList} ${r5.noScrollbar}`,style:{justifyContent:"center"===s?"center":"flex-start"},children:d.map((e,t)=>(0,u.jsx)("div",{className:`${r5.tab} ${b===t?r5.selected:r5.notSelected}`,onClick:()=>{i?.(t),o?(f({...h,[o]:t}),x(t.toString())):g(t)},children:r6(e)},t))}):null}),(0,u.jsx)("div",{children:p.Children.toArray(c)[b]})]})});function r7({children:e,...t}){return(0,u.jsx)("div",{...t,className:"rounded px-2",children:e})}function r9({query:e}){let{searchNoResultsText:t="No results for",searchSuggestedQueryText:n="Please try again with a different keyword"}=tM();return(0,u.jsxs)("div",{className:"flex flex-col items-center pt-8 pb-2",children:[(0,u.jsx)(t8,{icon:tP,className:"mb-4 opacity-80"}),(0,u.jsxs)("p",{className:"mb-2",children:[t," ",(0,u.jsxs)("b",{children:['"',e,'"']})]}),(0,u.jsx)("p",{children:n})]})}let ie={mask:"mask_ac6b3",modal:"modal_e4a04",inputForm:"inputForm_d4ba2",input:"input_f8add",close:"close_bee84",searchHits:"searchHits_dc1b2",groupTitle:"groupTitle_fe27c",navSearchButton:"navSearchButton_df1fb",searchWord:"searchWord_af2c1",suggestItem:"suggestItem_b1e66",suggestItemContainer:"suggestItemContainer_f5e47",contentWrapper:"contentWrapper_efb78",mark:"mark_b6cd5",titleForContent:"titleForContent_f2995",actionIcon:"actionIcon_f4ffd",current:"current_eb655",tabClassName:"tabClassName_b3f85",mobileNavSearchButton:"mobileNavSearchButton_d85a9"},it={title:e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M4 4a2 2 0 0 1 2-2h8a1 1 0 0 1 .707.293l5 5A1 1 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm13.586 4L14 4.414V8zM12 4H6v16h12V10h-5a1 1 0 0 1-1-1z"})}),header:e=>(0,u.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 32 32",...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M28 12v-2h-6V4h-2v6h-8V4h-2v6H4v2h6v8H4v2h6v6h2v-6h8v6h2v-6h6v-2h-6v-8Zm-8 8h-8v-8h8Z"})}),content:e=>(0,u.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 32 32",...e,children:[(0,u.jsx)("circle",{cx:22,cy:24,r:2,fill:"currentColor"}),(0,u.jsx)("path",{fill:"none",d:"M22 28a4 4 0 1 1 4-4 4.004 4.004 0 0 1-4 4m0-6a2 2 0 1 0 2 2 2.003 2.003 0 0 0-2-2"}),(0,u.jsx)("path",{fill:"currentColor",d:"M29.777 23.479A8.64 8.64 0 0 0 22 18a8.64 8.64 0 0 0-7.777 5.479L14 24l.223.521A8.64 8.64 0 0 0 22 30a8.64 8.64 0 0 0 7.777-5.479L30 24ZM22 28a4 4 0 1 1 4-4 4.005 4.005 0 0 1-4 4"}),(0,u.jsx)("path",{fill:"currentColor",d:"M12 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6v4h2v-6a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h4Zm6-23.6 5.6 5.6H18Z"})]})};function ir({suggestion:e,closeSearch:t,isCurrent:n,setCurrentSuggestionIndex:r,inCurrentDocIndex:i,scrollTo:a,onMouseMove:o}){let s=it[e.type],l=i&&!(0,d.yv)()?n2(e.link):e.link,c=(0,p.useRef)(null);n&&c.current?.offsetTop&&a(c.current?.offsetTop,c.current?.offsetHeight);let h=(e,t)=>{let n=[],r=0;for(let i of t){let{start:t,length:a}=i,o=e.slice(r,t),s=function(e,t,n){var r=e.slice(t);let i="",a=0,o=r.length;for(let e=0;e0+n);e++)a>0&&(i+=r.charAt(e));return i}(e,t,a);n.push(o),n.push((0,u.jsx)("span",{className:ie.mark,children:s},t)),r=t+s.length}return r{if("header"===e.type||"title"===e.type){let{header:t,highlightInfoList:n}=e;return(0,u.jsx)("div",{className:"font-medium",children:h(t,n)})}return(0,u.jsx)("div",{className:"font-medium",children:e.header})})();break;case"content":f=(0,u.jsxs)(u.Fragment,{children:[(()=>{if("content"!==e.type)return(0,u.jsx)("div",{});let{statement:t,highlightInfoList:n}=e;return(0,u.jsx)("div",{className:"text-sm text-gray-light w-full",children:h(t,n)})})(),(0,u.jsx)("p",{className:ie.titleForContent,children:e.title})]})}return(0,u.jsx)("li",{className:`rspress-search-suggest-item ${ie.suggestItem} ${n?ie.current:""}`,onMouseEnter:r,onMouseMove:o,ref:c,children:(0,u.jsx)("a",{href:l,onClick:e=>{t(),e.stopPropagation()},target:i?"_self":"_blank",children:(0,u.jsxs)("div",{className:ie.suggestItemContainer,children:[(0,u.jsx)("div",{className:ie.hitIcon,children:(0,u.jsx)(t8,{icon:s})}),(0,u.jsx)("div",{className:ie.contentWrapper,children:(0,u.jsx)("span",{children:f})}),(0,u.jsx)("div",{className:ie.actionIcon,children:(0,u.jsx)(t8,{icon:t_})})]})})},e.link)}let ii={ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ENTER:"Enter",SEARCH:"KeyK",ESC:"Escape"},ia=e=>{let t=(0,p.useRef)(e);return t.current=e,(0,p.useCallback)(z((...e)=>t.current(...e),150),[])};function io({focused:e,setFocused:t}){let[n,r]=(0,p.useState)(""),[i,a]=(0,p.useState)([]),o=(0,p.useRef)(null),[s,c]=(0,p.useState)(!1),[h,m]=(0,p.useState)(0),[g,v]=(0,p.useState)(0),x=(0,p.useRef)(null),y=(0,p.useRef)(null),[b,D]=(0,p.useState)("initial"),F=(0,p.useRef)(null),w=(0,p.useRef)(null),C=(0,p.useRef)({pageX:null,pageY:null}),[E,A]=(0,p.useState)(!1),j=(e,t)=>{let n=F.current?.offsetHeight,r=F.current?.scrollTop;if(E&&void 0!==n&&void 0!==r){let a=e+t-n-(1===i.length?50:-10);a>r&&F.current?.scrollTo({top:a});let o=1===i.length?e-70:e-10;o{if(x.current)return x.current;let e={currentLang:S,currentVersion:N};return x.current=new rr({indexName:O,...B,...e}),y.current=e,x.current};async function M(){if("initial"!==b)return;let e=$();D("initing"),await e.init(),D("inited");let t=o.current?.value;t&&(a(await e.match(t)||L),c(!1))}let R=()=>{t(!1),m(0),v(0)};(0,p.useEffect)(()=>{let n=n=>{switch(n.code){case ii.SEARCH:(n.ctrlKey||n.metaKey)&&(n.preventDefault(),t(!e));break;case ii.ARROW_DOWN:if(n.isComposing)return;e&&(n.preventDefault(),P&&_===rn.Default&&(A(!0),v((g+1)%P.length)));break;case ii.ARROW_UP:if(n.isComposing)return;if(e&&(n.preventDefault(),_===rn.Default)){let e=P.length;A(!0),v((g-1+e)%e)}break;case ii.ENTER:if(n.isComposing)return;if(g>=0&&_===rn.Default){let e=[...Object.values(H(P))].flat()[g];0===h?window.location.href=(0,f.yv)()?e.link:n2(e.link):window.open(e.link),R()}break;case ii.ESC:R()}};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[v,t,e,h,P,g]),(0,p.useEffect)(()=>{e?(a(L),M()):r("")},[e]),(0,p.useEffect)(()=>{"requestIdleCallback"in window&&!x.current&&window.requestIdleCallback(()=>{$().fetchSearchIndex()})},[]),(0,p.useEffect)(()=>{let{currentLang:e,currentVersion:t}=y.current??{},n=I&&N!==t;(S!==e||n)&&(D("initial"),x.current=null,$().fetchSearchIndex())},[S,N,I]);let z=ia(async e=>{let t=e;if(r(t),B&&"remote"===B.mode&&B.searchLoading&&c(!0),t){let e=[];if("beforeSearch"in l){let e=await l.beforeSearch(t);e&&(t=e)}let n=await x.current?.match(t);if(n&&e.push(...n),"onSearch"in l){let n=await l.onSearch(t,e);n&&e.push(...n.map(e=>({renderType:rn.Custom,...e})))}"afterSearch"in l&&await l.afterSearch(t,e),o.current?.value===t&&(a(e||L),c(!1))}}),H=e=>e.reduce((e,t)=>{let n=t.title;return e[n]||(e[n]=[]),e[n].push(t),e},{}),U=(e,t,n)=>{if(n)return(0,u.jsx)("div",{className:"flex flex-col items-center",children:(0,u.jsx)(t8,{icon:tI,className:"m-8 opacity-80"})});if(0===e.length&&"inited"===b)return(0,u.jsx)(r9,{query:t});let r=H(e),i=-1;return(0,u.jsx)("ul",{className:ie.suggestList,children:Object.keys(r).map(e=>{let t=r[e]||[];return(0,u.jsx)("li",{children:(0,u.jsx)("ul",{className:"pb-2",children:t.map(e=>{let t=++i;return(0,u.jsx)(ir,{suggestion:e,isCurrent:t===g,setCurrentSuggestionIndex:e=>{(C.current.pageX!==e.pageX||C.current.pageY!==e.pageY)&&(A(!1),v(t))},onMouseMove:e=>{C.current={pageX:e.pageX,pageY:e.pageY}},closeSearch:()=>{R()},inCurrentDocIndex:0===h,scrollTo:j},`${e.title}-${t}`)})})},e)})})};return(0,u.jsx)(u.Fragment,{children:e&&(0,tN.createPortal)((0,u.jsx)("div",{className:ie.mask,onClick:()=>{R()},children:(0,u.jsxs)("div",{className:`${ie.modal}`,onClick:e=>{t(!0),e.stopPropagation()},children:[(0,u.jsxs)("div",{className:"flex items-center",children:[(0,u.jsxs)("div",{className:ie.inputForm,children:[(0,u.jsx)("label",{children:(0,u.jsx)(t8,{icon:tB})}),(0,u.jsx)("input",{className:`rspress-search-panel-input ${ie.input}`,ref:o,placeholder:T,"aria-label":"SearchPanelInput",autoComplete:"off",autoFocus:!0,onChange:e=>z(e.target.value)}),(0,u.jsx)("label",{children:(0,u.jsx)(t8,{icon:tO,className:ie.close,onClick:e=>{o.current&&(e.stopPropagation(),n?(o.current.value="",r("")):R())}})})]}),(0,u.jsx)("h2",{className:"text-brand ml-2 sm:hidden cursor-pointer",onClick:e=>{e.stopPropagation(),R()},children:"Cancel"})]}),n&&"inited"===b?(0,u.jsx)("div",{className:`${ie.searchHits} rspress-scrollbar`,ref:F,children:((e,t,r)=>{if(1===e.length){let t=e[0].result;return 0!==t.length||r?(0,u.jsx)("div",{ref:w,children:U(t,n,r)}):(0,u.jsx)(r9,{query:n})}let i=e.map(e=>t&&"remote"===t.mode?n4(t.searchIndexes||[]).find(t=>t.value===e.group).label:e.group);return(0,u.jsx)(r8,{values:i,tabContainerClassName:ie.tabClassName,onChange:e=>{m(e),v(0)},ref:w,children:e.map(e=>(0,u.jsxs)(r7,{children:[e.renderType===rn.Default&&U(e.result,n,r),e.renderType===rn.Custom&&l.render(e.result)]},e.group))})})(i,B,s)}):null]})}),document.getElementById("search-container"))})}function is(){let[e,t]=(0,p.useState)(!1),[n,r]=(0,p.useState)(null),{searchPlaceholderText:i="Search"}=tM();return(0,p.useEffect)(()=>{r(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"⌘":"Ctrl")},[]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:`rspress-nav-search-button ${ie.navSearchButton}`,onClick:()=>t(!0),children:(0,u.jsxs)("button",{children:[(0,u.jsx)(t8,{icon:tB,width:"18",height:"18"}),(0,u.jsx)("p",{className:ie.searchWord,children:i}),(0,u.jsxs)("div",{style:{opacity:+!!n},children:[(0,u.jsx)("span",{children:n}),(0,u.jsx)("span",{children:"K"})]})]})}),(0,u.jsx)("div",{className:ie.mobileNavSearchButton,onClick:()=>t(!0),children:(0,u.jsx)(t8,{icon:tB})}),(0,u.jsx)(io,{focused:e,setFocused:t})]})}let il=({tag:e})=>e?e.trim().startsWith("{let{top:t,bottom:n,beforeDocFooter:r,afterDocFooter:i,beforeDoc:a,afterDoc:o,beforeDocContent:s,afterDocContent:l,beforeSidebar:c,afterSidebar:h,beforeOutline:f,afterOutline:m,beforeNavTitle:g,afterNavTitle:v,navTitle:x,beforeNav:y,beforeHero:b,afterHero:D,beforeFeatures:F,afterFeatures:w,afterNavMenu:C,components:E}=e,A={beforeDocFooter:r,afterDocFooter:i,beforeDocContent:s,afterDocContent:l,beforeDoc:a,afterDoc:o,beforeSidebar:c,afterSidebar:h,beforeOutline:f,afterOutline:m,components:E},j={beforeHero:b,afterHero:D,beforeFeatures:F,afterFeatures:w},{siteData:k,page:S}=(0,d.Vi)(),{pageType:N,lang:T,title:B,frontmatter:O={}}=S,I=tM();tW();let{siteData:L,page:P}=(0,d.Vi)(),_=L.lang||"",$=Object.values(L.themeConfig.locales||{}).map(e=>e.lang)||[],M=P.lang;(0,p.useEffect)(()=>{let e,t=L.themeConfig.localeRedirect??"auto";if("never"===t||!_||/bot|spider|crawl|lighthouse/i.test(window.navigator.userAgent))return;let{pathname:n,search:r}=window.location,i=(0,d.E9)(n),a="rspress-visited";if(localStorage.getItem(a))return;localStorage.setItem(a,"1");let o=window.navigator.language.split("-")[0];$.includes(o)&&o!==M&&(o===_?e=n.replace(`/${M}`,""):M===_?e=(0,d.pJ)(`/${o}${i}`):"auto"===t&&(e=n.replace(`/${M}`,`/${o}`)),e&&window.location.replace(e+r))},[]);let R=O.title??B,z=k.title||I.title||"";R=R&&"doc"===N?nN(R,O.titleSuffix||z):"home"===N?nN(z,O.titleSuffix):"404"===N?nN("404",z):z;let H=O?.description||k.description||I.description,U={...tR(),...e.uiSwitch};return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(q.ql,{htmlAttributes:{lang:T||"en"},children:[R?(0,u.jsx)("title",{children:R}):null,H?(0,u.jsx)("meta",{name:"description",content:H}):null]}),t,"blank"!==N&&U.showNavbar&&(0,u.jsx)(rZ,{beforeNavTitle:g,afterNavTitle:v,navTitle:x,beforeNav:y,afterNavMenu:C}),(0,u.jsx)("section",{children:(()=>{switch(N){case"home":return(0,u.jsx)(iu.HomeLayout,{...j});case"doc":return(0,u.jsx)(nS,{...A,uiSwitch:U,navTitle:x});case"404":return(0,u.jsx)(iu.NotFoundLayout,{});case"custom":case"blank":return(0,u.jsx)(d.VY,{});default:return(0,u.jsx)(nS,{...A})}})()}),n]})},NotFoundLayout:function(){let{siteData:e,page:t}=(0,d.Vi)(),n=e.lang,r=e.multiVersion.default;if(n&&"undefined"!=typeof window&&location.pathname.includes(`/${n}/`)){let e=location.pathname.replace(`/${n}/`,"/");return window.location.replace(e),(0,u.jsx)(u.Fragment,{})}let i="/";return r&&t.version!==r&&(i+=`${t.version}/`),n&&t.lang!==n&&(i+=`${t.lang}/`),(0,u.jsxs)("div",{className:"m-auto mt-50 p-16 sm:p-8 sm:pt-24 sm:pb-40 text-center flex-center flex-col",children:[(0,u.jsx)("p",{className:"text-6xl font-semibold",children:"404"}),(0,u.jsx)("h1",{className:"leading-5 pt-3 text-xl font-bold",children:"PAGE NOT FOUND"}),(0,u.jsx)("div",{style:{height:"1px"},className:"mt-6 mx-auto mb-4.5 w-16 bg-gray-light-1"}),(0,u.jsx)("div",{className:"pt-5",children:(0,u.jsx)("a",{className:"py-2 px-4 rounded-2xl inline-block border-solid border-brand text-brand font-medium hover:border-brand-dark hover:text-brand-dark transition-colors duration-300",href:(0,d.pJ)(i),"aria-label":"go to home",children:"Take me home"})})]})},HomeLayout:function(e){let{beforeHero:t,afterHero:n,beforeFeatures:r,afterFeatures:i}=e,{page:{frontmatter:a,routePath:o}}=(0,d.Vi)();return(0,u.jsxs)("div",{className:"relative",style:{minHeight:"calc(100vh - var(--rp-nav-height))",paddingBottom:"80px"},children:[(0,u.jsxs)("div",{className:"pb-12",children:[t,(0,u.jsx)(ry,{frontmatter:a,routePath:o}),n,r,(0,u.jsx)(rg,{frontmatter:a,routePath:o}),i]}),(0,u.jsx)(rv,{})]})},useBindingAsideScroll:tU,useSetup:tW}},2544:function(e){"use strict";e.exports=JSON.parse('{"AElig":"\xc6","AMP":"&","Aacute":"\xc1","Acirc":"\xc2","Agrave":"\xc0","Aring":"\xc5","Atilde":"\xc3","Auml":"\xc4","COPY":"\xa9","Ccedil":"\xc7","ETH":"\xd0","Eacute":"\xc9","Ecirc":"\xca","Egrave":"\xc8","Euml":"\xcb","GT":">","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},129:function(e){"use strict";e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js.LICENSE.txt b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js.LICENSE.txt new file mode 100644 index 0000000..cceb12e --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/134.0021c7aa.js.LICENSE.txt @@ -0,0 +1,21 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public + */ + +/**! + * FlexSearch.js v0.7.41 (Bundle.module) + * Author and Copyright: Thomas Wilkerling + * Licence: Apache-2.0 + * Hosted by Nextapps GmbH + * https://github.com/nextapps-de/flexsearch + */ \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/230.361cd3f2.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/230.361cd3f2.js new file mode 100644 index 0000000..65a6ca3 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/230.361cd3f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["230"],{5302:function(e,n,i){i.r(n),i.d(n,{default:()=>c});var r=i(5893),t=i(65);function s(e){let n=Object.assign({h1:"h1",a:"a",h2:"h2",p:"p",code:"code",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td"},(0,t.ah)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.h1,{id:"api-reference",children:["API Reference",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#api-reference",children:"#"})]}),"\n",(0,r.jsxs)(n.h2,{id:"overview",children:["Overview",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#overview",children:"#"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"string-kit"})," exports five utility functions organized into two categories:"]}),"\n",(0,r.jsxs)(n.table,{children:["\n",(0,r.jsxs)(n.thead,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.th,{children:"Category"}),"\n",(0,r.jsx)(n.th,{children:"Functions"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.tbody,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/api/case",children:"Case Utilities"})}),"\n",(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"camelCase"}),", ",(0,r.jsx)(n.code,{children:"kebabCase"}),", ",(0,r.jsx)(n.code,{children:"snakeCase"})]}),"\n"]}),"\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/api/truncate",children:"Truncate Utilities"})}),"\n",(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"truncate"}),", ",(0,r.jsx)(n.code,{children:"ellipsis"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"All functions are pure (no side effects) and fully typed with TypeScript."})]})}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,t.ah)(),e.components);return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(s,{...e})}):s(e)}let c=d;d.__RSPRESS_PAGE_META={},d.__RSPRESS_PAGE_META["api%2Findex.md"]={toc:[{text:"Overview",id:"overview",depth:2}],title:"API Reference",headingTitle:"API Reference",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/34.6ed2f8a7.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/34.6ed2f8a7.js new file mode 100644 index 0000000..9d41026 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/34.6ed2f8a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["34"],{5206:function(e,n,a){a.r(n),a.d(n,{default:()=>d});var s=a(5893),r=a(65);function i(e){let n=Object.assign({h1:"h1",a:"a",p:"p",code:"code",h2:"h2",pre:"pre"},(0,r.ah)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h1,{id:"installation",children:["Installation",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#installation",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["Install ",(0,s.jsx)(n.code,{children:"string-kit"})," via your preferred package manager."]}),"\n",(0,s.jsxs)(n.h2,{id:"npm",children:["npm",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#npm",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install string-kit\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"pnpm",children:["pnpm",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#pnpm",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm install string-kit\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"yarn",children:["yarn",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#yarn",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn add string-kit\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"usage",children:["Usage",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#usage",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Import the utilities you need:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit';\n"})}),"\n",(0,s.jsx)(n.p,{children:"Or import individual functions:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"import { camelCase } from 'string-kit';\n"})})]})}function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}let d=t;t.__RSPRESS_PAGE_META={},t.__RSPRESS_PAGE_META["guide%2Finstallation.md"]={toc:[{text:"npm",id:"npm",depth:2},{text:"pnpm",id:"pnpm",depth:2},{text:"yarn",id:"yarn",depth:2},{text:"Usage",id:"usage",depth:2}],title:"Installation",headingTitle:"Installation",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/400.f162da9b.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/400.f162da9b.js new file mode 100644 index 0000000..73b4302 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/400.f162da9b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["400"],{9729:function(t,i,e){e.r(i),e.d(i,{default:()=>n});let n={root:".",title:"string-kit",description:"A small collection of string utilities",themeConfig:{nav:[{text:"Guide",link:"/guide/"},{text:"API",link:"/api/"}],sidebar:{"/guide/":[{text:"Getting Started",items:[{text:"Introduction",link:"/guide/"},{text:"Installation",link:"/guide/installation"}]}],"/api/":[{text:"API Reference",items:[{text:"Overview",link:"/api/"},{text:"Case Utilities",link:"/api/case"},{text:"Truncate Utilities",link:"/api/truncate"}]}]},socialLinks:[{icon:"github",mode:"link",content:"https://github.com/example/string-kit"}]}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/53.5e766471.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/53.5e766471.js new file mode 100644 index 0000000..c5ea9d6 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/53.5e766471.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["53"],{6525:function(e,n,t){t.r(n),t.d(n,{default:()=>d});var s=t(5893),r=t(65);function i(e){let n=Object.assign({h1:"h1",a:"a",p:"p",h2:"h2",pre:"pre",code:"code",h3:"h3",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",hr:"hr"},(0,r.ah)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h1,{id:"truncate-utilities",children:["Truncate Utilities",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#truncate-utilities",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Functions for truncating strings with ellipsis handling."}),"\n",(0,s.jsxs)(n.h2,{id:"truncate",children:["truncate",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#truncate",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Truncates a string to a maximum length, appending an ellipsis if truncated."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"function truncate(input: string, maxLength: number): string\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"parameters",children:["Parameters",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#parameters",children:"#"})]}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"Parameter"}),"\n",(0,s.jsx)(n.th,{children:"Type"}),"\n",(0,s.jsx)(n.th,{children:"Description"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"input"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.td,{children:"The string to truncate"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"maxLength"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"number"})}),"\n",(0,s.jsx)(n.td,{children:"The maximum length of the output string"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"returns",children:["Returns",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#returns",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"string"})," — The truncated string, or the original if it fits within ",(0,s.jsx)(n.code,{children:"maxLength"}),"."]}),"\n",(0,s.jsxs)(n.h3,{id:"examples",children:["Examples",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#examples",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"import { truncate } from 'string-kit';\n\ntruncate('hello world', 5); // 'hello...' (5 + 3 = 8 chars)\ntruncate('hello world', 20); // 'hello world' (fits, no truncation)\ntruncate('hello world', 0); // '...' (empty + ellipsis)\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"notes",children:["Notes",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#notes",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"truncate"})," function appends ",(0,s.jsx)(n.code,{children:"..."})," (3 characters) to the sliced portion. The total output length will be ",(0,s.jsx)(n.code,{children:"maxLength + 3"})," when truncation occurs. If you need the total output to be exactly ",(0,s.jsx)(n.code,{children:"maxLength"}),", use ",(0,s.jsx)(n.code,{children:"ellipsis"})," instead."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h2,{id:"ellipsis",children:["ellipsis",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#ellipsis",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Truncates a string and always appends an ellipsis if it exceeds maxLength. Reserves three characters for the ellipsis."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"function ellipsis(input: string, maxLength: number): string\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"parameters-1",children:["Parameters",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#parameters-1",children:"#"})]}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"Parameter"}),"\n",(0,s.jsx)(n.th,{children:"Type"}),"\n",(0,s.jsx)(n.th,{children:"Description"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"input"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.td,{children:"The string to truncate"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"maxLength"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"number"})}),"\n",(0,s.jsx)(n.td,{children:"The maximum length of the output string"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"returns-1",children:["Returns",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#returns-1",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"string"})," — The truncated string with ellipsis, or the original if it fits within ",(0,s.jsx)(n.code,{children:"maxLength"}),"."]}),"\n",(0,s.jsxs)(n.h3,{id:"examples-1",children:["Examples",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#examples-1",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"import { ellipsis } from 'string-kit';\n\nellipsis('hello world', 8); // 'hello...' (exactly 8 chars)\nellipsis('hello world', 20); // 'hello world' (fits, no truncation)\nellipsis('hello world', 3); // '...' (only room for ellipsis)\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"notes-1",children:["Notes",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#notes-1",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"ellipsis"})," function ensures the total output length never exceeds ",(0,s.jsx)(n.code,{children:"maxLength"}),". It reserves 3 characters for ",(0,s.jsx)(n.code,{children:"..."}),", so the content portion is at most ",(0,s.jsx)(n.code,{children:"maxLength - 3"})," characters. When ",(0,s.jsx)(n.code,{children:"maxLength"})," is less than 3, the result is still ",(0,s.jsx)(n.code,{children:"..."}),"."]}),"\n",(0,s.jsxs)(n.h2,{id:"comparison",children:["Comparison",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#comparison",children:"#"})]}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"Function"}),"\n",(0,s.jsx)(n.th,{children:"Output length when truncated"}),"\n",(0,s.jsx)(n.th,{children:"Use when..."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"truncate"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"maxLength + 3"})}),"\n",(0,s.jsxs)(n.td,{children:["You want up to ",(0,s.jsx)(n.code,{children:"maxLength"})," content chars, ellipsis is extra"]}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ellipsis"})}),"\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"maxLength"})}),"\n",(0,s.jsxs)(n.td,{children:["You want the total output to fit within ",(0,s.jsx)(n.code,{children:"maxLength"})," chars"]}),"\n"]}),"\n"]}),"\n"]})]})}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}let d=h;h.__RSPRESS_PAGE_META={},h.__RSPRESS_PAGE_META["api%2Ftruncate.md"]={toc:[{text:"truncate",id:"truncate",depth:2},{text:"Parameters",id:"parameters",depth:3},{text:"Returns",id:"returns",depth:3},{text:"Examples",id:"examples",depth:3},{text:"Notes",id:"notes",depth:3},{text:"ellipsis",id:"ellipsis",depth:2},{text:"Parameters",id:"parameters-1",depth:3},{text:"Returns",id:"returns-1",depth:3},{text:"Examples",id:"examples-1",depth:3},{text:"Notes",id:"notes-1",depth:3},{text:"Comparison",id:"comparison",depth:2}],title:"Truncate Utilities",headingTitle:"Truncate Utilities",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/582.8be85ff4.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/582.8be85ff4.js new file mode 100644 index 0000000..d3f6229 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/582.8be85ff4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["582"],{3436:function(e,s,n){n.r(s),n.d(s,{default:()=>a});var r=n(5893),i=n(65);function t(e){let s=Object.assign({h1:"h1",a:"a",p:"p",h2:"h2",ul:"ul",li:"li",strong:"strong",pre:"pre",code:"code"},(0,i.ah)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.h1,{id:"string-kit",children:["string-kit",(0,r.jsx)(s.a,{className:"header-anchor","aria-hidden":"true",href:"#string-kit",children:"#"})]}),"\n",(0,r.jsx)(s.p,{children:"A small collection of string utilities for everyday use."}),"\n",(0,r.jsxs)(s.h2,{id:"features",children:["Features",(0,r.jsx)(s.a,{className:"header-anchor","aria-hidden":"true",href:"#features",children:"#"})]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Case conversion"}),": Convert strings between camelCase, kebab-case, and snake_case"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Truncation"}),": Truncate strings with smart ellipsis handling"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Zero dependencies"}),": Lightweight and focused"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"TypeScript"}),": Fully typed with TypeScript definitions"]}),"\n"]}),"\n",(0,r.jsxs)(s.h2,{id:"quick-start",children:["Quick Start",(0,r.jsx)(s.a,{className:"header-anchor","aria-hidden":"true",href:"#quick-start",children:"#"})]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ts",children:"import { camelCase, kebabCase, snakeCase, truncate, ellipsis } from 'string-kit';\n\ncamelCase('hello world'); // 'helloWorld'\nkebabCase('hello world'); // 'hello-world'\nsnakeCase('hello world'); // 'hello_world'\ntruncate('hello world', 5); // 'hello...'\nellipsis('hello world', 8); // 'hello...'\n"})})]})}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,i.ah)(),e.components);return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}let a=l;l.__RSPRESS_PAGE_META={},l.__RSPRESS_PAGE_META["index.md"]={toc:[{text:"Features",id:"features",depth:2},{text:"Quick Start",id:"quick-start",depth:2}],title:"string-kit",headingTitle:"string-kit",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/762.85f4d9cb.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/762.85f4d9cb.js new file mode 100644 index 0000000..fd75af6 --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/762.85f4d9cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["762"],{3496:function(e,n,s){s.r(n),s.d(n,{default:()=>t});var r=s(5893),a=s(65);function d(e){let n=Object.assign({h1:"h1",a:"a",p:"p",h2:"h2",pre:"pre",code:"code",h3:"h3",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",hr:"hr"},(0,a.ah)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.h1,{id:"case-utilities",children:["Case Utilities",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#case-utilities",children:"#"})]}),"\n",(0,r.jsx)(n.p,{children:"Functions for converting strings between common naming conventions."}),"\n",(0,r.jsxs)(n.h2,{id:"camelcase",children:["camelCase",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#camelcase",children:"#"})]}),"\n",(0,r.jsx)(n.p,{children:"Converts a string to camelCase."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"function camelCase(input: string): string\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"parameters",children:["Parameters",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#parameters",children:"#"})]}),"\n",(0,r.jsxs)(n.table,{children:["\n",(0,r.jsxs)(n.thead,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.th,{children:"Parameter"}),"\n",(0,r.jsx)(n.th,{children:"Type"}),"\n",(0,r.jsx)(n.th,{children:"Description"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.tbody,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"input"})}),"\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.td,{children:"The string to convert"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"returns",children:["Returns",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#returns",children:"#"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"string"})," — The camelCase version of the input."]}),"\n",(0,r.jsxs)(n.h3,{id:"examples",children:["Examples",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#examples",children:"#"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"import { camelCase } from 'string-kit';\n\ncamelCase('hello world'); // 'helloWorld'\ncamelCase('hello-world'); // 'helloWorld'\ncamelCase('hello_world'); // 'helloWorld'\ncamelCase('Hello World'); // 'helloWorld'\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h2,{id:"kebabcase",children:["kebabCase",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#kebabcase",children:"#"})]}),"\n",(0,r.jsx)(n.p,{children:"Converts a string to kebab-case."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"function kebabCase(input: string): string\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"parameters-1",children:["Parameters",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#parameters-1",children:"#"})]}),"\n",(0,r.jsxs)(n.table,{children:["\n",(0,r.jsxs)(n.thead,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.th,{children:"Parameter"}),"\n",(0,r.jsx)(n.th,{children:"Type"}),"\n",(0,r.jsx)(n.th,{children:"Description"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.tbody,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"input"})}),"\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.td,{children:"The string to convert"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"returns-1",children:["Returns",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#returns-1",children:"#"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"string"})," — The kebab-case version of the input."]}),"\n",(0,r.jsxs)(n.h3,{id:"examples-1",children:["Examples",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#examples-1",children:"#"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"import { kebabCase } from 'string-kit';\n\nkebabCase('hello world'); // 'hello-world'\nkebabCase('helloWorld'); // 'hello-world'\nkebabCase('hello_world'); // 'hello-world'\nkebabCase('Hello World'); // 'hello-world'\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h2,{id:"snakecase",children:["snakeCase",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#snakecase",children:"#"})]}),"\n",(0,r.jsx)(n.p,{children:"Converts a string to snake_case."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"function snakeCase(input: string): string\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"parameters-2",children:["Parameters",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#parameters-2",children:"#"})]}),"\n",(0,r.jsxs)(n.table,{children:["\n",(0,r.jsxs)(n.thead,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.th,{children:"Parameter"}),"\n",(0,r.jsx)(n.th,{children:"Type"}),"\n",(0,r.jsx)(n.th,{children:"Description"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.tbody,{children:["\n",(0,r.jsxs)(n.tr,{children:["\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"input"})}),"\n",(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.td,{children:"The string to convert"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"returns-2",children:["Returns",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#returns-2",children:"#"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"string"})," — The snake_case version of the input."]}),"\n",(0,r.jsxs)(n.h3,{id:"examples-2",children:["Examples",(0,r.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#examples-2",children:"#"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"import { snakeCase } from 'string-kit';\n\nsnakeCase('hello world'); // 'hello_world'\nsnakeCase('helloWorld'); // 'hello_world'\nsnakeCase('hello-world'); // 'hello_world'\nsnakeCase('Hello World'); // 'hello_world'\n"})})]})}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}let t=l;l.__RSPRESS_PAGE_META={},l.__RSPRESS_PAGE_META["api%2Fcase.md"]={toc:[{text:"camelCase",id:"camelcase",depth:2},{text:"Parameters",id:"parameters",depth:3},{text:"Returns",id:"returns",depth:3},{text:"Examples",id:"examples",depth:3},{text:"kebabCase",id:"kebabcase",depth:2},{text:"Parameters",id:"parameters-1",depth:3},{text:"Returns",id:"returns-1",depth:3},{text:"Examples",id:"examples-1",depth:3},{text:"snakeCase",id:"snakecase",depth:2},{text:"Parameters",id:"parameters-2",depth:3},{text:"Returns",id:"returns-2",depth:3},{text:"Examples",id:"examples-2",depth:3}],title:"Case Utilities",headingTitle:"Case Utilities",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/795.2e2ae0f6.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/795.2e2ae0f6.js new file mode 100644 index 0000000..8c3122d --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/async/795.2e2ae0f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstring_kit_docs=self.webpackChunkstring_kit_docs||[]).push([["795"],{4399:function(e,n,s){s.r(n),s.d(n,{default:()=>c});var i=s(5893),t=s(65);function r(e){let n=Object.assign({h1:"h1",a:"a",p:"p",code:"code",h2:"h2",ul:"ul",li:"li",strong:"strong"},(0,t.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.h1,{id:"introduction",children:["Introduction",(0,i.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#introduction",children:"#"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"string-kit"})," is a lightweight TypeScript utility package for common string transformations. It provides case conversion and truncation utilities with zero dependencies."]}),"\n",(0,i.jsxs)(n.h2,{id:"what-is-string-kit",children:["What is string-kit?",(0,i.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#what-is-string-kit",children:"#"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"string-kit"})," solves everyday string manipulation tasks that come up frequently in web development:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Converting between naming conventions (camelCase, kebab-case, snake_case)"}),"\n",(0,i.jsx)(n.li,{children:"Truncating strings to fit UI constraints while preserving readability"}),"\n"]}),"\n",(0,i.jsxs)(n.h2,{id:"use-cases",children:["Use Cases",(0,i.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#use-cases",children:"#"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"API clients"}),": Convert between JSON snake_case and JavaScript camelCase"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"URL generation"}),": Convert titles to kebab-case for slugs"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"UI display"}),": Truncate long text with proper ellipsis"]}),"\n"]}),"\n",(0,i.jsxs)(n.h2,{id:"next-steps",children:["Next Steps",(0,i.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#next-steps",children:"#"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/guide/installation",children:"Installation"})," — Get string-kit in your project"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/api/",children:"API Reference"})," — Browse the full API documentation"]}),"\n"]})]})}function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,t.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}let c=a;a.__RSPRESS_PAGE_META={},a.__RSPRESS_PAGE_META["guide%2Findex.md"]={toc:[{text:"What is string-kit?",id:"what-is-string-kit",depth:2},{text:"Use Cases",id:"use-cases",depth:2},{text:"Next Steps",id:"next-steps",depth:2}],title:"Introduction",headingTitle:"Introduction",frontmatter:{}}}}]); \ No newline at end of file diff --git a/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/index.65c8c919.js b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/index.65c8c919.js new file mode 100644 index 0000000..83dcddf --- /dev/null +++ b/skills/rspress-docs-generator-workspace/iteration-1/create-new-docs/without_skill/outputs/build/static/js/index.65c8c919.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={7770:function(){}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}r.m=e,r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>{a[e]=()=>o[e]});return a.default=()=>o,r.d(i,a),i}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>"static/js/async/"+e+"."+({230:"361cd3f2",34:"6ed2f8a7",400:"f162da9b",53:"5e766471",582:"8be85ff4",762:"85f4d9cb",795:"2e2ae0f6"})[e]+".js",r.miniCssF=e=>""+e+".css",r.h=()=>"e9506ae1bc26aa67",r.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="string-kit-docs:";r.l=function(o,n,i,a){if(e[o])return void e[o].push(n);if(void 0!==i)for(var u,c,f=document.getElementsByTagName("script"),d=0;d{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e=[];r.O=(t,o,n,i)=>{if(o){i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,n,i];return}for(var u=1/0,a=0;a=i)&&Object.keys(r.O).every(e=>r.O[e](o[f]))?o.splice(f--,1):(c=!1,i"1.3.12",(()=>{var e={980:0};r.f.j=function(t,o){var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else{var i=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=i);var a=r.p+r.u(t),u=Error();r.l(a,function(o){if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=o&&("load"===o.type?"missing":o.type),a=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+i+": "+a+")",u.name="ChunkLoadError",u.type=i,u.request=a,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,i,[a,u,c]=o,f=0;if(a.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(c)var d=c(r)}for(t&&t(o);f