From 32c9b6f15acb72006af02d750124ff093cb37ea2 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 02:17:18 +0800 Subject: [PATCH 01/15] feat: upgrade to Rspress V2 --- packages/rspress-plugin-align-image/package.json | 3 +-- packages/rspress-plugin-align-image/rspress.config.ts | 2 +- packages/rspress-plugin-align-image/src/index.ts | 2 +- packages/rspress-plugin-back-to-top/package.json | 3 +-- packages/rspress-plugin-back-to-top/rspress.config.ts | 2 +- .../rspress-plugin-back-to-top/src/components/Back2Top.tsx | 2 +- packages/rspress-plugin-back-to-top/src/index.ts | 2 +- packages/rspress-plugin-devkit/package.json | 3 +-- packages/rspress-plugin-devkit/src/ConfigMutator/index.ts | 2 +- .../src/RemarkPluginFactory/FactoryBase.ts | 2 +- packages/rspress-plugin-directives/package.json | 3 +-- packages/rspress-plugin-directives/rspress.config.ts | 2 +- packages/rspress-plugin-directives/src/index.ts | 2 +- packages/rspress-plugin-file-tree/components/Tree/Tree.tsx | 2 +- packages/rspress-plugin-file-tree/package.json | 3 +-- packages/rspress-plugin-file-tree/rspress.config.ts | 2 +- packages/rspress-plugin-file-tree/src/index.ts | 2 +- packages/rspress-plugin-gh-pages/package.json | 3 +-- packages/rspress-plugin-gh-pages/rspress.config.ts | 2 +- packages/rspress-plugin-gh-pages/src/index.ts | 4 ++-- .../components/SendGTagEvent.tsx | 2 +- packages/rspress-plugin-google-analytics/package.json | 3 +-- packages/rspress-plugin-google-analytics/rspress.config.ts | 2 +- packages/rspress-plugin-google-analytics/src/index.ts | 2 +- packages/rspress-plugin-katex/package.json | 3 +-- packages/rspress-plugin-katex/rspress.config.ts | 2 +- packages/rspress-plugin-katex/src/index.ts | 2 +- packages/rspress-plugin-live2d/package.json | 3 +-- packages/rspress-plugin-live2d/rspress.config.ts | 2 +- packages/rspress-plugin-live2d/src/index.ts | 2 +- packages/rspress-plugin-mermaid/package.json | 3 +-- packages/rspress-plugin-mermaid/rspress.config.ts | 2 +- packages/rspress-plugin-mermaid/src/index.ts | 2 +- .../rspress-plugin-reading-time/components/ReadingTime.tsx | 2 +- packages/rspress-plugin-reading-time/package.json | 3 +-- packages/rspress-plugin-reading-time/rspress.config.ts | 2 +- packages/rspress-plugin-reading-time/src/index.ts | 2 +- packages/rspress-plugin-supersub/package.json | 3 +-- packages/rspress-plugin-supersub/rspress.config.ts | 2 +- packages/rspress-plugin-supersub/src/index.ts | 2 +- packages/rspress-plugin-toc/components/TocList.tsx | 2 +- packages/rspress-plugin-toc/package.json | 3 +-- packages/rspress-plugin-toc/rspress.config.ts | 2 +- packages/rspress-plugin-toc/src/index.ts | 2 +- packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts | 2 +- packages/rspress-plugin-vercel-analytics/package.json | 3 +-- packages/rspress-plugin-vercel-analytics/rspress.config.ts | 2 +- packages/rspress-plugin-vercel-analytics/src/index.ts | 2 +- templates/package.json | 3 +-- templates/rspress.config.ts | 2 +- templates/src/index.ts | 2 +- wip-packages/rspress-app/package.json | 2 +- wip-packages/rspress-app/rspress.config.ts | 2 +- wip-packages/rspress-plugin-comment/package.json | 3 +-- wip-packages/rspress-plugin-comment/rspress.config.ts | 2 +- wip-packages/rspress-plugin-comment/src/index.ts | 2 +- wip-packages/rspress-plugin-contentful/package.json | 3 +-- wip-packages/rspress-plugin-contentful/rspress.config.ts | 2 +- wip-packages/rspress-plugin-contentful/src/index.ts | 2 +- wip-packages/rspress-plugin-graphql-playground/package.json | 3 +-- .../rspress-plugin-graphql-playground/rspress.config.ts | 2 +- wip-packages/rspress-plugin-graphql-playground/src/index.ts | 2 +- wip-packages/rspress-plugin-pwa/package.json | 3 +-- wip-packages/rspress-plugin-pwa/rspress.config.ts | 2 +- wip-packages/rspress-plugin-pwa/src/index.ts | 2 +- wip-packages/rspress-plugin-search-page/package.json | 3 +-- wip-packages/rspress-plugin-search-page/rspress.config.ts | 2 +- .../rspress-plugin-search-page/src/SearchPage/index.tsx | 4 ++-- wip-packages/rspress-plugin-search-page/src/index.ts | 2 +- wip-packages/rspress-plugin-sitemap/package.json | 3 +-- wip-packages/rspress-plugin-sitemap/rspress.config.ts | 2 +- wip-packages/rspress-plugin-sitemap/src/index.ts | 2 +- wip-packages/rspress-theme-geist/package.json | 3 +-- wip-packages/rspress-theme-geist/rspress.config.ts | 2 +- wip-packages/rspress-theme-geist/theme/index.tsx | 4 ++-- 75 files changed, 78 insertions(+), 100 deletions(-) diff --git a/packages/rspress-plugin-align-image/package.json b/packages/rspress-plugin-align-image/package.json index 59aeb33..2d5a96b 100644 --- a/packages/rspress-plugin-align-image/package.json +++ b/packages/rspress-plugin-align-image/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { @@ -41,6 +40,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-align-image/rspress.config.ts b/packages/rspress-plugin-align-image/rspress.config.ts index 3bf811c..91f57c2 100644 --- a/packages/rspress-plugin-align-image/rspress.config.ts +++ b/packages/rspress-plugin-align-image/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import mermaid from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-align-image/src/index.ts b/packages/rspress-plugin-align-image/src/index.ts index cdb5365..e623538 100644 --- a/packages/rspress-plugin-align-image/src/index.ts +++ b/packages/rspress-plugin-align-image/src/index.ts @@ -4,7 +4,7 @@ import { type HASTRoot, type RehypePluginFactory, } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; export interface RspressPluginAlignImageOptions { containerClassNames?: string[]; diff --git a/packages/rspress-plugin-back-to-top/package.json b/packages/rspress-plugin-back-to-top/package.json index ed4f0d2..04f0c53 100644 --- a/packages/rspress-plugin-back-to-top/package.json +++ b/packages/rspress-plugin-back-to-top/package.json @@ -32,7 +32,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^", "throttle-debounce": "^5.0.0" }, @@ -45,6 +44,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-back-to-top/rspress.config.ts b/packages/rspress-plugin-back-to-top/rspress.config.ts index 1217286..da6961c 100644 --- a/packages/rspress-plugin-back-to-top/rspress.config.ts +++ b/packages/rspress-plugin-back-to-top/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import back2Top from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx b/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx index 2fcab16..8cf0b1d 100644 --- a/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx +++ b/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { useDark } from 'rspress/runtime'; +import { useDark } from '@rspress/core/runtime'; import { throttle } from 'throttle-debounce'; diff --git a/packages/rspress-plugin-back-to-top/src/index.ts b/packages/rspress-plugin-back-to-top/src/index.ts index 9ea4d8f..aba38e4 100644 --- a/packages/rspress-plugin-back-to-top/src/index.ts +++ b/packages/rspress-plugin-back-to-top/src/index.ts @@ -2,7 +2,7 @@ import path from 'node:path'; import { PresetConfigMutator } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import type { Back2TopProps } from './components/Back2Top'; export const componentsPath = path.join(__dirname, './components'); diff --git a/packages/rspress-plugin-devkit/package.json b/packages/rspress-plugin-devkit/package.json index 9eff6ff..c718782 100644 --- a/packages/rspress-plugin-devkit/package.json +++ b/packages/rspress-plugin-devkit/package.json @@ -30,7 +30,6 @@ "dev": "tsc -w" }, "dependencies": { - "@rspress/shared": "^1.17.1", "@types/estree-jsx": "^1.0.5", "@types/hast": "^2.3.4", "@types/mdast": "^3.0.15", @@ -55,6 +54,6 @@ "@types/lodash-es": "^4.17.12" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts b/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts index 707546d..9410c43 100644 --- a/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts +++ b/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts @@ -1,4 +1,4 @@ -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; type PluginConfigMutatorInput = Parameters< NonNullable diff --git a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/FactoryBase.ts b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/FactoryBase.ts index b7724ef..a160780 100644 --- a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/FactoryBase.ts +++ b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/FactoryBase.ts @@ -1,6 +1,6 @@ import { uniqArray } from '../Utils/uniqArray'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import type { Content } from 'mdast'; import type { Dictionary } from 'util-ts-types'; diff --git a/packages/rspress-plugin-directives/package.json b/packages/rspress-plugin-directives/package.json index 0e0a44d..2813620 100644 --- a/packages/rspress-plugin-directives/package.json +++ b/packages/rspress-plugin-directives/package.json @@ -32,7 +32,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { @@ -40,6 +39,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-directives/rspress.config.ts b/packages/rspress-plugin-directives/rspress.config.ts index 213bf31..fab7dcc 100644 --- a/packages/rspress-plugin-directives/rspress.config.ts +++ b/packages/rspress-plugin-directives/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import directives from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-directives/src/index.ts b/packages/rspress-plugin-directives/src/index.ts index 6d2e505..7479903 100644 --- a/packages/rspress-plugin-directives/src/index.ts +++ b/packages/rspress-plugin-directives/src/index.ts @@ -7,7 +7,7 @@ import { type RemarkDirectiveTransformer, } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; type RspressPluginDirectivesOptions = MaybeArray< RemarkDirectiveTransformer< diff --git a/packages/rspress-plugin-file-tree/components/Tree/Tree.tsx b/packages/rspress-plugin-file-tree/components/Tree/Tree.tsx index 8886b3b..48965a5 100644 --- a/packages/rspress-plugin-file-tree/components/Tree/Tree.tsx +++ b/packages/rspress-plugin-file-tree/components/Tree/Tree.tsx @@ -4,7 +4,7 @@ import TreeFolder from './TreeFolder'; import { TreeContext } from './TreeContext'; import { sortChildren } from '../helpers'; import { buildClassName } from '../presets'; -import { useDark } from 'rspress/runtime'; +import { useDark } from '@rspress/core/runtime'; export const tuple = (...args: T) => args; diff --git a/packages/rspress-plugin-file-tree/package.json b/packages/rspress-plugin-file-tree/package.json index 47f0f67..ffbf908 100644 --- a/packages/rspress-plugin-file-tree/package.json +++ b/packages/rspress-plugin-file-tree/package.json @@ -34,7 +34,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-file-tree/rspress.config.ts b/packages/rspress-plugin-file-tree/rspress.config.ts index bd7e637..10039a3 100644 --- a/packages/rspress-plugin-file-tree/rspress.config.ts +++ b/packages/rspress-plugin-file-tree/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import fileTree from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-file-tree/src/index.ts b/packages/rspress-plugin-file-tree/src/index.ts index 1ac47c4..73b9ace 100644 --- a/packages/rspress-plugin-file-tree/src/index.ts +++ b/packages/rspress-plugin-file-tree/src/index.ts @@ -7,7 +7,7 @@ import { import { parseInput } from './parser'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; interface RspressPluginFileTreeOptions { initialExpandDepth?: number; diff --git a/packages/rspress-plugin-gh-pages/package.json b/packages/rspress-plugin-gh-pages/package.json index 598a87e..f86348e 100644 --- a/packages/rspress-plugin-gh-pages/package.json +++ b/packages/rspress-plugin-gh-pages/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "chalk": "^5.3.0", "gh-pages": "^6.1.1", "rspress-plugin-devkit": "workspace:^" @@ -44,6 +43,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-gh-pages/rspress.config.ts b/packages/rspress-plugin-gh-pages/rspress.config.ts index aff4e5c..8dedd1f 100644 --- a/packages/rspress-plugin-gh-pages/rspress.config.ts +++ b/packages/rspress-plugin-gh-pages/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import ghpages from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-gh-pages/src/index.ts b/packages/rspress-plugin-gh-pages/src/index.ts index bc9a175..0318e22 100644 --- a/packages/rspress-plugin-gh-pages/src/index.ts +++ b/packages/rspress-plugin-gh-pages/src/index.ts @@ -1,9 +1,9 @@ import chalk from 'chalk'; import ghpages from 'gh-pages'; -import { logger } from '@rspress/shared/logger'; +import { logger } from '@rspress/core/logger'; import type { MarkRequired } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; const DefaultDocBuildOutput = 'doc_build'; diff --git a/packages/rspress-plugin-google-analytics/components/SendGTagEvent.tsx b/packages/rspress-plugin-google-analytics/components/SendGTagEvent.tsx index dbc38f1..febbb66 100644 --- a/packages/rspress-plugin-google-analytics/components/SendGTagEvent.tsx +++ b/packages/rspress-plugin-google-analytics/components/SendGTagEvent.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { useLocation } from 'rspress/runtime'; +import { useLocation } from '@rspress/core/runtime'; export default () => { const location = useLocation(); diff --git a/packages/rspress-plugin-google-analytics/package.json b/packages/rspress-plugin-google-analytics/package.json index e945462..16447a9 100644 --- a/packages/rspress-plugin-google-analytics/package.json +++ b/packages/rspress-plugin-google-analytics/package.json @@ -34,7 +34,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-google-analytics/rspress.config.ts b/packages/rspress-plugin-google-analytics/rspress.config.ts index b848ef5..425e374 100644 --- a/packages/rspress-plugin-google-analytics/rspress.config.ts +++ b/packages/rspress-plugin-google-analytics/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import ga from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-google-analytics/src/index.ts b/packages/rspress-plugin-google-analytics/src/index.ts index 1c3f828..8f78cc9 100644 --- a/packages/rspress-plugin-google-analytics/src/index.ts +++ b/packages/rspress-plugin-google-analytics/src/index.ts @@ -1,6 +1,6 @@ import { ensureArray, type MaybeArray } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import path from 'path'; interface RspressPluginSiteMapOptions { diff --git a/packages/rspress-plugin-katex/package.json b/packages/rspress-plugin-katex/package.json index 2e82af6..a211dc4 100644 --- a/packages/rspress-plugin-katex/package.json +++ b/packages/rspress-plugin-katex/package.json @@ -32,7 +32,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "katex": "^0.16.10", "rehype-katex": "^7.0.0", "remark-math": "^6.0.0", @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-katex/rspress.config.ts b/packages/rspress-plugin-katex/rspress.config.ts index 3929d24..fab7b91 100644 --- a/packages/rspress-plugin-katex/rspress.config.ts +++ b/packages/rspress-plugin-katex/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import katex from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-katex/src/index.ts b/packages/rspress-plugin-katex/src/index.ts index 1fb59ad..af76df7 100644 --- a/packages/rspress-plugin-katex/src/index.ts +++ b/packages/rspress-plugin-katex/src/index.ts @@ -3,7 +3,7 @@ import { PresetConfigMutator } from 'rspress-plugin-devkit'; import remarkMath, { Options as RemarkMathOptions } from 'remark-math'; import rehypeKatex, { Options as RehypeKatexOptions } from 'rehype-katex'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; export interface RspressPluginKatexOptions extends RemarkMathOptions, diff --git a/packages/rspress-plugin-live2d/package.json b/packages/rspress-plugin-live2d/package.json index bdeec5a..aa95733 100644 --- a/packages/rspress-plugin-live2d/package.json +++ b/packages/rspress-plugin-live2d/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "oh-my-live2d": "^0.15.2", "rspress-plugin-devkit": "workspace:^" }, @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-live2d/rspress.config.ts b/packages/rspress-plugin-live2d/rspress.config.ts index 09722e8..8d5f6ba 100644 --- a/packages/rspress-plugin-live2d/rspress.config.ts +++ b/packages/rspress-plugin-live2d/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import live2d from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-live2d/src/index.ts b/packages/rspress-plugin-live2d/src/index.ts index 6114ba2..7eae291 100644 --- a/packages/rspress-plugin-live2d/src/index.ts +++ b/packages/rspress-plugin-live2d/src/index.ts @@ -1,6 +1,6 @@ import path from 'node:path'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import type { Live2DWidgetProps } from './typings'; export interface RspressPluginLive2dOptions extends Live2DWidgetProps {} diff --git a/packages/rspress-plugin-mermaid/package.json b/packages/rspress-plugin-mermaid/package.json index 4584f32..e69ade0 100644 --- a/packages/rspress-plugin-mermaid/package.json +++ b/packages/rspress-plugin-mermaid/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "mermaid": "^10.9.0", "rspress-plugin-devkit": "workspace:^" }, @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-mermaid/rspress.config.ts b/packages/rspress-plugin-mermaid/rspress.config.ts index 1054ed8..72ad8a5 100644 --- a/packages/rspress-plugin-mermaid/rspress.config.ts +++ b/packages/rspress-plugin-mermaid/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import mermaid from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-mermaid/src/index.ts b/packages/rspress-plugin-mermaid/src/index.ts index 1309502..4f728ef 100644 --- a/packages/rspress-plugin-mermaid/src/index.ts +++ b/packages/rspress-plugin-mermaid/src/index.ts @@ -5,7 +5,7 @@ import { RemarkCodeBlockToGlobalComponentPluginFactory, } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import type { MermaidConfig } from 'mermaid'; import type { MermaidRendererProps } from './typings'; diff --git a/packages/rspress-plugin-reading-time/components/ReadingTime.tsx b/packages/rspress-plugin-reading-time/components/ReadingTime.tsx index a0f0e72..d5d2b56 100644 --- a/packages/rspress-plugin-reading-time/components/ReadingTime.tsx +++ b/packages/rspress-plugin-reading-time/components/ReadingTime.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { usePageData, useLang, useDark } from 'rspress/runtime'; +import { usePageData, useLang, useDark } from '@rspress/core/runtime'; import type { ReadTimeResults } from 'reading-time'; import type { PresetLocale, WithDefaultLocale } from 'rspress-plugin-devkit'; diff --git a/packages/rspress-plugin-reading-time/package.json b/packages/rspress-plugin-reading-time/package.json index a815a74..acfab3c 100644 --- a/packages/rspress-plugin-reading-time/package.json +++ b/packages/rspress-plugin-reading-time/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "reading-time": "^1.5.0", "rspress-plugin-devkit": "workspace:^" }, @@ -43,6 +42,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-reading-time/rspress.config.ts b/packages/rspress-plugin-reading-time/rspress.config.ts index e12c7d4..c159515 100644 --- a/packages/rspress-plugin-reading-time/rspress.config.ts +++ b/packages/rspress-plugin-reading-time/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import readingTime from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-reading-time/src/index.ts b/packages/rspress-plugin-reading-time/src/index.ts index 44f4aff..afa5afe 100644 --- a/packages/rspress-plugin-reading-time/src/index.ts +++ b/packages/rspress-plugin-reading-time/src/index.ts @@ -8,7 +8,7 @@ import { type WithDefaultLocale, } from 'rspress-plugin-devkit'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; export interface RspressPluginReadingTimeOptions extends WithDefaultLocale { getReadingTime?: (content: string) => ReadTimeResults; diff --git a/packages/rspress-plugin-supersub/package.json b/packages/rspress-plugin-supersub/package.json index 6769177..ccccb50 100644 --- a/packages/rspress-plugin-supersub/package.json +++ b/packages/rspress-plugin-supersub/package.json @@ -33,7 +33,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "rspress-plugin-devkit": "workspace:^", "throttle-debounce": "^5.0.0" }, @@ -46,6 +45,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-supersub/rspress.config.ts b/packages/rspress-plugin-supersub/rspress.config.ts index d1aca35..842b0af 100644 --- a/packages/rspress-plugin-supersub/rspress.config.ts +++ b/packages/rspress-plugin-supersub/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import supersub from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-supersub/src/index.ts b/packages/rspress-plugin-supersub/src/index.ts index 7276783..92aaa26 100644 --- a/packages/rspress-plugin-supersub/src/index.ts +++ b/packages/rspress-plugin-supersub/src/index.ts @@ -4,7 +4,7 @@ import { type RemarkParseSuperSubScriptOptions, } from './remark-plugins/parse-super-sub-script'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; export interface RspressPluginSupersubOptions extends RemarkParseSuperSubScriptOptions {} diff --git a/packages/rspress-plugin-toc/components/TocList.tsx b/packages/rspress-plugin-toc/components/TocList.tsx index a6bd719..adf8883 100644 --- a/packages/rspress-plugin-toc/components/TocList.tsx +++ b/packages/rspress-plugin-toc/components/TocList.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { useDark } from 'rspress/runtime'; +import { useDark } from '@rspress/core/runtime'; import './TocList.less'; diff --git a/packages/rspress-plugin-toc/package.json b/packages/rspress-plugin-toc/package.json index 1f29c1c..05c166d 100644 --- a/packages/rspress-plugin-toc/package.json +++ b/packages/rspress-plugin-toc/package.json @@ -34,7 +34,6 @@ "docs:dev": "rspress dev" }, "dependencies": { - "@rspress/shared": "^1.17.1", "mdast-util-toc": "^6.1.1", "rspress-plugin-devkit": "workspace:^" }, @@ -46,6 +45,6 @@ "typescript": "^5.4.4" }, "peerDependencies": { - "rspress": "*" + "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } } \ No newline at end of file diff --git a/packages/rspress-plugin-toc/rspress.config.ts b/packages/rspress-plugin-toc/rspress.config.ts index b4ebe46..943fe06 100644 --- a/packages/rspress-plugin-toc/rspress.config.ts +++ b/packages/rspress-plugin-toc/rspress.config.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { defineConfig } from 'rspress/config'; +import { defineConfig } from '@rspress/core'; import toc from './src'; export default defineConfig({ diff --git a/packages/rspress-plugin-toc/src/index.ts b/packages/rspress-plugin-toc/src/index.ts index 0194ede..d5fa33b 100644 --- a/packages/rspress-plugin-toc/src/index.ts +++ b/packages/rspress-plugin-toc/src/index.ts @@ -6,7 +6,7 @@ import remarkTocPluginFactory, { type RemarkTocOptions, } from './remark-plugins/remark-toc'; -import type { RspressPlugin } from '@rspress/shared'; +import type { RspressPlugin } from '@rspress/core'; import type { TocOptions } from './shared'; export interface RspressPluginTocOptions extends TocOptions {} diff --git a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts b/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts index 57bd143..c64c4c5 100644 --- a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts +++ b/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts @@ -56,7 +56,7 @@ export default function remarkTocPluginFactory(): RemarkPluginFactory {}; -export default { Layout, setup }; +export { Layout, setup }; From 225997fb930750c3717ab6f178c2007e6ab1384d Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 03:12:48 +0800 Subject: [PATCH 02/15] chore: upgrade --- .../rspress-plugin-align-image/src/index.ts | 4 +- .../src/components/Back2Top.tsx | 1 + packages/rspress-plugin-devkit/package.json | 20 +- .../src/ConfigMutator/index.ts | 6 - .../CodeBlock2GlobalComponent.ts | 1 - .../RemarkPluginFactory/InsertComponent.ts | 2 - .../rspress-plugin-directives/src/index.ts | 4 +- .../rspress-plugin-file-tree/src/index.ts | 4 +- packages/rspress-plugin-katex/src/index.ts | 4 +- packages/rspress-plugin-mermaid/src/index.ts | 4 +- .../rspress-plugin-reading-time/src/index.ts | 5 +- packages/rspress-plugin-supersub/src/index.ts | 4 +- packages/rspress-plugin-toc/src/index.ts | 4 +- pnpm-lock.yaml | 3186 +++++++---------- 14 files changed, 1255 insertions(+), 1994 deletions(-) diff --git a/packages/rspress-plugin-align-image/src/index.ts b/packages/rspress-plugin-align-image/src/index.ts index e623538..e1e582f 100644 --- a/packages/rspress-plugin-align-image/src/index.ts +++ b/packages/rspress-plugin-align-image/src/index.ts @@ -16,9 +16,7 @@ export default function rspressPluginAlignImage( ): RspressPlugin { return { name: 'rspress-plugin-align-image', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { rehypePlugins: [[rehypeAlignImage(), options]], }, diff --git a/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx b/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx index 8cf0b1d..018308e 100644 --- a/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx +++ b/packages/rspress-plugin-back-to-top/src/components/Back2Top.tsx @@ -1,4 +1,5 @@ import React, { useState, useEffect } from 'react'; +// @ts-ignore - requires moduleResolution: bundler import { useDark } from '@rspress/core/runtime'; import { throttle } from 'throttle-debounce'; diff --git a/packages/rspress-plugin-devkit/package.json b/packages/rspress-plugin-devkit/package.json index c718782..069b0a8 100644 --- a/packages/rspress-plugin-devkit/package.json +++ b/packages/rspress-plugin-devkit/package.json @@ -31,24 +31,24 @@ }, "dependencies": { "@types/estree-jsx": "^1.0.5", - "@types/hast": "^2.3.4", - "@types/mdast": "^3.0.15", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", "@types/node": "^20.12.5", "clsx": "^2.1.0", "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.1", - "mdast-util-mdx-jsx": "^3.1.2", + "mdast-util-from-markdown": "^2.0.2", + "mdast-util-mdx-jsx": "^3.1.3", "mdast-util-mdxjs-esm": "^2.0.1", - "mdast-util-to-markdown": "^1.5.0", + "mdast-util-to-markdown": "^2.1.2", "mdast-util-to-string": "^4.0.0", - "remark-mdc": "1.2.0", + "remark-mdc": "^3.5.0", "ts-morph": "^22.0.0", - "unified": "^10.1.2", + "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1", "util-ts-types": "^1.0.0", - "vfile": "^5.3.7", - "vfile-reporter": "^7.0.5" + "vfile": "^6.0.3", + "vfile-reporter": "^8.1.1" }, "devDependencies": { "@types/lodash-es": "^4.17.12" @@ -56,4 +56,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts b/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts index 9410c43..0cc692c 100644 --- a/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts +++ b/packages/rspress-plugin-devkit/src/ConfigMutator/index.ts @@ -27,10 +27,4 @@ export class PresetConfigMutator { return this; } - - public disableMdxRs(): PresetConfigMutator { - this.config.markdown ??= {}; - this.config.markdown.mdxRs = false; - return this; - } } diff --git a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/CodeBlock2GlobalComponent.ts b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/CodeBlock2GlobalComponent.ts index 9781382..0ec2070 100644 --- a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/CodeBlock2GlobalComponent.ts +++ b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/CodeBlock2GlobalComponent.ts @@ -33,7 +33,6 @@ export class RemarkCodeBlockToGlobalComponentPluginFactory extends RemarkPluginF parent!.children.splice( index, 1, - // @ts-expect-error MdxJsxElementFactory.createMdxJsxFlowElementNode(code.value, { componentName: getComponentName(componentPath), propsProvider, diff --git a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/InsertComponent.ts b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/InsertComponent.ts index 1e4b2e0..6ed517a 100644 --- a/packages/rspress-plugin-devkit/src/RemarkPluginFactory/InsertComponent.ts +++ b/packages/rspress-plugin-devkit/src/RemarkPluginFactory/InsertComponent.ts @@ -35,7 +35,6 @@ export class RemarkInsertComponentPluginFactory extends RemarkPluginFactoryBase switch (position) { case 'pre': return ( - // @ts-expect-error tree.children.findLastIndex((node) => node.type === 'mdxjsEsm') + 1 ); @@ -66,7 +65,6 @@ export class RemarkInsertComponentPluginFactory extends RemarkPluginFactoryBase tree.children.splice( insertIndex, 0, - // @ts-expect-error MdxJsxElementFactory.createMdxJsxFlowElementNode( {}, { diff --git a/packages/rspress-plugin-directives/src/index.ts b/packages/rspress-plugin-directives/src/index.ts index 7479903..b2b5c68 100644 --- a/packages/rspress-plugin-directives/src/index.ts +++ b/packages/rspress-plugin-directives/src/index.ts @@ -33,9 +33,7 @@ export default function rspressPluginDirectives( return { name: 'rspress-plugin-directives', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { remarkPlugins: [ remarkParseDirective, diff --git a/packages/rspress-plugin-file-tree/src/index.ts b/packages/rspress-plugin-file-tree/src/index.ts index 73b9ace..950071d 100644 --- a/packages/rspress-plugin-file-tree/src/index.ts +++ b/packages/rspress-plugin-file-tree/src/index.ts @@ -38,9 +38,7 @@ export default function rspressPluginFileTree( return { name: 'rspress-plugin-file-tree', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { remarkPlugins: [remarkFileTree.remarkPlugin], globalComponents: remarkFileTree.mdxComponents, diff --git a/packages/rspress-plugin-katex/src/index.ts b/packages/rspress-plugin-katex/src/index.ts index af76df7..d2024b7 100644 --- a/packages/rspress-plugin-katex/src/index.ts +++ b/packages/rspress-plugin-katex/src/index.ts @@ -16,9 +16,7 @@ export default function rspressPluginKatex( return { name: 'rspress-plugin-katex', - config(config, utils, isProd) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 globalStyles: katexCss, markdown: { remarkPlugins: [[remarkMath, options]], diff --git a/packages/rspress-plugin-mermaid/src/index.ts b/packages/rspress-plugin-mermaid/src/index.ts index 4f728ef..8d24c79 100644 --- a/packages/rspress-plugin-mermaid/src/index.ts +++ b/packages/rspress-plugin-mermaid/src/index.ts @@ -42,9 +42,7 @@ export default function rspressPluginMermaid( return { name: 'rspress-plugin-mermaid', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { remarkPlugins: [remarkMermaid.remarkPlugin], globalComponents: remarkMermaid.mdxComponents, diff --git a/packages/rspress-plugin-reading-time/src/index.ts b/packages/rspress-plugin-reading-time/src/index.ts index afa5afe..a47eb80 100644 --- a/packages/rspress-plugin-reading-time/src/index.ts +++ b/packages/rspress-plugin-reading-time/src/index.ts @@ -33,11 +33,10 @@ export default function rspressPluginReadingTime( return { name: 'rspress-plugin-reading-time', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 extendPageData(pageData, isProd) { const estimatedReadingTime = getReadingTime(pageData.content); + // @ts-ignore - custom property pageData.readingTimeData = estimatedReadingTime; }, markdown: { diff --git a/packages/rspress-plugin-supersub/src/index.ts b/packages/rspress-plugin-supersub/src/index.ts index 92aaa26..07db306 100644 --- a/packages/rspress-plugin-supersub/src/index.ts +++ b/packages/rspress-plugin-supersub/src/index.ts @@ -14,9 +14,7 @@ export default function rspressPluginSupersub( ): RspressPlugin { return { name: 'rspress-plugin-supersub', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { remarkPlugins: [ [remarkParseSuperSubScript, options], diff --git a/packages/rspress-plugin-toc/src/index.ts b/packages/rspress-plugin-toc/src/index.ts index d5fa33b..dc677de 100644 --- a/packages/rspress-plugin-toc/src/index.ts +++ b/packages/rspress-plugin-toc/src/index.ts @@ -18,9 +18,7 @@ export default function rspressPluginToc( return { name: 'rspress-plugin-toc', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, + // config not needed for Rspress V2 markdown: { remarkPlugins: [ [remarkTocPluginFactory(), options satisfies RemarkTocOptions], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index efe464a..8a51198 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,12 +83,9 @@ importers: packages/rspress-plugin-align-image: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -102,12 +99,9 @@ importers: packages/rspress-plugin-back-to-top: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -136,18 +130,18 @@ importers: packages/rspress-plugin-devkit: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) '@types/estree-jsx': specifier: ^1.0.5 version: 1.0.5 '@types/hast': - specifier: ^2.3.4 - version: 2.3.4 + specifier: ^3.0.4 + version: 3.0.4 '@types/mdast': - specifier: ^3.0.15 - version: 3.0.15 + specifier: ^4.0.4 + version: 4.0.4 '@types/node': specifier: ^20.12.5 version: 20.12.5 @@ -158,32 +152,29 @@ importers: specifier: ^4.17.21 version: 4.17.21 mdast-util-from-markdown: - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^2.0.2 + version: 2.0.2 mdast-util-mdx-jsx: - specifier: ^3.1.2 - version: 3.1.2 + specifier: ^3.1.3 + version: 3.2.0 mdast-util-mdxjs-esm: specifier: ^2.0.1 version: 2.0.1 mdast-util-to-markdown: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^2.1.2 + version: 2.1.2 mdast-util-to-string: specifier: ^4.0.0 version: 4.0.0 remark-mdc: - specifier: 1.2.0 - version: 1.2.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + specifier: ^3.5.0 + version: 3.10.0 ts-morph: specifier: ^22.0.0 version: 22.0.0 unified: - specifier: ^10.1.2 - version: 10.1.2 + specifier: ^11.0.5 + version: 11.0.5 unist-util-visit: specifier: ^5.0.0 version: 5.0.0 @@ -194,11 +185,11 @@ importers: specifier: ^1.0.0 version: 1.0.0 vfile: - specifier: ^5.3.7 - version: 5.3.7 + specifier: ^6.0.3 + version: 6.0.3 vfile-reporter: - specifier: ^7.0.5 - version: 7.0.5 + specifier: ^8.1.1 + version: 8.1.1 devDependencies: '@types/lodash-es': specifier: ^4.17.12 @@ -206,12 +197,9 @@ importers: packages/rspress-plugin-directives: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -225,12 +213,9 @@ importers: packages/rspress-plugin-file-tree: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -247,18 +232,15 @@ importers: packages/rspress-plugin-gh-pages: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) chalk: specifier: ^5.3.0 version: 5.3.0 gh-pages: specifier: ^6.1.1 version: 6.1.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -275,12 +257,9 @@ importers: packages/rspress-plugin-google-analytics: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -297,9 +276,9 @@ importers: packages/rspress-plugin-katex: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) katex: specifier: ^0.16.10 version: 0.16.10 @@ -309,9 +288,6 @@ importers: remark-math: specifier: ^6.0.0 version: 6.0.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -325,15 +301,12 @@ importers: packages/rspress-plugin-live2d: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) oh-my-live2d: specifier: ^0.15.2 version: 0.15.2 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -350,15 +323,12 @@ importers: packages/rspress-plugin-mermaid: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) mermaid: specifier: ^10.9.0 version: 10.9.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -375,15 +345,12 @@ importers: packages/rspress-plugin-reading-time: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) reading-time: specifier: ^1.5.0 version: 1.5.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -400,12 +367,9 @@ importers: packages/rspress-plugin-supersub: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -434,15 +398,12 @@ importers: packages/rspress-plugin-toc: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) mdast-util-toc: specifier: ^6.1.1 version: 6.1.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -465,15 +426,12 @@ importers: packages/rspress-plugin-vercel-analytics: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.17.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) '@vercel/analytics': specifier: ^1.2.2 - version: 1.2.2(react@18.2.0) - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + version: 1.2.2(react@19.2.3) rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit @@ -490,9 +448,9 @@ importers: wip-packages/rspress-app: dependencies: - rspress: - specifier: ^1.17.1 - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 + version: 2.0.0-rc.4(@types/react@18.2.74) devDependencies: '@types/node': specifier: ^16.18.95 @@ -503,12 +461,9 @@ importers: '@giscus/react': specifier: ^3.0.0 version: 3.0.0(react-dom@18.2.0)(react@18.2.0) - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -531,9 +486,9 @@ importers: wip-packages/rspress-plugin-contentful: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) contentful: specifier: ^10.8.7 version: 10.8.7 @@ -543,9 +498,6 @@ importers: dotenv: specifier: ^16.4.5 version: 16.4.5 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -571,18 +523,15 @@ importers: '@geist-ui/core': specifier: ^2.3.8 version: 2.3.8(react-dom@18.2.0)(react@18.2.0) - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) graphql-playground-react: specifier: ^1.7.28 version: 1.7.28(@babel/core@7.24.4)(@types/node@20.12.5) react-redux: specifier: ^9.1.0 version: 9.1.0(@types/react@18.2.74)(react@18.2.0) - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -605,15 +554,12 @@ importers: wip-packages/rspress-plugin-pwa: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) mermaid: specifier: ^10.9.0 version: 10.9.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -630,12 +576,9 @@ importers: wip-packages/rspress-plugin-search-page: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -658,15 +601,12 @@ importers: wip-packages/rspress-plugin-sitemap: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) mermaid: specifier: ^10.9.0 version: 10.9.0 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -683,12 +623,9 @@ importers: wip-packages/rspress-theme-geist: dependencies: - '@rspress/shared': - specifier: ^1.17.1 - version: 1.18.1 - rspress: - specifier: '*' - version: 1.17.1(webpack@5.91.0) + '@rspress/core': + specifier: ^2.0.0-rc.4 || ^2.0.0 + version: 2.0.0-rc.4(@types/react@18.2.74) rspress-plugin-devkit: specifier: workspace:^ version: link:../../packages/rspress-plugin-devkit @@ -1180,6 +1117,31 @@ packages: resolution: {integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==} dev: true + /@emnapi/core@1.8.1: + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} + requiresBuild: true + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + dev: false + optional: true + + /@emnapi/runtime@1.8.1: + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} + requiresBuild: true + dependencies: + tslib: 2.8.1 + dev: false + optional: true + + /@emnapi/wasi-threads@1.1.0: + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + requiresBuild: true + dependencies: + tslib: 2.8.1 + dev: false + optional: true + /@emotion/is-prop-valid@0.8.8: resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} dependencies: @@ -1739,13 +1701,6 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.6: - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: false - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} @@ -1765,18 +1720,6 @@ packages: '@lit-labs/ssr-dom-shim': 1.2.0 dev: false - /@loadable/component@5.15.2(react@18.2.0): - resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} - engines: {node: '>=8'} - peerDependencies: - react: '>=16.3.0' - dependencies: - '@babel/runtime': 7.24.4 - hoist-non-react-statics: 3.3.2 - react: 18.2.0 - react-is: 16.13.1 - dev: false - /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: @@ -1797,84 +1740,95 @@ packages: read-yaml-file: 1.1.0 dev: true - /@mdx-js/loader@2.3.0(webpack@5.91.0): - resolution: {integrity: sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==} - peerDependencies: - webpack: '>=4' - dependencies: - '@mdx-js/mdx': 2.3.0 - source-map: 0.7.4 - webpack: 5.91.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@mdx-js/mdx@2.3.0: - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} + /@mdx-js/mdx@3.1.1: + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} dependencies: + '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdx': 2.0.12 - estree-util-build-jsx: 2.2.2 - estree-util-is-identifier-name: 2.1.0 - estree-util-to-js: 1.2.0 + acorn: 8.11.3 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 estree-walker: 3.0.3 - hast-util-to-estree: 2.3.3 - markdown-extensions: 1.1.1 - periscopic: 3.1.0 - remark-mdx: 2.3.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - unified: 10.1.2 - unist-util-position-from-estree: 1.1.2 - unist-util-stringify-position: 3.0.3 - unist-util-visit: 4.1.2 - vfile: 5.3.7 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.11.3) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 transitivePeerDependencies: - supports-color dev: false - /@mdx-js/react@2.3.0(react@18.2.0): - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} + /@mdx-js/react@3.1.1(@types/react@18.2.74)(react@19.2.3): + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: + '@types/react': '>=16' react: '>=16' dependencies: '@types/mdx': 2.0.12 '@types/react': 18.2.74 - react: 18.2.0 + react: 19.2.3 dev: false - /@modern-js/utils@2.48.4: - resolution: {integrity: sha512-ummxga/VKrQjh8TdWtxckx9hefMKfe6cxY1fpDmn5wOkJbNpLS2GIlEFPDhlN451JyeMDD9kbxRedq4ETE+NqQ==} + /@module-federation/error-codes@0.21.6: + resolution: {integrity: sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==} + dev: false + + /@module-federation/runtime-core@0.21.6: + resolution: {integrity: sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==} dependencies: - '@swc/helpers': 0.5.3 - caniuse-lite: 1.0.30001607 - lodash: 4.17.21 - rslog: 1.2.1 + '@module-federation/error-codes': 0.21.6 + '@module-federation/sdk': 0.21.6 dev: false - /@module-federation/runtime-tools@0.0.8: - resolution: {integrity: sha512-tqx3wlVHnpWLk+vn22c0x9Nv1BqdZnoS6vdMb53IsVpbQIFP70nhhvymHUyFuPkoLzMFidS7GpG58DYT/4lvCw==} + /@module-federation/runtime-tools@0.21.6: + resolution: {integrity: sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==} dependencies: - '@module-federation/runtime': 0.0.8 - '@module-federation/webpack-bundler-runtime': 0.0.8 + '@module-federation/runtime': 0.21.6 + '@module-federation/webpack-bundler-runtime': 0.21.6 dev: false - /@module-federation/runtime@0.0.8: - resolution: {integrity: sha512-Hi9g10aHxHdQ7CbchSvke07YegYwkf162XPOmixNmJr5Oy4wVa2d9yIVSrsWFhBRbbvM5iJP6GrSuEq6HFO3ug==} + /@module-federation/runtime@0.21.6: + resolution: {integrity: sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==} dependencies: - '@module-federation/sdk': 0.0.8 + '@module-federation/error-codes': 0.21.6 + '@module-federation/runtime-core': 0.21.6 + '@module-federation/sdk': 0.21.6 dev: false - /@module-federation/sdk@0.0.8: - resolution: {integrity: sha512-lkasywBItjUTNT0T0IskonDE2E/2tXE9UhUCPVoDL3NteDUSFGg4tpkF+cey1pD8mHh0XJcGrCuOW7s96peeAg==} + /@module-federation/sdk@0.21.6: + resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==} dev: false - /@module-federation/webpack-bundler-runtime@0.0.8: - resolution: {integrity: sha512-ULwrTVzF47+6XnWybt6SIq97viEYJRv4P/DByw5h7PSX9PxSGyMm5pHfXdhcb7tno7VknL0t2V8F48fetVL9kA==} + /@module-federation/webpack-bundler-runtime@0.21.6: + resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==} + dependencies: + '@module-federation/runtime': 0.21.6 + '@module-federation/sdk': 0.21.6 + dev: false + + /@napi-rs/wasm-runtime@1.0.7: + resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + requiresBuild: true dependencies: - '@module-federation/runtime': 0.0.8 - '@module-federation/sdk': 0.0.8 + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 + '@tybys/wasm-util': 0.10.1 dev: false + optional: true /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1964,11 +1918,6 @@ packages: resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} dev: false - /@remix-run/router@1.15.3: - resolution: {integrity: sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==} - engines: {node: '>=14.0.0'} - dev: false - /@repeaterjs/repeater@3.0.4: resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} dev: false @@ -2097,359 +2046,215 @@ packages: dev: true optional: true - /@rsbuild/core@0.5.1: - resolution: {integrity: sha512-xpWRETHgRUmEgmKhK03PloiiYZ455myyGkc0VTionCLUSpdT+jyTtDUW0T+rNvHkgukH20fVvjpwMbQnT19vXw==} - engines: {node: '>=16.0.0'} - hasBin: true - dependencies: - '@rsbuild/shared': 0.5.1(@swc/helpers@0.5.3) - '@rspack/core': 0.5.8(@swc/helpers@0.5.3) - '@swc/helpers': 0.5.3 - core-js: 3.36.1 - html-webpack-plugin: /html-rspack-plugin@5.6.2(@rspack/core@0.5.8) - postcss: 8.4.38 - dev: false - - /@rsbuild/core@0.6.1: - resolution: {integrity: sha512-I/AE7AbRu7hEytRlxKptSGkd2ZXAgowUjH86dspkinoBlGcGjRhYGAYaDR4svfq3MmTTuU0lA/w4JAHHR0E59A==} - engines: {node: '>=16.0.0'} + /@rsbuild/core@1.6.15: + resolution: {integrity: sha512-LvoOF53PL6zXgdzEhgnnP51S4FseDFH1bHrobK4EK6zZX/tN8qgf5tdlmN7h4OkMv/Qs1oUfvj0QcLWSstnnvA==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: - '@rsbuild/shared': 0.6.1(@swc/helpers@0.5.3) - '@rspack/core': 0.6.1(@swc/helpers@0.5.3) - '@swc/helpers': 0.5.3 - core-js: 3.36.1 - html-webpack-plugin: /html-rspack-plugin@5.6.2(@rspack/core@0.6.1) - postcss: 8.4.38 + '@rspack/core': 1.6.8(@swc/helpers@0.5.18) + '@rspack/lite-tapable': 1.1.0 + '@swc/helpers': 0.5.18 + core-js: 3.47.0 + jiti: 2.6.1 dev: false - /@rsbuild/plugin-react@0.5.1(@rsbuild/core@0.5.1): - resolution: {integrity: sha512-5GkLJj/Ht+6HUOGMSXK3v3lfe4ldkaPBtKLd11XUrvGkgPrOAYHZvzF6vLSZaM2yJRr0irLTMYYTBrK+D2Iypw==} + /@rsbuild/plugin-react@1.4.2(@rsbuild/core@1.6.15): + resolution: {integrity: sha512-2rJb5mOuqVof2aDq4SbB1E65+0n1vjhAADipC88jvZRNuTOulg79fh7R4tsCiBMI4VWq46gSpwekiK8G5bq6jg==} peerDependencies: - '@rsbuild/core': ^0.5.1 - dependencies: - '@rsbuild/core': 0.5.1 - '@rsbuild/shared': 0.5.1(@swc/helpers@0.5.3) - '@rspack/plugin-react-refresh': 0.5.8(react-refresh@0.14.0) - react-refresh: 0.14.0 - transitivePeerDependencies: - - '@swc/helpers' - dev: false - - /@rsbuild/shared@0.5.1(@swc/helpers@0.5.3): - resolution: {integrity: sha512-jBa4Cm91s/1KBcDs1MgGqYbaGRtmSjJK9BQeFV1dKvQoxpXViwOO457EBmOb+T28Dy6hNJK/1f9Uza5qQ4/7Tg==} - dependencies: - '@rspack/core': 0.5.8(@swc/helpers@0.5.3) - caniuse-lite: 1.0.30001607 - postcss: 8.4.38 - transitivePeerDependencies: - - '@swc/helpers' - dev: false - - /@rsbuild/shared@0.6.1(@swc/helpers@0.5.3): - resolution: {integrity: sha512-AEjdkhgc1FHPPEPWua3k6i/UOgxw9xvIGjl7IEyC4jJgYAKDqr2LcL6hhP+dS3BAVDUsJrQJ0FN3zWLkaYICDQ==} + '@rsbuild/core': 1.x dependencies: - '@rspack/core': 0.6.1(@swc/helpers@0.5.3) - caniuse-lite: 1.0.30001607 - postcss: 8.4.38 + '@rsbuild/core': 1.6.15 + '@rspack/plugin-react-refresh': 1.5.3(react-refresh@0.18.0) + react-refresh: 0.18.0 transitivePeerDependencies: - - '@swc/helpers' - dev: false - - /@rspack/binding-darwin-arm64@0.5.8: - resolution: {integrity: sha512-kvz2f9bMoFOEuXJ/fyJzOWuNXq5EvQhA19cqgwrDRQgfc5sQ0qv2vW3qI5v2oVOHccQBwKHkVTHHDn5vWlnRsQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true + - webpack-hot-middleware dev: false - optional: true - /@rspack/binding-darwin-arm64@0.6.1: - resolution: {integrity: sha512-VbNGprAwNDrddEzGUuy6c+Q9DVlLj8jbtKsBK8maw0ERH7csX+RiH8iK+mUUf3TVMB7egRPODCBgzluyh4smYw==} + /@rspack/binding-darwin-arm64@1.6.8: + resolution: {integrity: sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-darwin-x64@0.5.8: - resolution: {integrity: sha512-TgVtKntzOGcIczogZXMWqqXrvK07XjRnz1ES56RYfsOVvzTEmldvX5S+pQIwYzCt7fNddIMl9muHa9qYswzFbQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-darwin-x64@0.6.1: - resolution: {integrity: sha512-JPRSVUEHxPPNaD8H1e5dCinu/ST5UKF0PTfxL4yElbwWnujWRYhoXZAqEEImDTFIHl8pzf5asUEUt01UGpLuqw==} + /@rspack/binding-darwin-x64@1.6.8: + resolution: {integrity: sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-gnu@0.5.8: - resolution: {integrity: sha512-g+4ddgEpK+R50mqKs6jPr7IiPGpukabbSBSYGGezErHMMAfgSxuRQ1IGP/pOOHQXXmHJbrbqk4Ow56vE0fKZnQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-arm64-gnu@0.6.1: - resolution: {integrity: sha512-XM3qcxuoH3cETolV1xE8ig169K8hJ5xUcll3bJ0xAmDOdqzXIjnlcKiXWEJbgDY5VFwOqh27SoB3xxXQQv6KPQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-arm64-musl@0.5.8: - resolution: {integrity: sha512-MistQCUYkcwb4u3XTnmwGimxD161LlRZqP/7PPrInaBNCpYQYnXI4RX6RhMgusnjaW406N0XBS94Q9QNwujyxg==} + /@rspack/binding-linux-arm64-gnu@1.6.8: + resolution: {integrity: sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-musl@0.6.1: - resolution: {integrity: sha512-WHDZew5i/Vts5MOyFwwjkfZrPehx9d6Zx/dGSsUriyu+bFmJGNnvSPpcpJejL9t0GNsjs1EL7K5fjwXro3qABA==} + /@rspack/binding-linux-arm64-musl@1.6.8: + resolution: {integrity: sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-gnu@0.5.8: - resolution: {integrity: sha512-DlsCXeSZKKOh7T8uwIcUgbOXLcsoUVCHkWx04GDBi09OYHjrT+dc1Iqpy5uHcIScRWjtVgGnOb6M9EsyABNoAw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-x64-gnu@0.6.1: - resolution: {integrity: sha512-bvexuC7ad2hbIDWRURAdwvMHoJmDLL+W2iaQp2xe7x1WKaGt5fT6ZePAth+f0xro+PuAbnfJ5H3J++xvqvAUHA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-x64-musl@0.5.8: - resolution: {integrity: sha512-B4V5wFGig+WCNbeOwU6O8rvxzu9sONUML6YEe/NiR+e9NLsYemEQG8volZVQ4WM/SDii6G4h9z/2jEoGXcfRsQ==} + /@rspack/binding-linux-x64-gnu@1.6.8: + resolution: {integrity: sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-musl@0.6.1: - resolution: {integrity: sha512-o4P54sUVaHVYyCd6KAUgBNOkBVD39xOyjpK3Ob8+lmrunDAzw6hbE2tMORMm9BfaCeKh+F17VthPjTlFgQsRRg==} + /@rspack/binding-linux-x64-musl@1.6.8: + resolution: {integrity: sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-arm64-msvc@0.5.8: - resolution: {integrity: sha512-ubWsFoJkUQNOt1w1WDQCk5UvFPOII/dNj/orpEe+NPveEn6i+im2euK+6fKucmDrXAyC1ZhEzjJeFMjcvyS9Dg==} - cpu: [arm64] - os: [win32] + /@rspack/binding-wasm32-wasi@1.6.8: + resolution: {integrity: sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==} + cpu: [wasm32] requiresBuild: true + dependencies: + '@napi-rs/wasm-runtime': 1.0.7 dev: false optional: true - /@rspack/binding-win32-arm64-msvc@0.6.1: - resolution: {integrity: sha512-6OoPlxZH2j+k1JyzO0khbtodJmXgpscx7sa6i2HvUsSWJVxAAjMf2ZdRsDGwMxATp9S9HIDklqV7h2X9/nfIvg==} + /@rspack/binding-win32-arm64-msvc@1.6.8: + resolution: {integrity: sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-ia32-msvc@0.5.8: - resolution: {integrity: sha512-NPwkNbEe/IY/I93E07q3p7AM4rLDLkpgTzBPFhi6jgNzK8k/eGAUIdaEDJhEkWzsI8o8m7I5XlJyxrmK5/SWFw==} + /@rspack/binding-win32-ia32-msvc@1.6.8: + resolution: {integrity: sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-ia32-msvc@0.6.1: - resolution: {integrity: sha512-eJ+WNrEymxFBAB187fFobCS3MUc1afCv0EzAs9LAVPgj2Z3fE8l2XCDUPsRkGtQyh8ftTdyyY9JNqYEIOrx4RQ==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-win32-x64-msvc@0.5.8: - resolution: {integrity: sha512-ox+PdrWh5VjI3G2GCLoXJ0eZ/lLgxPQsmGkyjikJyaIuetWtMun8khvaoAspnSw3FzHCEbA62vs0ot8YV3DggQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-win32-x64-msvc@0.6.1: - resolution: {integrity: sha512-Wk/p1jwcjICKOGLmUkrbUZTZ5yQuYJEjNhMyAZDBQtQMOqkycOsijw8c/KYEfJTzSK0TuE+5rK5WDqQkGaYFoQ==} + /@rspack/binding-win32-x64-msvc@1.6.8: + resolution: {integrity: sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding@0.5.8: - resolution: {integrity: sha512-RDiiBDeIwCPtqQ/CYMXoFqstaJVGZu3KoUKeuJoiN+TO77OAC0fRs7J/BvV+KLoF35SFpe/XnSLCkv+Nkk9/ow==} + /@rspack/binding@1.6.8: + resolution: {integrity: sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==} optionalDependencies: - '@rspack/binding-darwin-arm64': 0.5.8 - '@rspack/binding-darwin-x64': 0.5.8 - '@rspack/binding-linux-arm64-gnu': 0.5.8 - '@rspack/binding-linux-arm64-musl': 0.5.8 - '@rspack/binding-linux-x64-gnu': 0.5.8 - '@rspack/binding-linux-x64-musl': 0.5.8 - '@rspack/binding-win32-arm64-msvc': 0.5.8 - '@rspack/binding-win32-ia32-msvc': 0.5.8 - '@rspack/binding-win32-x64-msvc': 0.5.8 - dev: false - - /@rspack/binding@0.6.1: - resolution: {integrity: sha512-Kh81wjmT7r0JiFrqyMOkuve5Pwm4Mq44m6+tywE15bDTpahDIDQ3x18fZqeSTWG4t3P0fhvljsiWWAlPvwyjOg==} - optionalDependencies: - '@rspack/binding-darwin-arm64': 0.6.1 - '@rspack/binding-darwin-x64': 0.6.1 - '@rspack/binding-linux-arm64-gnu': 0.6.1 - '@rspack/binding-linux-arm64-musl': 0.6.1 - '@rspack/binding-linux-x64-gnu': 0.6.1 - '@rspack/binding-linux-x64-musl': 0.6.1 - '@rspack/binding-win32-arm64-msvc': 0.6.1 - '@rspack/binding-win32-ia32-msvc': 0.6.1 - '@rspack/binding-win32-x64-msvc': 0.6.1 - dev: false - - /@rspack/core@0.5.8(@swc/helpers@0.5.3): - resolution: {integrity: sha512-F7NiiLCE//5JXsEmS36DcIUiSyi5sylZZ5MKw9ABSGrtqVDB23oOjUxP1kt/Wo6npf0V2eVuAHpoudwJ1lUmhQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true - dependencies: - '@module-federation/runtime-tools': 0.0.8 - '@rspack/binding': 0.5.8 - '@swc/helpers': 0.5.3 - browserslist: 4.23.0 - enhanced-resolve: 5.12.0 - events: 3.3.0 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 3.0.1 - neo-async: 2.6.2 - tapable: 2.2.1 - watchpack: 2.4.1 - webpack-sources: 3.2.3 - zod: 3.22.4 - zod-validation-error: 1.3.1(zod@3.22.4) - dev: false - - /@rspack/core@0.6.1(@swc/helpers@0.5.3): - resolution: {integrity: sha512-DBlyxm0cyxJ0WiYLeirdJghLhKovLXDhZiQZovZPTFljd1ZX1lCDvTj11KApmW8eJDoiBi0QDYWRLXeZetGllg==} - engines: {node: '>=16.0.0'} + '@rspack/binding-darwin-arm64': 1.6.8 + '@rspack/binding-darwin-x64': 1.6.8 + '@rspack/binding-linux-arm64-gnu': 1.6.8 + '@rspack/binding-linux-arm64-musl': 1.6.8 + '@rspack/binding-linux-x64-gnu': 1.6.8 + '@rspack/binding-linux-x64-musl': 1.6.8 + '@rspack/binding-wasm32-wasi': 1.6.8 + '@rspack/binding-win32-arm64-msvc': 1.6.8 + '@rspack/binding-win32-ia32-msvc': 1.6.8 + '@rspack/binding-win32-x64-msvc': 1.6.8 + dev: false + + /@rspack/core@1.6.8(@swc/helpers@0.5.18): + resolution: {integrity: sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==} + engines: {node: '>=18.12.0'} peerDependencies: '@swc/helpers': '>=0.5.1' peerDependenciesMeta: '@swc/helpers': optional: true dependencies: - '@module-federation/runtime-tools': 0.0.8 - '@rspack/binding': 0.6.1 - '@swc/helpers': 0.5.3 - browserslist: 4.23.0 - enhanced-resolve: 5.12.0 - events: 3.3.0 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 3.0.1 - neo-async: 2.6.2 - tapable: 2.2.1 - watchpack: 2.4.1 - webpack-sources: 3.2.3 - zod: 3.22.4 - zod-validation-error: 1.3.1(zod@3.22.4) - dev: false - - /@rspack/plugin-react-refresh@0.5.8(react-refresh@0.14.0): - resolution: {integrity: sha512-y6wp0r4u+QxReP5DmKI2MTG5VfOATHIsFmbujhrM/C1Afon7azGZL7by7Rn+pc6A2ul2jigTph7Mlp7vVC3tbQ==} + '@module-federation/runtime-tools': 0.21.6 + '@rspack/binding': 1.6.8 + '@rspack/lite-tapable': 1.1.0 + '@swc/helpers': 0.5.18 + dev: false + + /@rspack/lite-tapable@1.1.0: + resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} + dev: false + + /@rspack/plugin-react-refresh@1.5.3(react-refresh@0.18.0): + resolution: {integrity: sha512-VOnQMf3YOHkTqJ0+BJbrYga4tQAWNwoAnkgwRauXB4HOyCc5wLfBs9DcOFla/2usnRT3Sq6CMVhXmdPobwAoTA==} peerDependencies: react-refresh: '>=0.10.0 <1.0.0' + webpack-hot-middleware: 2.x peerDependenciesMeta: - react-refresh: + webpack-hot-middleware: optional: true dependencies: - react-refresh: 0.14.0 - dev: false - - /@rspress/core@1.17.1(webpack@5.91.0): - resolution: {integrity: sha512-pGdgEG8QqGxvNzh1NerYdExJ+Gl1ZE5+APkPHO4NniDS5nCUe5STEgbXANVXV1xTlrzuG7qXzqAArjx98AY4kw==} - engines: {node: '>=14.17.6'} - dependencies: - '@loadable/component': 5.15.2(react@18.2.0) - '@mdx-js/loader': 2.3.0(webpack@5.91.0) - '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - '@modern-js/utils': 2.48.4 - '@rsbuild/core': 0.5.1 - '@rsbuild/plugin-react': 0.5.1(@rsbuild/core@0.5.1) - '@rspress/mdx-rs': 0.5.1 - '@rspress/plugin-auto-nav-sidebar': 1.17.1 - '@rspress/plugin-container-syntax': 1.17.1 - '@rspress/plugin-last-updated': 1.17.1 - '@rspress/plugin-medium-zoom': 1.17.1(@rspress/runtime@1.17.1) - '@rspress/runtime': 1.17.1 - '@rspress/shared': 1.17.1 - '@rspress/theme-default': 1.17.1 + error-stack-parser: 2.1.4 + html-entities: 2.6.0 + react-refresh: 0.18.0 + dev: false + + /@rspress/core@2.0.0-rc.4(@types/react@18.2.74): + resolution: {integrity: sha512-EHJjbc8yA/La6sJN3bjZus24KhSCdh5lEIVtjt7EBEnLteDN+wULzO1sFKj8agH3BXYE0XOuz2W1HbTTGfcGJQ==} + engines: {node: '>=20.9.0'} + hasBin: true + dependencies: + '@mdx-js/mdx': 3.1.1 + '@mdx-js/react': 3.1.1(@types/react@18.2.74)(react@19.2.3) + '@rsbuild/core': 1.6.15 + '@rsbuild/plugin-react': 1.4.2(@rsbuild/core@1.6.15) + '@rspress/mdx-rs': 0.6.6 + '@rspress/runtime': 2.0.0-rc.4 + '@rspress/shared': 2.0.0-rc.4 + '@shikijs/rehype': 3.20.0 + '@types/unist': 3.0.3 + '@unhead/react': 2.1.1(react@19.2.3) body-scroll-lock: 4.0.0-beta.0 + cac: 6.7.14 + chokidar: 3.6.0 + clsx: 2.1.1 copy-to-clipboard: 3.3.3 - enhanced-resolve: 5.12.0 - flexsearch: 0.6.32 - fs-extra: 10.1.0 + flexsearch: 0.8.212 github-slugger: 2.0.0 - hast-util-from-html: 1.0.2 hast-util-heading-rank: 3.0.0 + hast-util-to-jsx-runtime: 2.3.6 html-to-text: 9.0.5 - htmr: 1.0.2(react@18.2.0) - is-html: 3.1.0 - lodash-es: 4.17.21 - mdast-util-mdxjs-esm: 1.3.1 - node-fetch: 3.3.0 + lodash-es: 4.17.22 + mdast-util-mdx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + medium-zoom: 1.1.0 nprogress: 0.2.0 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + picocolors: 1.1.1 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) react-lazy-with-preload: 2.2.1 - react-syntax-highlighter: 15.5.0(react@18.2.0) - rehype-external-links: 2.1.0 - rehype-stringify: 9.0.4 - remark: 14.0.3 - remark-gfm: 3.0.1 - remark-html: 15.0.2 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - rspack-plugin-virtual-module: 0.1.12 - source-map: 0.7.4 - unified: 10.1.2 - unist-util-visit: 4.1.2 - unist-util-visit-children: 2.0.2 - yaml-front-matter: 4.1.1 + react-reconciler: 0.33.0(react@19.2.3) + react-router-dom: 7.11.0(react-dom@19.2.3)(react@19.2.3) + rehype-external-links: 3.0.0 + rehype-raw: 7.0.0 + remark-gfm: 4.0.1 + remark-mdx: 3.1.1 + remark-stringify: 11.0.0 + scroll-into-view-if-needed: 3.1.0 + shiki: 3.20.0 + tinyglobby: 0.2.15 + tinypool: 1.1.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + unist-util-visit-children: 3.0.0 transitivePeerDependencies: - - '@swc/helpers' + - '@types/react' - supports-color - - webpack + - webpack-hot-middleware dev: false - /@rspress/mdx-rs-darwin-arm64@0.5.1: - resolution: {integrity: sha512-KX3WNnlXR02V73Y4f0WXqRammhcRSpPqrRMQzh7ufIwTiFOUYxbx0GEDTiTyaPnJ6EfA/ojh6fHl8c2fLKlGYQ==} + /@rspress/mdx-rs-darwin-arm64@0.6.6: + resolution: {integrity: sha512-fsuhUko2VJin9oZvGDEM8FWIisbhTe+ki8SiiVMqtl6OUtga9wB8F3JmsjVNg615lHp7FiT66Mvfbxweo+jjTQ==} engines: {node: '>=14.12'} cpu: [arm64] os: [darwin] @@ -2457,8 +2262,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-darwin-x64@0.5.1: - resolution: {integrity: sha512-yUji5CXAAPU5Pxz6qOeuhmTS5Otl2GJy2ERmR98ywMRFBjpFGT19eulULjLvT5bFscNbpNCAfL4gZpnYJdB/rw==} + /@rspress/mdx-rs-darwin-x64@0.6.6: + resolution: {integrity: sha512-LAkc4H9cODxOsZLMsX57ma8Kk+KZytLTgkGTUXBX2M88O5ucZzrdBWFNXP8EvNcVcDR4O+YwcZPYMlZDqRyX5A==} engines: {node: '>=14.12'} cpu: [x64] os: [darwin] @@ -2466,8 +2271,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-linux-arm64-gnu@0.5.1: - resolution: {integrity: sha512-UGGAgVsxJJpZZVAil31IMuvG/EB68zBiULClcisWFPm6YVIcBm9EllzcRgDkFsOa3YDm89KYbj34BzbTsPpvYg==} + /@rspress/mdx-rs-linux-arm64-gnu@0.6.6: + resolution: {integrity: sha512-l18CBbqFsn1NOWngdcfKVbqAGYsNouQw/WNAUxoKX3kPh+TsWxGZR2vBnPQ+In4yNzSz5AVMPKBMah2YNIFmXA==} engines: {node: '>=14.12'} cpu: [arm64] os: [linux] @@ -2475,8 +2280,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-linux-arm64-musl@0.5.1: - resolution: {integrity: sha512-ZbbVWG4sIB806LR92NT4laV89uyrZobsP67DDqFB1q7d/Huszu65Q8llPagfiUGKNpK9MvI5pRaHf+1oTYlQ/g==} + /@rspress/mdx-rs-linux-arm64-musl@0.6.6: + resolution: {integrity: sha512-diwYLjMUlK1CSoZ0D6Lrdd31B60SgGlGqvvWs49PqDFpb+/wbBuKTGfjx+bzPmRBvSgjDUJuNkh3tHldj9wpXg==} engines: {node: '>=14.12'} cpu: [arm64] os: [linux] @@ -2484,8 +2289,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-linux-x64-gnu@0.5.1: - resolution: {integrity: sha512-tQBuMNP9OuwA/e4BU7OmSVQBUNZ0tD5dKw6W3px3U1kbEEYqkqPx4PgpA+ksblYEvjuTfUHk9qO9owCW2eu4qA==} + /@rspress/mdx-rs-linux-x64-gnu@0.6.6: + resolution: {integrity: sha512-Qie1XlZ55qn2nyXZ5DO3vSYa8xiiTiT8vjh5gIkNMhYh/qvUefJTgp8RC+DFsdlyxSVHRWSTAiWchFyhpW6QCw==} engines: {node: '>=14.12'} cpu: [x64] os: [linux] @@ -2493,8 +2298,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-linux-x64-musl@0.5.1: - resolution: {integrity: sha512-4YjUvHJYmwgGK0ULr0LPwXWPP4cgk7KRhT1aZdPdLHpcVsNeuatEtB3zQbwqd36qqcboMZ2msoUAXKvmAlfFSA==} + /@rspress/mdx-rs-linux-x64-musl@0.6.6: + resolution: {integrity: sha512-IegWebLUvioMIMQGo7JDW2sR3JOFOuJl/blX5Vy/fwHvfznIscRcJlu/Va6brMHkgv36fgXgCv7Yt3JwXGQaTQ==} engines: {node: '>=14.12'} cpu: [x64] os: [linux] @@ -2502,8 +2307,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-win32-arm64-msvc@0.5.1: - resolution: {integrity: sha512-EJCgt7SGDF70nJpiWvBS0bwBYpU256kFTksD5cTKBLjvn+YHBvns+93xrOROswwUslmeEfqjIZ7k0XwMbymeNA==} + /@rspress/mdx-rs-win32-arm64-msvc@0.6.6: + resolution: {integrity: sha512-EA/BNOhTvF6dE+vdoIBxZaHxynLjL46qxiyHhNj0+no0lcBS2NbeWIgl2ge3O35n5h7Pj0sbmchHazpXwgDNcg==} engines: {node: '>=14.12'} cpu: [arm64] os: [win32] @@ -2511,8 +2316,8 @@ packages: dev: false optional: true - /@rspress/mdx-rs-win32-x64-msvc@0.5.1: - resolution: {integrity: sha512-iYvai7abbhYfSUHtr8gV2ci4YPiy/PmAL6hvjNywr0ZgxSXdqw7sUGlEDjQpxiRbVqr2Ke1ASvEroNNyuphFlg==} + /@rspress/mdx-rs-win32-x64-msvc@0.6.6: + resolution: {integrity: sha512-P6XbuHD+TRw73lqWxWf8Zb8/+MgHO4pCv4h1QoumxyFz0+2C+47576eBPimprWHgq066AZ34q3+037mrbZdvAA==} engines: {node: '>=14.12'} cpu: [x64] os: [win32] @@ -2520,125 +2325,114 @@ packages: dev: false optional: true - /@rspress/mdx-rs@0.5.1: - resolution: {integrity: sha512-mZ0DCqmUgx7vgYGURfY2WYpBRZi4JuGxd3vT10vtAn4fX48bwyDmFELFMvWmwaFJLbuKHJJhEd77a+ehwcwSeQ==} + /@rspress/mdx-rs@0.6.6: + resolution: {integrity: sha512-NpNhTKBIlV3O6ADhoZkgHvBFvXMW2TYlIWmIT1ysJESUBqDpaN9H3Teve5fugjU2pQ2ORBZO6SQGKliMw/8m/Q==} engines: {node: '>= 10'} optionalDependencies: - '@rspress/mdx-rs-darwin-arm64': 0.5.1 - '@rspress/mdx-rs-darwin-x64': 0.5.1 - '@rspress/mdx-rs-linux-arm64-gnu': 0.5.1 - '@rspress/mdx-rs-linux-arm64-musl': 0.5.1 - '@rspress/mdx-rs-linux-x64-gnu': 0.5.1 - '@rspress/mdx-rs-linux-x64-musl': 0.5.1 - '@rspress/mdx-rs-win32-arm64-msvc': 0.5.1 - '@rspress/mdx-rs-win32-x64-msvc': 0.5.1 + '@rspress/mdx-rs-darwin-arm64': 0.6.6 + '@rspress/mdx-rs-darwin-x64': 0.6.6 + '@rspress/mdx-rs-linux-arm64-gnu': 0.6.6 + '@rspress/mdx-rs-linux-arm64-musl': 0.6.6 + '@rspress/mdx-rs-linux-x64-gnu': 0.6.6 + '@rspress/mdx-rs-linux-x64-musl': 0.6.6 + '@rspress/mdx-rs-win32-arm64-msvc': 0.6.6 + '@rspress/mdx-rs-win32-x64-msvc': 0.6.6 dev: false - /@rspress/plugin-auto-nav-sidebar@1.17.1: - resolution: {integrity: sha512-TBR1U50n0FpxZRTw1mVmKh6Pmc4JcFSFZVAIZ4b00SMW2vMHEFvsqZyrO/C8+yICG7+9SO+7lHn61W+b/Ls30A==} - engines: {node: '>=14.17.6'} + /@rspress/runtime@2.0.0-rc.4: + resolution: {integrity: sha512-BcNs6zpIXcWfhXGCDS525HDwSgLXO+S+q2Ty6sQPmyYJzOg+V9tHIlulKTOfuBCyEhTZeTAJofP4+rG4EZBUgw==} + engines: {node: '>=20.9.0'} dependencies: - '@rspress/shared': 1.17.1 + '@rspress/shared': 2.0.0-rc.4 + '@unhead/react': 2.1.1(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-router-dom: 7.11.0(react-dom@19.2.3)(react@19.2.3) dev: false - /@rspress/plugin-container-syntax@1.17.1: - resolution: {integrity: sha512-3VIaauYQaIF987GSXU6M7fI/5RpXcdsD7Qz3BdddWZ+serwjcFmHLlkvdxI6rm3voFcPI33b4YZIRnqxQYDAiw==} - engines: {node: '>=14.17.6'} + /@rspress/shared@2.0.0-rc.4: + resolution: {integrity: sha512-46jTwxV8SRLMbe3euCEMWQudmdYE2Tf+EN/5l6EP10i6QICOXMIzUFFWfr0LOTr4aZCSTSJu7Tp6Xxml6JbheA==} dependencies: - '@rspress/shared': 1.17.1 + '@rsbuild/core': 1.6.15 + '@shikijs/rehype': 3.20.0 + gray-matter: 4.0.3 + lodash-es: 4.17.22 + unified: 11.0.5 dev: false - /@rspress/plugin-last-updated@1.17.1: - resolution: {integrity: sha512-//shdj5PPy9KGW9esOXW4ULKs4XccRkXZTJyKNQX6ZKlYOzSXLGAGYQBCgEzjoXBCW4XbVx3ttu8kX/Z78cUOw==} - engines: {node: '>=14.17.6'} + /@selderee/plugin-htmlparser2@0.11.0: + resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} dependencies: - '@rspress/shared': 1.17.1 + domhandler: 5.0.3 + selderee: 0.11.0 dev: false - /@rspress/plugin-medium-zoom@1.17.1(@rspress/runtime@1.17.1): - resolution: {integrity: sha512-vFo0/yFh9n3TOqg/Odnr9IxDIkcG5zG+WWtCv/vpj5NKkc358F+ZSMnOhYuOpd8ygT3v+paXcphNLkd1LFAkWA==} - engines: {node: '>=14.17.6'} - peerDependencies: - '@rspress/runtime': ^1.0.2 + /@shikijs/core@3.20.0: + resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==} dependencies: - '@rspress/runtime': 1.17.1 - medium-zoom: 1.0.8 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 dev: false - /@rspress/runtime@1.17.1: - resolution: {integrity: sha512-BwT9UgkgBdyxXsh9fgRMCQtarfv70M2ULj1a9ztfqJsVZ5T6X6OjTS7O/gspeS215373nxHvIKmFmM254ySU2w==} - engines: {node: '>=14.17.6'} + /@shikijs/engine-javascript@3.20.0: + resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==} dependencies: - '@rspress/shared': 1.17.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) - react-router-dom: 6.22.3(react-dom@18.2.0)(react@18.2.0) + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.4 dev: false - /@rspress/shared@1.17.1: - resolution: {integrity: sha512-cHH58P3S+CWqu1/Qr3Uo+nkGMDlbB8hiokwqAl/4N+DNR+qFcaE7tJqbt9IU6ud+v5SJWg/sv099CzRq5U2/kw==} + /@shikijs/engine-oniguruma@3.20.0: + resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} dependencies: - '@rsbuild/core': 0.5.1 - chalk: 4.1.2 - execa: 5.1.1 - fs-extra: 11.2.0 - gray-matter: 4.0.3 - unified: 10.1.2 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 dev: false - /@rspress/shared@1.18.1: - resolution: {integrity: sha512-dX089rS0G1xwDebemI4aICfXX25yi6OqntWXg0Ls/4Iw8/fSrbGkGI86t1my8/tdRuI/V5xaDt0QNa2NwgxXKA==} + /@shikijs/langs@3.20.0: + resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} dependencies: - '@rsbuild/core': 0.6.1 - chalk: 4.1.2 - execa: 5.1.1 - fs-extra: 11.2.0 - gray-matter: 4.0.3 - unified: 10.1.2 + '@shikijs/types': 3.20.0 dev: false - /@rspress/theme-default@1.17.1: - resolution: {integrity: sha512-6APJufBgazaDE06h/JEggOyEdST9TAv1jjkZv7nudiyEgmGkCENW4ANY1cXgr5eXsUxwg4ms7i0s4P3kz3Cwfg==} - engines: {node: '>=14.17.6'} + /@shikijs/rehype@3.20.0: + resolution: {integrity: sha512-/sqob3V/lJK0m2mZ64nkcWPN88im0D9atkI3S3PUBvtJZTHnJXVwZhHQFRDyObgEIa37IpHYHR3CuFtXB5bT2g==} dependencies: - '@mdx-js/react': 2.3.0(react@18.2.0) - '@rspress/runtime': 1.17.1 - '@rspress/shared': 1.17.1 - body-scroll-lock: 4.0.0-beta.0 - copy-to-clipboard: 3.3.3 - flexsearch: 0.6.32 - github-slugger: 2.0.0 - globby: 11.1.0 - hast-util-from-html: 1.0.2 - html-to-text: 9.0.5 - htmr: 1.0.2(react@18.2.0) - is-html: 3.1.0 - lodash-es: 4.17.21 - nprogress: 0.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) - react-syntax-highlighter: 15.5.0(react@18.2.0) - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - rspack-plugin-virtual-module: 0.1.12 + '@shikijs/types': 3.20.0 + '@types/hast': 3.0.4 + hast-util-to-string: 3.0.1 + shiki: 3.20.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 dev: false - /@selderee/plugin-htmlparser2@0.11.0: - resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + /@shikijs/themes@3.20.0: + resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} dependencies: - domhandler: 5.0.3 - selderee: 0.11.0 + '@shikijs/types': 3.20.0 + dev: false + + /@shikijs/types@3.20.0: + resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + dev: false + + /@shikijs/vscode-textmate@10.0.2: + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} dev: false /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@swc/helpers@0.5.3: - resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} + /@swc/helpers@0.5.18: + resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==} dependencies: - tslib: 2.6.2 + tslib: 2.8.1 dev: false /@ts-morph/common@0.23.0: @@ -2650,11 +2444,13 @@ packages: path-browserify: 1.0.1 dev: false - /@types/acorn@4.0.6: - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + /@tybys/wasm-util@0.10.1: + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + requiresBuild: true dependencies: - '@types/estree': 1.0.5 + tslib: 2.8.1 dev: false + optional: true /@types/d3-scale-chromatic@3.0.3: resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} @@ -2676,20 +2472,6 @@ packages: '@types/ms': 0.7.34 dev: false - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - dependencies: - '@types/eslint': 8.56.7 - '@types/estree': 1.0.5 - dev: false - - /@types/eslint@8.56.7: - resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - dev: false - /@types/estree-jsx@1.0.5: resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} dependencies: @@ -2714,22 +2496,10 @@ packages: resolution: {integrity: sha512-Ma9bmKkE+WUtywENLC1rSLXTW66cJHJMWX2RQrJTMKhYM8o+73bRJ1ebfo3RWXUcG+HW3khky2nhVaN7nCsa3Q==} dev: true - /@types/hast@2.3.10: - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - dependencies: - '@types/unist': 2.0.10 - dev: false - - /@types/hast@2.3.4: - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} - dependencies: - '@types/unist': 3.0.2 - dev: false - /@types/hast@3.0.4: resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /@types/hoist-non-react-statics@3.3.5: @@ -2747,10 +2517,6 @@ packages: resolution: {integrity: sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==} dev: false - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: false - /@types/json-schema@7.0.9: resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: false @@ -2785,10 +2551,10 @@ packages: '@types/unist': 2.0.10 dev: false - /@types/mdast@4.0.3: - resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + /@types/mdast@4.0.4: + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /@types/mdx@2.0.12: @@ -2856,10 +2622,6 @@ packages: '@types/ssri': 7.1.5 dev: true - /@types/parse5@6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - dev: false - /@types/prop-types@15.7.12: resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} @@ -2908,6 +2670,10 @@ packages: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} dev: false + /@types/unist@3.0.3: + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + dev: false + /@types/use-sync-external-store@0.0.3: resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} dev: false @@ -2918,7 +2684,20 @@ packages: '@types/node': 20.12.5 dev: false - /@vercel/analytics@1.2.2(react@18.2.0): + /@ungap/structured-clone@1.3.0: + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + dev: false + + /@unhead/react@2.1.1(react@19.2.3): + resolution: {integrity: sha512-WD2seVvB7PsReydiE+XQTmIjia55wosuDj2VQuS96elIDhNuFI7ZHYQzZzNXbg7QCm7BhtzR+cKYa/+iXWWyCw==} + peerDependencies: + react: '>=18.3.1' + dependencies: + react: 19.2.3 + unhead: 2.1.1 + dev: false + + /@vercel/analytics@1.2.2(react@19.2.3): resolution: {integrity: sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==} peerDependencies: next: '>= 13' @@ -2929,7 +2708,7 @@ packages: react: optional: true dependencies: - react: 18.2.0 + react: 19.2.3 server-only: 0.0.1 dev: false @@ -2996,148 +2775,34 @@ packages: pretty-format: 29.7.0 dev: true - /@webassemblyjs/ast@1.12.1: - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: false - - /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + /@whatwg-node/events@0.0.3: + resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} dev: false - /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + /@whatwg-node/fetch@0.8.8: + resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} + dependencies: + '@peculiar/webcrypto': 1.4.6 + '@whatwg-node/node-fetch': 0.3.6 + busboy: 1.6.0 + urlpattern-polyfill: 8.0.2 + web-streams-polyfill: 3.3.3 dev: false - /@webassemblyjs/helper-buffer@1.12.1: - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + /@whatwg-node/node-fetch@0.3.6: + resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} + dependencies: + '@whatwg-node/events': 0.0.3 + busboy: 1.6.0 + fast-querystring: 1.1.2 + fast-url-parser: 1.1.3 + tslib: 2.6.2 dev: false - /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + /@wry/equality@0.1.11: + resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 - '@xtuc/long': 4.2.2 - dev: false - - /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: false - - /@webassemblyjs/helper-wasm-section@1.12.1: - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 - dev: false - - /@webassemblyjs/ieee754@1.11.6: - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: false - - /@webassemblyjs/leb128@1.11.6: - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - dependencies: - '@xtuc/long': 4.2.2 - dev: false - - /@webassemblyjs/utf8@1.11.6: - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: false - - /@webassemblyjs/wasm-edit@1.12.1: - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 - dev: false - - /@webassemblyjs/wasm-gen@1.12.1: - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - dev: false - - /@webassemblyjs/wasm-opt@1.12.1: - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - dev: false - - /@webassemblyjs/wasm-parser@1.12.1: - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - dev: false - - /@webassemblyjs/wast-printer@1.12.1: - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@xtuc/long': 4.2.2 - dev: false - - /@whatwg-node/events@0.0.3: - resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} - dev: false - - /@whatwg-node/fetch@0.8.8: - resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} - dependencies: - '@peculiar/webcrypto': 1.4.6 - '@whatwg-node/node-fetch': 0.3.6 - busboy: 1.6.0 - urlpattern-polyfill: 8.0.2 - web-streams-polyfill: 3.3.3 - dev: false - - /@whatwg-node/node-fetch@0.3.6: - resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} - dependencies: - '@whatwg-node/events': 0.0.3 - busboy: 1.6.0 - fast-querystring: 1.1.2 - fast-url-parser: 1.1.3 - tslib: 2.6.2 - dev: false - - /@wry/equality@0.1.11: - resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} - dependencies: - tslib: 1.14.1 - dev: false - - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: false - - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + tslib: 1.14.1 dev: false /accepts@1.3.8: @@ -3148,14 +2813,6 @@ packages: negotiator: 0.6.3 dev: false - /acorn-import-assertions@1.9.0(acorn@8.11.3): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.11.3 - dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3184,14 +2841,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: false - /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -3199,6 +2848,7 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -3234,6 +2884,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} @@ -3559,10 +3210,6 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: false - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: false - /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -3650,6 +3297,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} @@ -3659,26 +3307,14 @@ packages: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: false - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: false - /character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} dev: false - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: false - /character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: false - /character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} dev: false @@ -3712,11 +3348,6 @@ packages: fsevents: 2.3.3 dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: false - /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -3766,6 +3397,11 @@ packages: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} + /clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + dev: false + /code-block-writer@13.0.1: resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} dev: false @@ -3810,6 +3446,10 @@ packages: resolution: {integrity: sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg==} dev: false + /collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + dev: false + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -3820,12 +3460,14 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -3837,10 +3479,6 @@ packages: dependencies: delayed-stream: 1.0.0 - /comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} - dev: false - /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false @@ -3854,11 +3492,6 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false - /commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - dev: false - /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -3873,6 +3506,10 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: false + /compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + dev: false + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3952,6 +3589,11 @@ packages: engines: {node: '>= 0.6'} dev: false + /cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + dev: false + /copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: @@ -3969,8 +3611,8 @@ packages: requiresBuild: true dev: false - /core-js@3.36.1: - resolution: {integrity: sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==} + /core-js@3.47.0: + resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} requiresBuild: true dev: false @@ -4039,6 +3681,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true /cryptiles@4.1.2: resolution: {integrity: sha512-U2ALcoAHvA1oO2xOreyHvtkQ+IELqDG2WVWRI1GH/XEmmfGIOalnM5MU5Dd2ITyWfr3m6kNqXiy8XuYyd4wKJw==} @@ -4415,11 +4058,6 @@ packages: lodash-es: 4.17.21 dev: false - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - /data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -4606,14 +4244,6 @@ packages: csstype: 3.1.3 dev: false - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - dev: false - /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: @@ -4626,13 +4256,6 @@ packages: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: false - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: false - /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -4644,14 +4267,6 @@ packages: resolution: {integrity: sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==} dev: false - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - dev: false - /domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: @@ -4699,12 +4314,17 @@ packages: resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} dev: false + /emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} @@ -4717,22 +4337,6 @@ packages: iconv-lite: 0.6.3 dev: false - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: false - - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: false - /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -4768,6 +4372,12 @@ packages: dependencies: is-arrayish: 0.2.1 + /error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + dev: false + /es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -4830,10 +4440,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - /es-module-lexer@1.5.0: - resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} - dev: false - /es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -4865,6 +4471,24 @@ packages: is-symbol: 1.0.4 dev: true + /esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + dev: false + + /esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.11.3 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -4918,14 +4542,6 @@ packages: engines: {node: '>=12'} dev: false - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: false - /eslint-scope@8.0.1: resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5013,47 +4629,52 @@ packages: engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: false + dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + dev: true - /estree-util-attach-comments@2.1.1: - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} + /estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} dependencies: '@types/estree': 1.0.5 dev: false - /estree-util-build-jsx@2.2.2: - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} + /estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} dependencies: '@types/estree-jsx': 1.0.5 - estree-util-is-identifier-name: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 dev: false - /estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} + /estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} dev: false - /estree-util-to-js@1.2.0: - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} + /estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + dev: false + + /estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} dependencies: '@types/estree-jsx': 1.0.5 astring: 1.8.6 source-map: 0.7.4 dev: false - /estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} + /estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} dependencies: '@types/estree-jsx': 1.0.5 - '@types/unist': 2.0.10 + '@types/unist': 3.0.3 dev: false /estree-walker@3.0.3: @@ -5075,26 +4696,6 @@ packages: resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} dev: false - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: false - /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -5196,6 +4797,7 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} @@ -5236,18 +4838,16 @@ packages: dependencies: reusify: 1.0.4 - /fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} - dependencies: - format: 0.2.2 - dev: false - - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + /fdir@6.5.0(picomatch@4.0.3): + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 + picomatch: 4.0.3 dev: false /file-entry-cache@8.0.0: @@ -5336,8 +4936,9 @@ packages: keyv: 4.5.4 dev: true - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + /flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} hasBin: true dev: false @@ -5345,8 +4946,8 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true - /flexsearch@0.6.32: - resolution: {integrity: sha512-EF1BWkhwoeLtbIlDbY/vDSLBen/E5l/f1Vg7iX5CDymQCamcx1vhlc3tIZxIDplPjgi0jhG37c67idFbjg+v+Q==} + /flexsearch@0.8.212: + resolution: {integrity: sha512-wSyJr1GUWoOOIISRu+X2IXiOcVfg9qqBRyCPRUdLMIGJqPzMo+jMRlvE83t14v1j0dRMEaBbER/adQjp6Du2pw==} dev: false /follow-redirects@1.15.6: @@ -5381,18 +4982,6 @@ packages: combined-stream: 1.0.8 mime-types: 2.1.35 - /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - dev: false - - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -5403,15 +4992,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: false - /fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -5490,11 +5070,6 @@ packages: has-symbols: 1.0.3 hasown: 2.0.2 - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: false - /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -5546,10 +5121,6 @@ packages: is-glob: 4.0.3 dev: true - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: false - /glob@10.3.12: resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} engines: {node: '>=16 || 14 >=14.17'} @@ -5636,10 +5207,6 @@ packages: dependencies: get-intrinsic: 1.2.4 - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: false - /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -5892,6 +5459,7 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -5936,16 +5504,6 @@ packages: unist-util-remove-position: 5.0.0 dev: false - /hast-util-from-html@1.0.2: - resolution: {integrity: sha512-LhrTA2gfCbLOGJq2u/asp4kwuG0y6NhWTXiPKP+n0qNukKy7hc10whqqCFfyvIA1Q5U5d0sp9HhNim9gglEH4A==} - dependencies: - '@types/hast': 2.3.10 - hast-util-from-parse5: 7.1.2 - parse5: 7.1.2 - vfile: 5.3.7 - vfile-message: 3.1.4 - dev: false - /hast-util-from-html@2.0.1: resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} dependencies: @@ -5953,31 +5511,19 @@ packages: devlop: 1.1.0 hast-util-from-parse5: 8.0.1 parse5: 7.1.2 - vfile: 6.0.1 + vfile: 6.0.3 vfile-message: 4.0.2 dev: false - /hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - dependencies: - '@types/hast': 2.3.10 - '@types/unist': 2.0.10 - hastscript: 7.2.0 - property-information: 6.5.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - dev: false - /hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} dependencies: '@types/hast': 3.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 devlop: 1.1.0 hastscript: 8.0.0 property-information: 6.5.0 - vfile: 6.0.1 + vfile: 6.0.3 vfile-location: 5.0.2 web-namespaces: 2.0.1 dev: false @@ -5988,137 +5534,128 @@ packages: '@types/hast': 3.0.4 dev: false - /hast-util-is-element@2.1.3: - resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} - dependencies: - '@types/hast': 2.3.10 - '@types/unist': 2.0.10 - dev: false - /hast-util-is-element@3.0.0: resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} dependencies: '@types/hast': 3.0.4 dev: false - /hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - dev: false - - /hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - dependencies: - '@types/hast': 2.3.10 - dev: false - /hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: '@types/hast': 3.0.4 dev: false - /hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + /hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} dependencies: - '@types/hast': 2.3.10 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 dev: false - /hast-util-sanitize@4.1.0: - resolution: {integrity: sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw==} - dependencies: - '@types/hast': 2.3.10 - dev: false - - /hast-util-to-estree@2.3.3: - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} + /hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} dependencies: '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/unist': 2.0.10 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 - estree-util-attach-comments: 2.1.1 - estree-util-is-identifier-name: 2.1.0 - hast-util-whitespace: 2.0.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdxjs-esm: 1.3.1 - property-information: 6.5.0 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - unist-util-position: 4.0.4 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: - supports-color dev: false - /hast-util-to-html@8.0.4: - resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} + /hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} dependencies: - '@types/hast': 2.3.10 - '@types/unist': 2.0.10 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 ccount: 2.0.1 comma-separated-tokens: 2.0.3 - hast-util-raw: 7.2.3 - hast-util-whitespace: 2.0.1 - html-void-elements: 2.0.1 - property-information: 6.5.0 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 dev: false - /hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + /hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} dependencies: - '@types/hast': 2.3.10 + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 - property-information: 6.5.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color dev: false - /hast-util-to-text@4.0.1: - resolution: {integrity: sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==} + /hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} dependencies: '@types/hast': 3.0.4 - '@types/unist': 3.0.2 - hast-util-is-element: 3.0.0 - unist-util-find-after: 5.0.0 - dev: false + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + /hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + dependencies: + '@types/hast': 3.0.4 dev: false - /hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + /hast-util-to-text@4.0.1: + resolution: {integrity: sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==} dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 dev: false - /hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + /hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 + '@types/hast': 3.0.4 dev: false /hastscript@8.0.0: @@ -6135,10 +5672,6 @@ packages: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: false - /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - dev: false - /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: @@ -6165,6 +5698,10 @@ packages: react-is: 16.13.1 dev: false + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: false + /hoopy@0.1.4: resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} engines: {node: '>= 6.0.0'} @@ -6174,45 +5711,18 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + /html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} dev: false /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /html-rspack-plugin@5.6.2(@rspack/core@0.5.8): - resolution: {integrity: sha512-cPGwV3odvKJ7DBAG/DxF5e0nMMvBl1zGfyDciT2xMETRrIwajwC7LtEB3cf7auoGMK6xJOOLjWJgaKHLu/FzkQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - peerDependenciesMeta: - '@rspack/core': - optional: true - dependencies: - '@rspack/core': 0.5.8(@swc/helpers@0.5.3) - lodash: 4.17.21 - tapable: 2.2.1 - dev: false - - /html-rspack-plugin@5.6.2(@rspack/core@0.6.1): - resolution: {integrity: sha512-cPGwV3odvKJ7DBAG/DxF5e0nMMvBl1zGfyDciT2xMETRrIwajwC7LtEB3cf7auoGMK6xJOOLjWJgaKHLu/FzkQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - peerDependenciesMeta: - '@rspack/core': - optional: true - dependencies: - '@rspack/core': 0.6.1(@swc/helpers@0.5.3) - lodash: 4.17.21 - tapable: 2.2.1 - dev: false - /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} + dev: true /html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} @@ -6225,17 +5735,8 @@ packages: selderee: 0.11.0 dev: false - /html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: false - - /htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 + /html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false /htmlparser2@8.0.2: @@ -6247,16 +5748,6 @@ packages: entities: 4.5.0 dev: false - /htmr@1.0.2(react@18.2.0): - resolution: {integrity: sha512-7T9babEHZwECQ2/ouxNPow1uGcKbj/BcbslPGPRxBKIOLNiIrFKq6ELzor7mc4HiexZzdb3izQQLl16bhPR9jw==} - peerDependencies: - react: '>=15.6.1' - dependencies: - html-entities: 2.5.2 - htmlparser2: 6.1.0 - react: 18.2.0 - dev: false - /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -6272,11 +5763,6 @@ packages: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: false - /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -6333,8 +5819,8 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + /inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} dev: false /internal-slot@1.0.7: @@ -6371,21 +5857,10 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: false - /is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} dev: false - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - dev: false - /is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} dependencies: @@ -6425,11 +5900,6 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -6455,10 +5925,6 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: false - /is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} dev: false @@ -6489,21 +5955,10 @@ packages: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: false - /is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} dev: false - /is-html@3.1.0: - resolution: {integrity: sha512-eHrJ9L14RlcKIFXh+RlqVYiRPGp8YhSn5pSNibDLtouaJdDcn3R0Fyu3mWTXQeKCQiLoiR2V8sPPzoQSomukSg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - html-tags: 3.3.1 - dev: false - /is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -6548,12 +6003,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - dependencies: - '@types/estree': 1.0.5 - dev: false - /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -6574,11 +6023,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: false - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6650,6 +6094,7 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /isomorphic-fetch@2.2.1: resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} @@ -6720,20 +6165,16 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 20.12.5 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: false - /jiti@1.17.1: resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} hasBin: true dev: false + /jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -6771,13 +6212,9 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /json-parse-even-better-errors@3.0.1: - resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -6939,11 +6376,6 @@ packages: strip-bom: 3.0.0 dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: false - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -6969,6 +6401,10 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false + /lodash-es@4.17.22: + resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + dev: false + /lodash._getnative@3.9.1: resolution: {integrity: sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==} dev: false @@ -7026,13 +6462,6 @@ packages: get-func-name: 2.0.2 dev: true - /lowlight@1.20.0: - resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} - dependencies: - fault: 1.0.4 - highlight.js: 10.7.3 - dev: false - /lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -7096,9 +6525,9 @@ packages: engines: {node: '>=8'} dev: true - /markdown-extensions@1.1.1: - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} - engines: {node: '>=0.10.0'} + /markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} dev: false /markdown-it@10.0.0: @@ -7131,21 +6560,13 @@ packages: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} dev: true - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + /mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} dependencies: - '@types/mdast': 3.0.15 + '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 dev: false /mdast-util-from-markdown@1.3.1: @@ -7167,11 +6588,11 @@ packages: - supports-color dev: false - /mdast-util-from-markdown@2.0.0: - resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + /mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} dependencies: - '@types/mdast': 4.0.3 - '@types/unist': 3.0.2 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 @@ -7186,58 +6607,71 @@ packages: - supports-color dev: false - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + /mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} dependencies: - '@types/mdast': 3.0.15 + '@types/mdast': 4.0.4 ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.0 dev: false - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + /mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color dev: false - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color dev: false - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} dependencies: - '@types/mdast': 3.0.15 + '@types/mdast': 4.0.4 + devlop: 1.1.0 markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color dev: false - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color dev: false - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + /mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color dev: false @@ -7246,87 +6680,56 @@ packages: resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} dependencies: '@types/hast': 3.0.4 - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.4 devlop: 1.1.0 longest-streak: 3.1.0 - mdast-util-from-markdown: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 unist-util-remove-position: 5.0.0 transitivePeerDependencies: - supports-color dev: false - /mdast-util-mdx-expression@1.3.2: - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-mdx-jsx@2.1.4: - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} + /mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - ccount: 2.0.1 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - parse-entities: 4.0.1 - stringify-entities: 4.0.4 - unist-util-remove-position: 4.0.2 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color dev: false - /mdast-util-mdx-jsx@3.1.2: - resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + /mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 - '@types/mdast': 4.0.3 - '@types/unist': 3.0.2 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.1 stringify-entities: 4.0.4 - unist-util-remove-position: 5.0.0 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 transitivePeerDependencies: - supports-color dev: false - /mdast-util-mdx@2.0.1: - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdx-jsx: 2.1.4 - mdast-util-mdxjs-esm: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-mdxjs-esm@1.3.1: - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} + /mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color dev: false @@ -7336,62 +6739,44 @@ packages: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color dev: false - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - dependencies: - '@types/mdast': 3.0.15 - unist-util-is: 5.2.1 - dev: false - /mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} dependencies: - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.4 unist-util-is: 6.0.0 dev: false - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + /mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 dev: false - /mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + /mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} dependencies: - '@types/mdast': 4.0.3 - '@types/unist': 3.0.2 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -7406,7 +6791,7 @@ packages: /mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.4 dev: false /mdast-util-toc@6.1.1: @@ -7434,8 +6819,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /medium-zoom@1.0.8: - resolution: {integrity: sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==} + /medium-zoom@1.1.0: + resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} dev: false /memoize-one@5.2.1: @@ -7481,6 +6866,7 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -7572,76 +6958,97 @@ packages: micromark-util-types: 2.0.0 dev: false - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + /micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + 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.2 dev: false - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + /micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: false - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + /micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.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 dev: false - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + /micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + devlop: 1.1.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 dev: false - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + /micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} dependencies: - micromark-util-types: 1.1.0 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: false - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + micromark-util-types: 2.0.0 dev: false - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + /micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 dev: false /micromark-extension-math@3.0.0: @@ -7656,65 +7063,65 @@ packages: micromark-util-types: 2.0.0 dev: false - /micromark-extension-mdx-expression@1.0.8: - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} + /micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} dependencies: '@types/estree': 1.0.5 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: false - /micromark-extension-mdx-jsx@1.0.5: - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} + /micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} dependencies: - '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - estree-util-is-identifier-name: 2.1.0 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 dev: false - /micromark-extension-mdx-md@1.0.1: - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} + /micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} dependencies: - micromark-util-types: 1.1.0 + micromark-util-types: 2.0.0 dev: false - /micromark-extension-mdxjs-esm@1.0.5: - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} + /micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} dependencies: '@types/estree': 1.0.5 - micromark-core-commonmark: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 dev: false - /micromark-extension-mdxjs@1.0.1: - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} + /micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - micromark-extension-mdx-expression: 1.0.8 - micromark-extension-mdx-jsx: 1.0.5 - micromark-extension-mdx-md: 1.0.1 - micromark-extension-mdxjs-esm: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 dev: false /micromark-factory-destination@1.1.0: @@ -7751,17 +7158,18 @@ packages: micromark-util-types: 2.0.0 dev: false - /micromark-factory-mdx-expression@1.0.9: - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} + /micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} dependencies: '@types/estree': 1.0.5 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 dev: false /micromark-factory-space@1.1.0: @@ -7778,6 +7186,13 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + dev: false + /micromark-factory-title@1.1.0: resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} dependencies: @@ -7814,6 +7229,15 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.2 + dev: false + /micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} dependencies: @@ -7828,6 +7252,13 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.2 + dev: false + /micromark-util-chunked@1.1.0: resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} dependencies: @@ -7908,17 +7339,16 @@ packages: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} dev: false - /micromark-util-events-to-acorn@1.2.3: - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} + /micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} dependencies: - '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - '@types/unist': 2.0.10 - estree-util-visit: 1.2.1 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 dev: false /micromark-util-html-tag-name@1.2.0: @@ -8003,6 +7433,10 @@ packages: resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} dev: false + /micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + dev: false + /micromark@3.2.0: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} dependencies: @@ -8051,6 +7485,30 @@ packages: - supports-color dev: false + /micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4(supports-color@5.5.0) + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + 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.2 + transitivePeerDependencies: + - supports-color + dev: false + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -8074,11 +7532,6 @@ packages: hasBin: true dev: false - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: false - /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -8172,6 +7625,7 @@ packages: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: true /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -8182,19 +7636,10 @@ packages: engines: {node: '>= 0.6'} dev: false - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: false - /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - /node-fetch@1.7.3: resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} dependencies: @@ -8214,15 +7659,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /node-fingerprint@0.0.2: resolution: {integrity: sha512-vPFfTD5EBJieQ4SI3v61fWxlV1kav3m9Dbejd6CjWhOJn8s+XMxpOOosCNAyIrUQ/jJOlPndfrZ0lSw4+RgwcA==} dev: false @@ -8271,13 +7707,6 @@ packages: string.prototype.padend: 3.1.6 dev: true - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: false - /npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8331,13 +7760,6 @@ packages: dependencies: wrappy: 1.0.2 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: false - /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -8345,6 +7767,18 @@ packages: mimic-fn: 4.0.0 dev: true + /oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + dev: false + + /oniguruma-to-es@4.3.4: + resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.1.0 + regex-recursion: 6.0.2 + dev: false + /opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -8435,17 +7869,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 - dev: false - /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: @@ -8459,6 +7882,18 @@ packages: is-hexadecimal: 2.0.1 dev: false + /parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + dependencies: + '@types/unist': 2.0.10 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + dev: false + /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -8476,10 +7911,6 @@ packages: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -8518,6 +7949,7 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -8569,21 +8001,22 @@ packages: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} dev: false - /periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - dependencies: - '@types/estree': 1.0.5 - estree-walker: 3.0.3 - is-reference: 3.0.2 - dev: false - /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + dev: false + /pidtree@0.3.1: resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} engines: {node: '>=0.10'} @@ -8664,15 +8097,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - dev: false - /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -8680,6 +8104,7 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 + dev: true /preferred-pm@3.1.3: resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} @@ -8723,16 +8148,6 @@ packages: react-is: 18.2.0 dev: true - /prismjs@1.27.0: - resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} - engines: {node: '>=6'} - dev: false - - /prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: false - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -8741,16 +8156,14 @@ packages: react-is: 16.13.1 dev: false - /property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - dependencies: - xtend: 4.0.2 - dev: false - /property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} dev: false + /property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + dev: false + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -8774,6 +8187,7 @@ packages: /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + dev: true /pvtsutils@1.3.5: resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} @@ -8817,12 +8231,6 @@ packages: engines: {node: '>=8'} dev: true - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -8895,27 +8303,17 @@ packages: react: 18.2.0 scheduler: 0.23.0 - /react-fast-compare@2.0.4: - resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} - dev: false - - /react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - dev: false - - /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + /react-dom@19.2.3(react@19.2.3): + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + react: ^19.2.3 dependencies: - '@babel/runtime': 7.24.4 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 + react: 19.2.3 + scheduler: 0.27.0 + dev: false + + /react-fast-compare@2.0.4: + resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} dev: false /react-helmet@5.2.1(react@16.13.1): @@ -8974,6 +8372,16 @@ packages: warning: 4.0.3 dev: false + /react-reconciler@0.33.0(react@19.2.3): + resolution: {integrity: sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^19.2.0 + dependencies: + react: 19.2.3 + scheduler: 0.27.0 + dev: false + /react-redux@7.2.9(react-dom@16.14.0)(react@16.13.1): resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} peerDependencies: @@ -9017,8 +8425,8 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + /react-refresh@0.18.0: + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} engines: {node: '>=0.10.0'} dev: false @@ -9036,17 +8444,16 @@ packages: warning: 4.0.3 dev: false - /react-router-dom@6.22.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==} - engines: {node: '>=14.0.0'} + /react-router-dom@7.11.0(react-dom@19.2.3)(react@19.2.3): + resolution: {integrity: sha512-e49Ir/kMGRzFOOrYQBdoitq3ULigw4lKbAyKusnvtDu2t4dBX4AGYPrzNvorXmVuOyeakai6FUPW5MmibvVG8g==} + engines: {node: '>=20.0.0'} peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react: '>=18' + react-dom: '>=18' dependencies: - '@remix-run/router': 1.15.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-router: 6.22.3(react@18.2.0) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-router: 7.11.0(react-dom@19.2.3)(react@19.2.3) dev: false /react-router@4.3.1(react@16.13.1): @@ -9064,14 +8471,20 @@ packages: warning: 4.0.3 dev: false - /react-router@6.22.3(react@18.2.0): - resolution: {integrity: sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==} - engines: {node: '>=14.0.0'} + /react-router@7.11.0(react-dom@19.2.3)(react@19.2.3): + resolution: {integrity: sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==} + engines: {node: '>=20.0.0'} peerDependencies: - react: '>=16.8' + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true dependencies: - '@remix-run/router': 1.15.3 - react: 18.2.0 + cookie: 1.1.1 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + set-cookie-parser: 2.7.2 dev: false /react-side-effect@1.2.0(react@16.13.1): @@ -9096,19 +8509,6 @@ packages: react-dom: 16.14.0(react@16.13.1) dev: false - /react-syntax-highlighter@15.5.0(react@18.2.0): - resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} - peerDependencies: - react: '>= 0.14.0' - dependencies: - '@babel/runtime': 7.24.4 - highlight.js: 10.7.3 - lowlight: 1.20.0 - prismjs: 1.29.0 - react: 18.2.0 - refractor: 3.6.0 - dev: false - /react-transition-group@2.9.0(react-dom@16.14.0)(react@16.13.1): resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} peerDependencies: @@ -9123,20 +8523,6 @@ packages: react-lifecycles-compat: 3.0.4 dev: false - /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - dependencies: - '@babel/runtime': 7.24.4 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /react-virtualized@9.22.5(react-dom@16.14.0)(react@16.13.1): resolution: {integrity: sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==} peerDependencies: @@ -9168,6 +8554,11 @@ packages: dependencies: loose-envify: 1.4.0 + /react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} + dev: false + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -9217,6 +8608,45 @@ packages: resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} dev: false + /recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + dependencies: + '@types/estree': 1.0.5 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + dev: false + + /recma-jsx@1.0.1(acorn@8.11.3): + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + dev: false + + /recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + dependencies: + '@types/estree': 1.0.5 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + dev: false + + /recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + dependencies: + '@types/estree': 1.0.5 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + dev: false + /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -9273,14 +8703,6 @@ packages: '@babel/runtime': 7.24.4 dev: false - /refractor@3.6.0: - resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} - dependencies: - hastscript: 6.0.0 - parse-entities: 2.0.0 - prismjs: 1.27.0 - dev: false - /regenerator-runtime@0.11.1: resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: false @@ -9292,6 +8714,22 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + /regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + dependencies: + regex-utilities: 2.3.0 + dev: false + + /regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + dev: false + + /regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + dependencies: + regex-utilities: 2.3.0 + dev: false + /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -9302,16 +8740,15 @@ packages: set-function-name: 2.0.2 dev: true - /rehype-external-links@2.1.0: - resolution: {integrity: sha512-2YMJZVM1hxZnwl9IPkbN5Pjn78kXkAX7lq9VEtlaGA29qIls25vZN+ucNIJdbQUe+9NNFck17BiOhGmsD6oLIg==} + /rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} dependencies: - '@types/hast': 2.3.10 - extend: 3.0.2 - hast-util-is-element: 2.1.3 + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.3.0 + hast-util-is-element: 3.0.0 is-absolute-url: 4.0.1 space-separated-tokens: 2.0.2 - unified: 10.1.2 - unist-util-visit: 4.1.2 + unist-util-visit: 5.0.0 dev: false /rehype-katex@7.0.0: @@ -9323,119 +8760,112 @@ packages: hast-util-to-text: 4.0.1 katex: 0.16.10 unist-util-visit-parents: 6.0.1 - vfile: 6.0.1 + vfile: 6.0.3 dev: false - /rehype-stringify@9.0.4: - resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} + /rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} dependencies: - '@types/hast': 2.3.10 - hast-util-to-html: 8.0.4 - unified: 10.1.2 + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 dev: false - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + /rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 - unified: 10.1.2 + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 transitivePeerDependencies: - supports-color dev: false - /remark-html@15.0.2: - resolution: {integrity: sha512-/CIOI7wzHJzsh48AiuIyIe1clxVkUtreul73zcCXLub0FmnevQE0UMFDQm7NUx8/3rl/4zCshlMfqBdWScQthw==} + /remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} dependencies: - '@types/mdast': 3.0.15 - hast-util-sanitize: 4.1.0 - hast-util-to-html: 8.0.4 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color dev: false /remark-math@6.0.0: resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} dependencies: - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.4 mdast-util-math: 3.0.0 micromark-extension-math: 3.0.0 - unified: 11.0.4 + unified: 11.0.5 transitivePeerDependencies: - supports-color dev: false - /remark-mdc@1.2.0: - resolution: {integrity: sha512-zK0GYvlhl9fw5gg1TYA2BmC06+wQaeQ0QewhJZI/6rocsP0Rfw3s2kbC5yeIyu9//kpBAwh6kJPFSDLiQbcFQQ==} - dependencies: - '@types/mdast': 4.0.3 - '@types/unist': 3.0.2 - flat: 5.0.2 - js-yaml: 4.1.0 - mdast-util-from-markdown: 2.0.0 - mdast-util-to-markdown: 2.1.0 - micromark: 4.0.0 - micromark-core-commonmark: 2.0.0 - micromark-factory-space: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-types: 2.0.0 - parse-entities: 4.0.1 + /remark-mdc@3.10.0: + resolution: {integrity: sha512-gJhrSs4bGyqr7eSuLoaLlpmiDZrJ9fP/8gTA/w1CnKnW/mfxc9VKM+ndzpOxHQnpAU4tjD8QqF6SMLiOvIVTYA==} + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + flat: 6.0.1 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark: 4.0.2 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 scule: 1.3.0 stringify-entities: 4.0.4 - unified: 11.0.4 + unified: 11.0.5 unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 + yaml: 2.8.2 transitivePeerDependencies: - supports-color dev: false - /remark-mdx@2.3.0: - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} + /remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} dependencies: - mdast-util-mdx: 2.0.1 - micromark-extension-mdxjs: 1.0.1 + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color dev: false - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.0 + unified: 11.0.5 transitivePeerDependencies: - supports-color dev: false - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - dev: false - - /remark-stringify@10.0.3: - resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==} + /remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - unified: 10.1.2 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 dev: false - /remark@14.0.3: - resolution: {integrity: sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==} + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} dependencies: - '@types/mdast': 3.0.15 - remark-parse: 10.0.2 - remark-stringify: 10.0.3 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 dev: false /remove-trailing-separator@1.1.0: @@ -9522,33 +8952,6 @@ packages: fsevents: 2.3.3 dev: true - /rslog@1.2.1: - resolution: {integrity: sha512-XDMoa858LLZnf4i2kUwyjBQGplXaoSoIfMQf9iji2ano5t1OfSiJsSYpHeOH26DJEc5hdje/4K3wiT6TWL3cRA==} - engines: {node: '>=14.17.6'} - dev: false - - /rspack-plugin-virtual-module@0.1.12: - resolution: {integrity: sha512-qyBM9XsP7oxBQSms2cr715XOeoDi6p5hUYXtlNDfst0jha8vfWVPNeC7j5+j5dG+yt//1OCmLaOY2rWqPSVXDg==} - dependencies: - fs-extra: 11.2.0 - dev: false - - /rspress@1.17.1(webpack@5.91.0): - resolution: {integrity: sha512-/Gi0oMFfgXXChudL37cEsujxPrtsgWvka0oLoVV6k03kKpNQDynzpMwbVB+iqqVafD4W2mHjYF6mqPjRaZqHFw==} - hasBin: true - dependencies: - '@rsbuild/core': 0.5.1 - '@rspress/core': 1.17.1(webpack@5.91.0) - '@rspress/shared': 1.17.1 - cac: 6.7.14 - chalk: 5.3.0 - chokidar: 3.6.0 - transitivePeerDependencies: - - '@swc/helpers' - - supports-color - - webpack - dev: false - /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -9603,13 +9006,14 @@ packages: dependencies: loose-envify: 1.4.0 - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + /scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + dev: false + + /scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + compute-scroll-into-view: 3.1.1 dev: false /scule@1.3.0: @@ -9673,12 +9077,6 @@ packages: - supports-color dev: false - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - dependencies: - randombytes: 2.1.0 - dev: false - /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -9699,6 +9097,10 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + dev: false + /set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -9740,6 +9142,7 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} @@ -9749,11 +9152,25 @@ packages: /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true + /shiki@3.20.0: + resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==} + dependencies: + '@shikijs/core': 3.20.0 + '@shikijs/engine-javascript': 3.20.0 + '@shikijs/engine-oniguruma': 3.20.0 + '@shikijs/langs': 3.20.0 + '@shikijs/themes': 3.20.0 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + dev: false + /side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -9769,6 +9186,7 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -9804,28 +9222,13 @@ packages: /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: false - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: false + dev: true /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: false - /space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - dev: false - /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false @@ -9866,6 +9269,10 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: false + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -9911,6 +9318,16 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 + dev: true + + /string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.6.0 + strip-ansi: 7.1.0 + dev: false /string.prototype.padend@3.1.6: resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} @@ -9979,11 +9396,6 @@ packages: engines: {node: '>=4'} dev: true - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: false - /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -10014,10 +9426,16 @@ packages: escape-string-regexp: 1.0.5 dev: false - /style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + /style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + dependencies: + style-to-object: 1.0.14 + dev: false + + /style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} dependencies: - inline-style-parser: 0.1.1 + inline-style-parser: 0.2.7 dev: false /styled-components@4.4.1(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0): @@ -10139,13 +9557,7 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: false + dev: true /supports-color@9.4.0: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} @@ -10190,51 +9602,11 @@ packages: strip-ansi: 6.0.1 dev: true - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: false - /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} dev: true - /terser-webpack-plugin@5.3.10(webpack@5.91.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.30.3 - webpack: 5.91.0 - dev: false - - /terser@5.30.3: - resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: false - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -10265,11 +9637,24 @@ packages: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true + /tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + dev: false + /tinypool@0.8.3: resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} engines: {node: '>=14.0.0'} dev: true + /tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + dev: false + /tinyspy@2.2.1: resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} @@ -10371,6 +9756,10 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false + /tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + dev: false + /tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} @@ -10511,41 +9900,31 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + /unhead@2.1.1: + resolution: {integrity: sha512-NOt8n2KybAOxSLfNXegAVai4SGU8bPKqWnqCzNAvnRH2i8mW+0bbFjN/L75LBgCSTiOjJSpANe5w2V34Grr7Cw==} dependencies: - '@types/unist': 2.0.10 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 5.3.7 + hookable: 5.5.3 dev: false - /unified@11.0.4: - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + /unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 bail: 2.0.2 devlop: 1.1.0 extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.1 + vfile: 6.0.3 dev: false /unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 dev: false - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: false - /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: @@ -10558,29 +9937,22 @@ packages: '@types/unist': 3.0.2 dev: false - /unist-util-position-from-estree@1.1.2: - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} - dependencies: - '@types/unist': 2.0.10 - dev: false - - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + /unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 3.0.3 dev: false - /unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} dependencies: - '@types/unist': 2.0.10 - unist-util-visit: 4.1.2 + '@types/unist': 3.0.3 dev: false /unist-util-remove-position@5.0.0: resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-visit: 5.0.0 dev: false @@ -10593,13 +9965,13 @@ packages: /unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false - /unist-util-visit-children@2.0.2: - resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} + /unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 3.0.3 dev: false /unist-util-visit-parents@5.1.3: @@ -10616,6 +9988,13 @@ packages: unist-util-is: 6.0.0 dev: false + /unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + dev: false + /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: @@ -10662,13 +10041,14 @@ packages: dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 dev: false /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + dev: true /urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} @@ -10745,75 +10125,51 @@ packages: engines: {node: '>= 0.8'} dev: false - /vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} - dependencies: - '@types/unist': 2.0.10 - vfile: 5.3.7 - dev: false - /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} dependencies: - '@types/unist': 3.0.2 - vfile: 6.0.1 - dev: false - - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - dependencies: - '@types/unist': 2.0.10 - unist-util-stringify-position: 3.0.3 + '@types/unist': 3.0.3 + vfile: 6.0.3 dev: false /vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 dev: false - /vfile-reporter@7.0.5: - resolution: {integrity: sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==} + /vfile-reporter@8.1.1: + resolution: {integrity: sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==} dependencies: '@types/supports-color': 8.1.3 - string-width: 5.1.2 + string-width: 6.1.0 supports-color: 9.4.0 - unist-util-stringify-position: 3.0.3 - vfile: 5.3.7 - vfile-message: 3.1.4 - vfile-sort: 3.0.1 - vfile-statistics: 2.0.1 - dev: false - - /vfile-sort@3.0.1: - resolution: {integrity: sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==} - dependencies: - vfile: 5.3.7 - vfile-message: 3.1.4 + unist-util-stringify-position: 4.0.0 + vfile: 6.0.3 + vfile-message: 4.0.2 + vfile-sort: 4.0.0 + vfile-statistics: 3.0.0 dev: false - /vfile-statistics@2.0.1: - resolution: {integrity: sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==} + /vfile-sort@4.0.0: + resolution: {integrity: sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==} dependencies: - vfile: 5.3.7 - vfile-message: 3.1.4 + vfile: 6.0.3 + vfile-message: 4.0.2 dev: false - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + /vfile-statistics@3.0.0: + resolution: {integrity: sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==} dependencies: - '@types/unist': 2.0.10 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 + vfile: 6.0.3 + vfile-message: 4.0.2 dev: false - /vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + /vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} dependencies: - '@types/unist': 3.0.2 - unist-util-stringify-position: 4.0.0 + '@types/unist': 3.0.3 vfile-message: 4.0.2 dev: false @@ -10938,14 +10294,6 @@ packages: loose-envify: 1.4.0 dev: false - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - dev: false - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: @@ -11003,51 +10351,6 @@ packages: - utf-8-validate dev: false - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: false - - /webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 - es-module-lexer: 1.5.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.91.0) - watchpack: 2.4.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: false - /whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: false @@ -11105,6 +10408,7 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: true /why-is-node-running@2.2.2: resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} @@ -11206,11 +10510,6 @@ packages: optional: true dev: false - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: false - /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true @@ -11231,12 +10530,10 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yaml-front-matter@4.1.1: - resolution: {integrity: sha512-ULGbghCLsN8Hs8vfExlqrJIe8Hl2TUjD7/zsIGMP8U+dgRXEsDXk4yydxeZJgdGiimP1XB7zhmhOB4/HyfqOyQ==} + /yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} hasBin: true - dependencies: - commander: 6.2.1 - js-yaml: 3.14.1 dev: false /yargs-parser@18.1.3: @@ -11306,19 +10603,6 @@ packages: resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: false - /zod-validation-error@1.3.1(zod@3.22.4): - resolution: {integrity: sha512-cNEXpla+tREtNdAnNKY4xKY1SGOn2yzyuZMu4O0RQylX9apRpUjNcPkEc3uHIAr5Ct7LenjZt6RzjEH6+JsqVQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - zod: ^3.18.0 - dependencies: - zod: 3.22.4 - dev: false - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false - /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: false From 0fa1359d46fb1df41583963d1c5477d098071f40 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 03:16:20 +0800 Subject: [PATCH 03/15] fix: additional fixes for Rspress V2 compatibility - Fix logger import path in gh-pages plugin (use @rspress/core instead of @rspress/core/logger) - Remove unused @ts-expect-error in katex plugin - Upgrade mdast-util-toc to ^7.1.0 in toc plugin - Fix type annotations in toc plugin for mdast v4 compatibility --- packages/rspress-plugin-gh-pages/src/index.ts | 2 +- packages/rspress-plugin-katex/src/index.ts | 1 - packages/rspress-plugin-toc/package.json | 4 +- .../src/remark-plugins/remark-toc.ts | 6 +-- pnpm-lock.yaml | 49 ++++++------------- 5 files changed, 19 insertions(+), 43 deletions(-) diff --git a/packages/rspress-plugin-gh-pages/src/index.ts b/packages/rspress-plugin-gh-pages/src/index.ts index 0318e22..bc6bfda 100644 --- a/packages/rspress-plugin-gh-pages/src/index.ts +++ b/packages/rspress-plugin-gh-pages/src/index.ts @@ -1,6 +1,6 @@ import chalk from 'chalk'; import ghpages from 'gh-pages'; -import { logger } from '@rspress/core/logger'; +import { logger } from '@rspress/core'; import type { MarkRequired } from 'rspress-plugin-devkit'; import type { RspressPlugin } from '@rspress/core'; diff --git a/packages/rspress-plugin-katex/src/index.ts b/packages/rspress-plugin-katex/src/index.ts index d2024b7..53c0a8c 100644 --- a/packages/rspress-plugin-katex/src/index.ts +++ b/packages/rspress-plugin-katex/src/index.ts @@ -20,7 +20,6 @@ export default function rspressPluginKatex( globalStyles: katexCss, markdown: { remarkPlugins: [[remarkMath, options]], - // @ts-expect-error rehypePlugins: [[rehypeKatex, options]], }, }; diff --git a/packages/rspress-plugin-toc/package.json b/packages/rspress-plugin-toc/package.json index 05c166d..07d6082 100644 --- a/packages/rspress-plugin-toc/package.json +++ b/packages/rspress-plugin-toc/package.json @@ -34,7 +34,7 @@ "docs:dev": "rspress dev" }, "dependencies": { - "mdast-util-toc": "^6.1.1", + "mdast-util-toc": "^7.1.0", "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { @@ -47,4 +47,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts b/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts index c64c4c5..ff98885 100644 --- a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts +++ b/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts @@ -47,13 +47,10 @@ export default function remarkTocPluginFactory(): RemarkPluginFactory Date: Wed, 7 Jan 2026 03:36:35 +0800 Subject: [PATCH 04/15] chore: upgrade --- .../rspress-plugin-file-tree/package.json | 12 +- .../rspress-plugin-file-tree/rslib.config.ts | 35 ++ .../{ => src}/components/Tree/Expand.tsx | 0 .../{ => src}/components/Tree/FileIcon.tsx | 0 .../components/Tree/FileTreeRender.tsx | 0 .../{ => src}/components/Tree/Tree.tsx | 0 .../{ => src}/components/Tree/TreeContext.tsx | 0 .../{ => src}/components/Tree/TreeFile.tsx | 0 .../{ => src}/components/Tree/TreeFolder.tsx | 0 .../components/Tree/TreeFolderIcon.tsx | 0 .../{ => src}/components/Tree/TreeIndents.tsx | 0 .../components/Tree/TreeStatusIcon.tsx | 0 .../{ => src}/components/Tree/index.less | 0 .../{ => src}/components/helpers.ts | 0 .../{ => src}/components/presets.ts | 0 .../rspress-plugin-file-tree/src/index.ts | 7 +- .../rspress-plugin-file-tree/tsconfig.json | 4 +- pnpm-lock.yaml | 362 ++++++++++++++++-- 18 files changed, 373 insertions(+), 47 deletions(-) create mode 100644 packages/rspress-plugin-file-tree/rslib.config.ts rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/Expand.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/FileIcon.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/FileTreeRender.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/Tree.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeContext.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeFile.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeFolder.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeFolderIcon.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeIndents.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/TreeStatusIcon.tsx (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/Tree/index.less (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/helpers.ts (100%) rename packages/rspress-plugin-file-tree/{ => src}/components/presets.ts (100%) diff --git a/packages/rspress-plugin-file-tree/package.json b/packages/rspress-plugin-file-tree/package.json index ffbf908..f3002e3 100644 --- a/packages/rspress-plugin-file-tree/package.json +++ b/packages/rspress-plugin-file-tree/package.json @@ -3,8 +3,7 @@ "version": "0.4.0", "description": "Rspress plugin that add support for file tree component.", "files": [ - "dist", - "components" + "dist" ], "keywords": [ "rspress", @@ -28,8 +27,8 @@ "access": "public" }, "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", + "build": "rslib build", + "dev": "rslib build -w", "docs:build": "rspress build", "docs:dev": "rspress dev" }, @@ -37,6 +36,9 @@ "rspress-plugin-devkit": "workspace:^" }, "devDependencies": { + "@rsbuild/plugin-less": "^1.2.1", + "@rsbuild/plugin-react": "^1.1.1", + "@rslib/core": "^0.19.1", "@types/node": "^20.12.5", "@types/react": "^18.2.74", "typescript": "^5.4.4" @@ -44,4 +46,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-file-tree/rslib.config.ts b/packages/rspress-plugin-file-tree/rslib.config.ts new file mode 100644 index 0000000..e8cceb4 --- /dev/null +++ b/packages/rspress-plugin-file-tree/rslib.config.ts @@ -0,0 +1,35 @@ +import { defineConfig } from '@rslib/core'; +import { pluginLess } from '@rsbuild/plugin-less'; +import { pluginReact } from '@rsbuild/plugin-react'; + +export default defineConfig({ + lib: [ + { + format: 'esm', + syntax: 'es2021', + autoExtension: true, + bundle: false, + dts: true, + source: { + entry: { + index: ['./src/**/*.{tsx,ts,less}', '!./src/**/*.test.{ts,tsx}'], + }, + }, + }, + ], + output: { + target: 'web', + distPath: { + root: './dist', + }, + externals: { + react: 'react', + 'react-dom': 'react-dom', + '@rspress/core/runtime': '@rspress/core/runtime', + }, + filename: { + js: '[name].js', + }, + }, + plugins: [pluginReact(), pluginLess()], +}); diff --git a/packages/rspress-plugin-file-tree/components/Tree/Expand.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/Expand.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/FileIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/FileIcon.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/FileTreeRender.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/FileTreeRender.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/Tree.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/Tree.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeContext.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeContext.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeFile.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeFile.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeFolder.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeFolder.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeFolderIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeFolderIcon.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeIndents.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeIndents.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/TreeStatusIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/TreeStatusIcon.tsx rename to packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx diff --git a/packages/rspress-plugin-file-tree/components/Tree/index.less b/packages/rspress-plugin-file-tree/src/components/Tree/index.less similarity index 100% rename from packages/rspress-plugin-file-tree/components/Tree/index.less rename to packages/rspress-plugin-file-tree/src/components/Tree/index.less diff --git a/packages/rspress-plugin-file-tree/components/helpers.ts b/packages/rspress-plugin-file-tree/src/components/helpers.ts similarity index 100% rename from packages/rspress-plugin-file-tree/components/helpers.ts rename to packages/rspress-plugin-file-tree/src/components/helpers.ts diff --git a/packages/rspress-plugin-file-tree/components/presets.ts b/packages/rspress-plugin-file-tree/src/components/presets.ts similarity index 100% rename from packages/rspress-plugin-file-tree/components/presets.ts rename to packages/rspress-plugin-file-tree/src/components/presets.ts diff --git a/packages/rspress-plugin-file-tree/src/index.ts b/packages/rspress-plugin-file-tree/src/index.ts index 950071d..0961973 100644 --- a/packages/rspress-plugin-file-tree/src/index.ts +++ b/packages/rspress-plugin-file-tree/src/index.ts @@ -13,6 +13,8 @@ interface RspressPluginFileTreeOptions { initialExpandDepth?: number; } +const PACKAGE_ROOT = path.resolve(__dirname, '../'); + export default function rspressPluginFileTree( options: RspressPluginFileTreeOptions = {}, ): RspressPlugin { @@ -23,8 +25,8 @@ export default function rspressPluginFileTree( { lang: 'tree', componentPath: path.join( - __dirname, - '../components/Tree/FileTreeRender.tsx', + PACKAGE_ROOT, + 'dist/components/Tree/FileTreeRender', ), propsProvider(code) { return { @@ -39,6 +41,7 @@ export default function rspressPluginFileTree( return { name: 'rspress-plugin-file-tree', // config not needed for Rspress V2 + globalStyles: path.join(PACKAGE_ROOT, 'dist/components/Tree/index.css'), markdown: { remarkPlugins: [remarkFileTree.remarkPlugin], globalComponents: remarkFileTree.mdxComponents, diff --git a/packages/rspress-plugin-file-tree/tsconfig.json b/packages/rspress-plugin-file-tree/tsconfig.json index 6be36b2..50a938d 100644 --- a/packages/rspress-plugin-file-tree/tsconfig.json +++ b/packages/rspress-plugin-file-tree/tsconfig.json @@ -1,7 +1,9 @@ { "compilerOptions": { "rootDir": "src", - "outDir": "dist" + "outDir": "dist", + "moduleResolution": "bundler", + "declarationMap": false }, "include": ["src"], "extends": "../../tsconfig.base.json" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8f3216..7d9b6d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -220,6 +220,15 @@ importers: specifier: workspace:^ version: link:../rspress-plugin-devkit devDependencies: + '@rsbuild/plugin-less': + specifier: ^1.2.1 + version: 1.5.0(@rsbuild/core@1.6.15) + '@rsbuild/plugin-react': + specifier: ^1.1.1 + version: 1.4.2(@rsbuild/core@1.6.15) + '@rslib/core': + specifier: ^0.19.1 + version: 0.19.1(typescript@5.4.4) '@types/node': specifier: ^20.12.5 version: 20.12.5 @@ -669,6 +678,102 @@ packages: - encoding dev: false + /@ast-grep/napi-darwin-arm64@0.37.0: + resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-darwin-x64@0.37.0: + resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-linux-arm64-gnu@0.37.0: + resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-linux-arm64-musl@0.37.0: + resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-linux-x64-gnu@0.37.0: + resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-linux-x64-musl@0.37.0: + resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-win32-arm64-msvc@0.37.0: + resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-win32-ia32-msvc@0.37.0: + resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi-win32-x64-msvc@0.37.0: + resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@ast-grep/napi@0.37.0: + resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + engines: {node: '>= 10'} + optionalDependencies: + '@ast-grep/napi-darwin-arm64': 0.37.0 + '@ast-grep/napi-darwin-x64': 0.37.0 + '@ast-grep/napi-linux-arm64-gnu': 0.37.0 + '@ast-grep/napi-linux-arm64-musl': 0.37.0 + '@ast-grep/napi-linux-x64-gnu': 0.37.0 + '@ast-grep/napi-linux-x64-musl': 0.37.0 + '@ast-grep/napi-win32-arm64-msvc': 0.37.0 + '@ast-grep/napi-win32-ia32-msvc': 0.37.0 + '@ast-grep/napi-win32-x64-msvc': 0.37.0 + dev: true + /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} @@ -1123,7 +1228,6 @@ packages: dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 - dev: false optional: true /@emnapi/runtime@1.8.1: @@ -1131,7 +1235,6 @@ packages: requiresBuild: true dependencies: tslib: 2.8.1 - dev: false optional: true /@emnapi/wasi-threads@1.1.0: @@ -1139,7 +1242,6 @@ packages: requiresBuild: true dependencies: tslib: 2.8.1 - dev: false optional: true /@emotion/is-prop-valid@0.8.8: @@ -1785,21 +1887,36 @@ packages: /@module-federation/error-codes@0.21.6: resolution: {integrity: sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==} - dev: false + + /@module-federation/error-codes@0.22.0: + resolution: {integrity: sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==} + dev: true /@module-federation/runtime-core@0.21.6: resolution: {integrity: sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==} dependencies: '@module-federation/error-codes': 0.21.6 '@module-federation/sdk': 0.21.6 - dev: false + + /@module-federation/runtime-core@0.22.0: + resolution: {integrity: sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==} + dependencies: + '@module-federation/error-codes': 0.22.0 + '@module-federation/sdk': 0.22.0 + dev: true /@module-federation/runtime-tools@0.21.6: resolution: {integrity: sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==} dependencies: '@module-federation/runtime': 0.21.6 '@module-federation/webpack-bundler-runtime': 0.21.6 - dev: false + + /@module-federation/runtime-tools@0.22.0: + resolution: {integrity: sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==} + dependencies: + '@module-federation/runtime': 0.22.0 + '@module-federation/webpack-bundler-runtime': 0.22.0 + dev: true /@module-federation/runtime@0.21.6: resolution: {integrity: sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==} @@ -1807,18 +1924,34 @@ packages: '@module-federation/error-codes': 0.21.6 '@module-federation/runtime-core': 0.21.6 '@module-federation/sdk': 0.21.6 - dev: false + + /@module-federation/runtime@0.22.0: + resolution: {integrity: sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==} + dependencies: + '@module-federation/error-codes': 0.22.0 + '@module-federation/runtime-core': 0.22.0 + '@module-federation/sdk': 0.22.0 + dev: true /@module-federation/sdk@0.21.6: resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==} - dev: false + + /@module-federation/sdk@0.22.0: + resolution: {integrity: sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==} + dev: true /@module-federation/webpack-bundler-runtime@0.21.6: resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==} dependencies: '@module-federation/runtime': 0.21.6 '@module-federation/sdk': 0.21.6 - dev: false + + /@module-federation/webpack-bundler-runtime@0.22.0: + resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} + dependencies: + '@module-federation/runtime': 0.22.0 + '@module-federation/sdk': 0.22.0 + dev: true /@napi-rs/wasm-runtime@1.0.7: resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} @@ -1827,7 +1960,6 @@ packages: '@emnapi/core': 1.8.1 '@emnapi/runtime': 1.8.1 '@tybys/wasm-util': 0.10.1 - dev: false optional: true /@nodelib/fs.scandir@2.1.5: @@ -2056,7 +2188,28 @@ packages: '@swc/helpers': 0.5.18 core-js: 3.47.0 jiti: 2.6.1 - dev: false + + /@rsbuild/core@1.7.2: + resolution: {integrity: sha512-VAFO6cM+cyg2ntxNW6g3tB2Jc5J5mpLjLluvm7VtW2uceNzyUlVv41o66Yp1t1ikxd3ljtqegViXem62JqzveA==} + engines: {node: '>=18.12.0'} + hasBin: true + dependencies: + '@rspack/core': 1.7.1(@swc/helpers@0.5.18) + '@rspack/lite-tapable': 1.1.0 + '@swc/helpers': 0.5.18 + core-js: 3.47.0 + jiti: 2.6.1 + dev: true + + /@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.6.15): + resolution: {integrity: sha512-l+/J4/ZQl6UtCUqAaymo9H917ZJiqX8uxTYesG/xdyYJP2H3dn7fznjDP3d29eQhoY0wc3rcCvvjTYtpYG9OxQ==} + peerDependencies: + '@rsbuild/core': 1.x + dependencies: + '@rsbuild/core': 1.6.15 + deepmerge: 4.3.1 + reduce-configs: 1.1.1 + dev: true /@rsbuild/plugin-react@1.4.2(@rsbuild/core@1.6.15): resolution: {integrity: sha512-2rJb5mOuqVof2aDq4SbB1E65+0n1vjhAADipC88jvZRNuTOulg79fh7R4tsCiBMI4VWq46gSpwekiK8G5bq6jg==} @@ -2068,14 +2221,40 @@ packages: react-refresh: 0.18.0 transitivePeerDependencies: - webpack-hot-middleware - dev: false + + /@rslib/core@0.19.1(typescript@5.4.4): + resolution: {integrity: sha512-Fz+uknjf9BRE6tNax7zcZOZ8FX3FLT5kKcR10vHdo6IgCaMZpJxQmM62NNfv21kdy5u1PdIRgKFVpqP2QTarfg==} + engines: {node: '>=18.12.0'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7 + typescript: ^5 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + typescript: + optional: true + dependencies: + '@rsbuild/core': 1.7.2 + rsbuild-plugin-dts: 0.19.1(@rsbuild/core@1.7.2)(typescript@5.4.4) + typescript: 5.4.4 + transitivePeerDependencies: + - '@typescript/native-preview' + dev: true /@rspack/binding-darwin-arm64@1.6.8: resolution: {integrity: sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A==} cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-darwin-arm64@1.7.1: + resolution: {integrity: sha512-3C0w0kfCHfgOH+AP/Dx1bm/b3AR/or5CmU22Abevek0m95ndU3iT902eLcm9JNiMQnDQLBQbolfj5P591t0oPg==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true /@rspack/binding-darwin-x64@1.6.8: @@ -2083,7 +2262,14 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-darwin-x64@1.7.1: + resolution: {integrity: sha512-HTrBpdw2gWwcpJ3c8h4JF8B1YRNvrFT+K620ycttrlu/HvI4/U770BBJ/ej36R/hdh59JvMCGe+w49FyXv6rzg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true /@rspack/binding-linux-arm64-gnu@1.6.8: @@ -2091,7 +2277,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-linux-arm64-gnu@1.7.1: + resolution: {integrity: sha512-BX9yAPCO0WBFyOzKl9bSXT/cH27nnOJp02smIQMxfv7RNfwGkJg5GgakYcuYG+9U1HEFitBSzmwS2+dxDcAxlg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true /@rspack/binding-linux-arm64-musl@1.6.8: @@ -2099,7 +2292,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-linux-arm64-musl@1.7.1: + resolution: {integrity: sha512-maBX19XyiVkxzh/NA79ALetCobc4zUyoWkWLeCGyW5xKzhPVFatJp+qCiHqHkqUZcgRo+1i5ihoZ2bXmelIeZg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true /@rspack/binding-linux-x64-gnu@1.6.8: @@ -2107,7 +2307,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-linux-x64-gnu@1.7.1: + resolution: {integrity: sha512-8KJAeBLiWcN7zEc9aaS7LRJPZVtZuQU8mCsn+fRhdQDSc+a9FcTN8b6Lw29z8cejwbU6Gxr/8wk5XGexMWFaZA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true /@rspack/binding-linux-x64-musl@1.6.8: @@ -2115,7 +2322,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-linux-x64-musl@1.7.1: + resolution: {integrity: sha512-Gn9x5vhKRELvSoZ3ZjquY8eWtCXur0OsYnZ2/ump8mofM6IDaL7Qqu3Hf4Kud31PDH0tfz0jWf9piX32HHPmgg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true /@rspack/binding-wasm32-wasi@1.6.8: @@ -2124,7 +2338,15 @@ packages: requiresBuild: true dependencies: '@napi-rs/wasm-runtime': 1.0.7 - dev: false + optional: true + + /@rspack/binding-wasm32-wasi@1.7.1: + resolution: {integrity: sha512-2r9M5iVchmsFkp3sz7A5YnMm2TfpkB71LK3AoaRWKMfvf5oFky0GSGISYd2TCBASO+X2Qskaq+B24Szo8zH5FA==} + cpu: [wasm32] + requiresBuild: true + dependencies: + '@napi-rs/wasm-runtime': 1.0.7 + dev: true optional: true /@rspack/binding-win32-arm64-msvc@1.6.8: @@ -2132,7 +2354,14 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-win32-arm64-msvc@1.7.1: + resolution: {integrity: sha512-/WIHp982yqqqAuiz2WLtf1ofo9d1lHDGZJ7flxFllb1iMgnUeSRyX6stxEi11K3Rg6pQa7FdCZGKX/engyj2bw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true /@rspack/binding-win32-ia32-msvc@1.6.8: @@ -2140,7 +2369,14 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-win32-ia32-msvc@1.7.1: + resolution: {integrity: sha512-Kpela29n+kDGGsss6q/3qTd6n9VW7TOQaiA7t1YLdCCl8qqcdKlz/vWjFMd2MqgcSGC/16PvChE4sgpUvryfCQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true /@rspack/binding-win32-x64-msvc@1.6.8: @@ -2148,7 +2384,14 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false + optional: true + + /@rspack/binding-win32-x64-msvc@1.7.1: + resolution: {integrity: sha512-B/y4MWqP2Xeto1/HV0qtZNOMPSLrEVOqi2b7JSIXG/bhlf+3IAkDzEEoHs+ZikLR4C8hMaS0pVJsDGKFmGzC9A==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true /@rspack/binding@1.6.8: @@ -2164,7 +2407,21 @@ packages: '@rspack/binding-win32-arm64-msvc': 1.6.8 '@rspack/binding-win32-ia32-msvc': 1.6.8 '@rspack/binding-win32-x64-msvc': 1.6.8 - dev: false + + /@rspack/binding@1.7.1: + resolution: {integrity: sha512-qVTV1/UWpMSZktvK5A8+HolgR1Qf0nYR3Gg4Vax5x3/BcHDpwGZ0fbdFRUirGVWH/XwxZ81zoI6F2SZq7xbX+w==} + optionalDependencies: + '@rspack/binding-darwin-arm64': 1.7.1 + '@rspack/binding-darwin-x64': 1.7.1 + '@rspack/binding-linux-arm64-gnu': 1.7.1 + '@rspack/binding-linux-arm64-musl': 1.7.1 + '@rspack/binding-linux-x64-gnu': 1.7.1 + '@rspack/binding-linux-x64-musl': 1.7.1 + '@rspack/binding-wasm32-wasi': 1.7.1 + '@rspack/binding-win32-arm64-msvc': 1.7.1 + '@rspack/binding-win32-ia32-msvc': 1.7.1 + '@rspack/binding-win32-x64-msvc': 1.7.1 + dev: true /@rspack/core@1.6.8(@swc/helpers@0.5.18): resolution: {integrity: sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==} @@ -2179,11 +2436,24 @@ packages: '@rspack/binding': 1.6.8 '@rspack/lite-tapable': 1.1.0 '@swc/helpers': 0.5.18 - dev: false + + /@rspack/core@1.7.1(@swc/helpers@0.5.18): + resolution: {integrity: sha512-kRxfY8RRa6nU3/viDvAIP6CRpx+0rfXFRonPL0pHBx8u6HhV7m9rLEyaN6MWsLgNIAWkleFGb7tdo4ux2ljRJQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@module-federation/runtime-tools': 0.22.0 + '@rspack/binding': 1.7.1 + '@rspack/lite-tapable': 1.1.0 + '@swc/helpers': 0.5.18 + dev: true /@rspack/lite-tapable@1.1.0: resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} - dev: false /@rspack/plugin-react-refresh@1.5.3(react-refresh@0.18.0): resolution: {integrity: sha512-VOnQMf3YOHkTqJ0+BJbrYga4tQAWNwoAnkgwRauXB4HOyCc5wLfBs9DcOFla/2usnRT3Sq6CMVhXmdPobwAoTA==} @@ -2197,7 +2467,6 @@ packages: error-stack-parser: 2.1.4 html-entities: 2.6.0 react-refresh: 0.18.0 - dev: false /@rspress/core@2.0.0-rc.4(@types/react@18.2.74): resolution: {integrity: sha512-EHJjbc8yA/La6sJN3bjZus24KhSCdh5lEIVtjt7EBEnLteDN+wULzO1sFKj8agH3BXYE0XOuz2W1HbTTGfcGJQ==} @@ -2433,7 +2702,6 @@ packages: resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==} dependencies: tslib: 2.8.1 - dev: false /@ts-morph/common@0.23.0: resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} @@ -2449,7 +2717,6 @@ packages: requiresBuild: true dependencies: tslib: 2.8.1 - dev: false optional: true /@types/d3-scale-chromatic@3.0.3: @@ -3204,7 +3471,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001607 + caniuse-lite: 1.0.30001762 electron-to-chromium: 1.4.729 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -3262,8 +3529,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001607: - resolution: {integrity: sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==} + /caniuse-lite@1.0.30001762: + resolution: {integrity: sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==} dev: false /ccount@2.0.1: @@ -3614,7 +3881,6 @@ packages: /core-js@3.47.0: resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} requiresBuild: true - dev: false /cose-base@1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} @@ -4154,7 +4420,6 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - dev: false /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -4376,7 +4641,6 @@ packages: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 - dev: false /es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} @@ -5713,7 +5977,6 @@ packages: /html-entities@2.6.0: resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} - dev: false /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -6173,7 +6436,6 @@ packages: /jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - dev: false /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -8428,7 +8690,6 @@ packages: /react-refresh@0.18.0: resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} engines: {node: '>=0.10.0'} - dev: false /react-router-dom@4.3.1(react@16.13.1): resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==} @@ -8655,6 +8916,10 @@ packages: strip-indent: 3.0.0 dev: true + /reduce-configs@1.1.1: + resolution: {integrity: sha512-EYtsVGAQarE8daT54cnaY1PIknF2VB78ug6Zre2rs36EsJfC40EG6hmTU2A2P1ZuXnKAt2KI0fzOGHcX7wzdPw==} + dev: true + /reduce-reducers@0.4.3: resolution: {integrity: sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==} dev: false @@ -8952,6 +9217,27 @@ packages: fsevents: 2.3.3 dev: true + /rsbuild-plugin-dts@0.19.1(@rsbuild/core@1.7.2)(typescript@5.4.4): + resolution: {integrity: sha512-LaK1RAvHPrb/ulfwvZckeui5qkQSKxf1RD7rzBTgK2UY8fMTQgsxsvun/XzfzAOKqdagzIohhnmNd5+j2Niqww==} + engines: {node: '>=18.12.0'} + peerDependencies: + '@microsoft/api-extractor': ^7 + '@rsbuild/core': 1.x + '@typescript/native-preview': 7.x + typescript: ^5 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + dependencies: + '@ast-grep/napi': 0.37.0 + '@rsbuild/core': 1.7.2 + typescript: 5.4.4 + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -9271,7 +9557,6 @@ packages: /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -9758,7 +10043,6 @@ packages: /tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - dev: false /tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} From eeec16a8bf37f4c444ce45230c43a5e439b72645 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 03:40:08 +0800 Subject: [PATCH 05/15] fix: TreeIndents range error --- .../src/components/Tree/TreeIndents.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx index 553036e..2eca266 100644 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx +++ b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx @@ -6,11 +6,11 @@ interface Props { } const TreeIndents: React.FC = ({ count }) => { - if (count === 0) return null; + if (count <= 0) return null; return ( <> - {[...new Array(count)].map((_, index) => ( + {[...Array.from({ length: Math.floor(count) })].map((_, index) => ( Date: Wed, 7 Jan 2026 04:00:42 +0800 Subject: [PATCH 06/15] chore: upgrade --- packages/rspress-plugin-align-image/package.json | 3 ++- packages/rspress-plugin-back-to-top/package.json | 3 ++- packages/rspress-plugin-devkit/package.json | 15 ++++++++------- packages/rspress-plugin-directives/package.json | 3 ++- packages/rspress-plugin-file-tree/package.json | 1 + .../src/components/Tree/TreeIndents.tsx | 2 +- .../rspress-plugin-google-analytics/package.json | 3 ++- packages/rspress-plugin-katex/package.json | 3 ++- packages/rspress-plugin-live2d/package.json | 3 ++- packages/rspress-plugin-mermaid/package.json | 3 ++- packages/rspress-plugin-reading-time/package.json | 3 ++- packages/rspress-plugin-supersub/package.json | 3 ++- packages/rspress-plugin-toc/package.json | 1 + .../rspress-plugin-vercel-analytics/package.json | 3 ++- templates/package.json | 3 ++- wip-packages/rspress-app/package.json | 1 + wip-packages/rspress-plugin-comment/package.json | 3 ++- .../rspress-plugin-contentful/package.json | 3 ++- .../package.json | 3 ++- wip-packages/rspress-plugin-pwa/package.json | 3 ++- .../rspress-plugin-search-page/package.json | 3 ++- wip-packages/rspress-plugin-sitemap/package.json | 3 ++- 22 files changed, 46 insertions(+), 25 deletions(-) diff --git a/packages/rspress-plugin-align-image/package.json b/packages/rspress-plugin-align-image/package.json index 2d5a96b..ec62053 100644 --- a/packages/rspress-plugin-align-image/package.json +++ b/packages/rspress-plugin-align-image/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-align-image", "version": "0.3.0", "description": "Rspress plugin for aligning images", + "type": "module", "keywords": [ "rspress", "plugin", @@ -42,4 +43,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-back-to-top/package.json b/packages/rspress-plugin-back-to-top/package.json index 04f0c53..192f88b 100644 --- a/packages/rspress-plugin-back-to-top/package.json +++ b/packages/rspress-plugin-back-to-top/package.json @@ -5,6 +5,7 @@ "dist" ], "description": "Rspress plugin that add a back to top button to your site.", + "type": "module", "keywords": [ "rspress", "plugin", @@ -46,4 +47,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-devkit/package.json b/packages/rspress-plugin-devkit/package.json index 069b0a8..ed6f958 100644 --- a/packages/rspress-plugin-devkit/package.json +++ b/packages/rspress-plugin-devkit/package.json @@ -4,6 +4,7 @@ "files": [ "dist" ], + "type": "module", "description": "Rspress plugin develop kit.", "keywords": [ "rspress", @@ -33,19 +34,19 @@ "@types/estree-jsx": "^1.0.5", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", - "@types/node": "^20.12.5", - "clsx": "^2.1.0", - "lodash-es": "^4.17.21", + "@types/node": "^25.0.3", + "clsx": "^2.1.1", + "lodash-es": "^4.17.22", "mdast-util-from-markdown": "^2.0.2", - "mdast-util-mdx-jsx": "^3.1.3", + "mdast-util-mdx-jsx": "^3.2.0", "mdast-util-mdxjs-esm": "^2.0.1", "mdast-util-to-markdown": "^2.1.2", "mdast-util-to-string": "^4.0.0", - "remark-mdc": "^3.5.0", - "ts-morph": "^22.0.0", + "remark-mdc": "^3.10.0", + "ts-morph": "^27.0.2", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1", + "unist-util-visit-parents": "^6.0.2", "util-ts-types": "^1.0.0", "vfile": "^6.0.3", "vfile-reporter": "^8.1.1" diff --git a/packages/rspress-plugin-directives/package.json b/packages/rspress-plugin-directives/package.json index 2813620..6e581bf 100644 --- a/packages/rspress-plugin-directives/package.json +++ b/packages/rspress-plugin-directives/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-directives", "version": "0.3.0", "description": "Rspress plugin for custom directives transformation.", + "type": "module", "files": [ "dist" ], @@ -41,4 +42,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-file-tree/package.json b/packages/rspress-plugin-file-tree/package.json index f3002e3..cc44e04 100644 --- a/packages/rspress-plugin-file-tree/package.json +++ b/packages/rspress-plugin-file-tree/package.json @@ -5,6 +5,7 @@ "files": [ "dist" ], + "type": "module", "keywords": [ "rspress", "plugin", diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx index 2eca266..377ad8c 100644 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx +++ b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx @@ -6,7 +6,7 @@ interface Props { } const TreeIndents: React.FC = ({ count }) => { - if (count <= 0) return null; + if (!count || count <= 0) return null; return ( <> diff --git a/packages/rspress-plugin-google-analytics/package.json b/packages/rspress-plugin-google-analytics/package.json index 16447a9..5735506 100644 --- a/packages/rspress-plugin-google-analytics/package.json +++ b/packages/rspress-plugin-google-analytics/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-google-analytics", "version": "0.3.0", "description": "rspress plugin for google analytics", + "type": "module", "files": [ "dist", "components" @@ -44,4 +45,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-katex/package.json b/packages/rspress-plugin-katex/package.json index a211dc4..21523f0 100644 --- a/packages/rspress-plugin-katex/package.json +++ b/packages/rspress-plugin-katex/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-katex", "version": "0.3.0", "description": "Rspress plugin to render math with KaTeX", + "type": "module", "files": [ "dist" ], @@ -44,4 +45,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-live2d/package.json b/packages/rspress-plugin-live2d/package.json index aa95733..8829775 100644 --- a/packages/rspress-plugin-live2d/package.json +++ b/packages/rspress-plugin-live2d/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-live2d", "version": "0.3.0", "description": "Rspress plugin with live 2d.", + "type": "module", "files": [ "dist", "components" @@ -44,4 +45,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-mermaid/package.json b/packages/rspress-plugin-mermaid/package.json index e69ade0..ebdbe8b 100644 --- a/packages/rspress-plugin-mermaid/package.json +++ b/packages/rspress-plugin-mermaid/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-mermaid", "version": "0.3.0", "description": "Rspress plugin to render mermaid diagrams", + "type": "module", "files": [ "dist", "components" @@ -44,4 +45,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-reading-time/package.json b/packages/rspress-plugin-reading-time/package.json index acfab3c..a02de93 100644 --- a/packages/rspress-plugin-reading-time/package.json +++ b/packages/rspress-plugin-reading-time/package.json @@ -1,6 +1,7 @@ { "name": "rspress-plugin-reading-time", "version": "0.3.0", + "type": "module", "files": [ "dist", "components" @@ -44,4 +45,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-supersub/package.json b/packages/rspress-plugin-supersub/package.json index ccccb50..7c305d1 100644 --- a/packages/rspress-plugin-supersub/package.json +++ b/packages/rspress-plugin-supersub/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-supersub", "version": "0.3.0", "description": "Rspress plugin that add support for superscript and subscript", + "type": "module", "files": [ "dist" ], @@ -47,4 +48,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/packages/rspress-plugin-toc/package.json b/packages/rspress-plugin-toc/package.json index 07d6082..62cf8a9 100644 --- a/packages/rspress-plugin-toc/package.json +++ b/packages/rspress-plugin-toc/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-toc", "version": "0.3.0", "description": "Rspress plugin that add a table of contents to your document page.", + "type": "module", "files": [ "dist", "components" diff --git a/packages/rspress-plugin-vercel-analytics/package.json b/packages/rspress-plugin-vercel-analytics/package.json index e036183..fac96a5 100644 --- a/packages/rspress-plugin-vercel-analytics/package.json +++ b/packages/rspress-plugin-vercel-analytics/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-vercel-analytics", "version": "0.3.0", "description": "Rspress plugin for vercel analytics", + "type": "module", "files": [ "dist", "components" @@ -45,4 +46,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/templates/package.json b/templates/package.json index 896f347..57c5777 100644 --- a/templates/package.json +++ b/templates/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-_PLUGIN_NAME_", "version": "1.0.0", "main": "dist/index.js", + "type": "module", "scripts": { "build": "tsc --declarationMap false", "dev": "tsc -w", @@ -21,4 +22,4 @@ "react-dom": "^18", "typescript": "^5" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-app/package.json b/wip-packages/rspress-app/package.json index e62d838..877b22c 100644 --- a/wip-packages/rspress-app/package.json +++ b/wip-packages/rspress-app/package.json @@ -2,6 +2,7 @@ "name": "rspress-doc-template", "version": "1.0.0", "private": true, + "type": "module", "scripts": { "dev": "rspress dev", "build": "rspress build", diff --git a/wip-packages/rspress-plugin-comment/package.json b/wip-packages/rspress-plugin-comment/package.json index 1bce29e..94329e2 100644 --- a/wip-packages/rspress-plugin-comment/package.json +++ b/wip-packages/rspress-plugin-comment/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-comment", "version": "1.0.0", "main": "dist/index.js", + "type": "module", "scripts": { "build": "tsc --declarationMap false", "dev": "tsc -w", @@ -22,4 +23,4 @@ "react-dom": "^18.2.0", "typescript": "^5.4.4" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-plugin-contentful/package.json b/wip-packages/rspress-plugin-contentful/package.json index a677726..0b59428 100644 --- a/wip-packages/rspress-plugin-contentful/package.json +++ b/wip-packages/rspress-plugin-contentful/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-contentful", "version": "1.0.0", "main": "dist/index.js", + "type": "module", "scripts": { "build": "tsc --declarationMap false", "dev": "tsc -w", @@ -24,4 +25,4 @@ "react-dom": "^18.2.0", "typescript": "^5.4.4" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-plugin-graphql-playground/package.json b/wip-packages/rspress-plugin-graphql-playground/package.json index d7f7f0b..cc97639 100644 --- a/wip-packages/rspress-plugin-graphql-playground/package.json +++ b/wip-packages/rspress-plugin-graphql-playground/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-graphql-playground", "version": "1.0.0", "main": "dist/index.js", + "type": "module", "scripts": { "build": "tsc --declarationMap false", "dev": "tsc -w", @@ -24,4 +25,4 @@ "react-dom": "^18.2.0", "typescript": "^5.4.4" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-plugin-pwa/package.json b/wip-packages/rspress-plugin-pwa/package.json index 83e8f61..0acf36d 100644 --- a/wip-packages/rspress-plugin-pwa/package.json +++ b/wip-packages/rspress-plugin-pwa/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-pwa", "version": "0.1.0", "description": "Rspress plugin to render mermaid diagrams", + "type": "module", "keywords": [ "rspress", "plugin", @@ -40,4 +41,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-plugin-search-page/package.json b/wip-packages/rspress-plugin-search-page/package.json index ea2f607..2439908 100644 --- a/wip-packages/rspress-plugin-search-page/package.json +++ b/wip-packages/rspress-plugin-search-page/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-search-page", "version": "1.0.0", "main": "dist/index.js", + "type": "module", "scripts": { "build": "tsc --declarationMap false", "dev": "tsc -w", @@ -21,4 +22,4 @@ "react-dom": "^18.2.0", "typescript": "^5.4.4" } -} \ No newline at end of file +} diff --git a/wip-packages/rspress-plugin-sitemap/package.json b/wip-packages/rspress-plugin-sitemap/package.json index 4f70bfe..a78a318 100644 --- a/wip-packages/rspress-plugin-sitemap/package.json +++ b/wip-packages/rspress-plugin-sitemap/package.json @@ -2,6 +2,7 @@ "name": "rspress-plugin-sitemap", "version": "0.1.0", "description": "Rspress plugin to render mermaid diagrams", + "type": "module", "keywords": [ "rspress", "plugin", @@ -40,4 +41,4 @@ "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" } -} \ No newline at end of file +} From 5c8d0a89ebddafa02c03254e006d427eec16213f Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 04:32:05 +0800 Subject: [PATCH 07/15] refactor: file-tree --- .../rspress-plugin-file-tree/package.json | 1 + .../components/FileTree/FileTree.module.less | 12 + .../src/components/FileTree/FileTree.tsx | 20 ++ .../FileTree/FileTreeItem.module.less | 69 ++++ .../src/components/FileTree/FileTreeItem.tsx | 79 +++++ .../src/components/FileTree/RemoteSvgIcon.tsx | 37 +++ .../src/components/FileTree/index.ts | 5 + .../src/components/Tree/Expand.tsx | 149 --------- .../src/components/Tree/FileIcon.tsx | 41 --- .../src/components/Tree/FileTreeRender.tsx | 16 - .../src/components/Tree/Tree.tsx | 112 ------- .../src/components/Tree/TreeContext.tsx | 18 -- .../src/components/Tree/TreeFile.tsx | 69 ---- .../src/components/Tree/TreeFolder.tsx | 108 ------- .../src/components/Tree/TreeFolderIcon.tsx | 40 --- .../src/components/Tree/TreeIndents.tsx | 26 -- .../src/components/Tree/TreeStatusIcon.tsx | 45 --- .../src/components/Tree/index.less | 178 ----------- .../src/components/folder-icons.ts | 219 +++++++++++++ .../src/components/helpers.ts | 42 --- .../src/components/languages.ts | 104 ++++++ .../src/components/presets.ts | 5 - .../src/components/tree-parser/tree-parser.ts | 149 +++++++++ .../src/components/tree-parser/types.ts | 11 + .../rspress-plugin-file-tree/src/env.d.ts | 14 + .../rspress-plugin-file-tree/src/index.ts | 13 +- .../rspress-plugin-file-tree/src/parser.ts | 56 ---- .../tests/fixtures.ts | 71 ----- .../tests/parser.spec.ts | 295 +++++++++++++----- pnpm-lock.yaml | 229 ++++++++++---- 30 files changed, 1099 insertions(+), 1134 deletions(-) create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.module.less create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.tsx create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.module.less create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.tsx create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/RemoteSvgIcon.tsx create mode 100644 packages/rspress-plugin-file-tree/src/components/FileTree/index.ts delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx delete mode 100644 packages/rspress-plugin-file-tree/src/components/Tree/index.less create mode 100644 packages/rspress-plugin-file-tree/src/components/folder-icons.ts delete mode 100644 packages/rspress-plugin-file-tree/src/components/helpers.ts create mode 100644 packages/rspress-plugin-file-tree/src/components/languages.ts delete mode 100644 packages/rspress-plugin-file-tree/src/components/presets.ts create mode 100644 packages/rspress-plugin-file-tree/src/components/tree-parser/tree-parser.ts create mode 100644 packages/rspress-plugin-file-tree/src/components/tree-parser/types.ts create mode 100644 packages/rspress-plugin-file-tree/src/env.d.ts delete mode 100644 packages/rspress-plugin-file-tree/src/parser.ts delete mode 100644 packages/rspress-plugin-file-tree/tests/fixtures.ts diff --git a/packages/rspress-plugin-file-tree/package.json b/packages/rspress-plugin-file-tree/package.json index cc44e04..a2669c9 100644 --- a/packages/rspress-plugin-file-tree/package.json +++ b/packages/rspress-plugin-file-tree/package.json @@ -42,6 +42,7 @@ "@rslib/core": "^0.19.1", "@types/node": "^20.12.5", "@types/react": "^18.2.74", + "material-icon-theme": "^5.30.0", "typescript": "^5.4.4" }, "peerDependencies": { diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.module.less b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.module.less new file mode 100644 index 0000000..2b33ae2 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.module.less @@ -0,0 +1,12 @@ +.container { + font-family: inherit; + font-size: 13px; + line-height: 22px; + + min-height: 100%; + box-sizing: border-box; + border-radius: var(--rp-radius); + border: var(--rp-code-block-border, 1px solid var(--rp-c-divider-light)); + box-shadow: var(--rp-code-block-shadow, none); + padding: 8px; +} diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.tsx b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.tsx new file mode 100644 index 0000000..e260586 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTree.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { TreeNode } from '../tree-parser/types'; +import styles from './FileTree.module.less'; +import { FileTreeItem } from './FileTreeItem'; + +interface FileTreeProps { + nodes: TreeNode[]; +} + +export const FileTree: React.FC = ({ nodes }) => { + return ( +
+ {nodes.map((node, index) => ( + + ))} +
+ ); +}; + +export default FileTree; diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.module.less b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.module.less new file mode 100644 index 0000000..f9d552e --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.module.less @@ -0,0 +1,69 @@ +.item { + display: flex; + flex-direction: column; + position: relative; +} + +.row { + display: flex; + align-items: center; + gap: 6px; + height: 22px; + padding-right: 12px; + cursor: pointer; + user-select: none; + color: inherit; + opacity: 0.8; + transition: opacity 0.1s ease; + + &:hover { + background-color: var(--rp-c-text-code-bg); + opacity: 1; + } +} + +.chevron { + width: 16px; + height: 16px; + display: flex; + align-items: center; + justify-content: center; + transition: transform 0.15s ease; + transform: rotate(0deg); + + &[data-expanded='true'] { + transform: rotate(90deg); + } +} + +.iconWrapper { + display: inline-flex; + flex-shrink: 0; + width: 16px; + height: 16px; + align-items: center; + justify-content: center; +} + +.name { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.children { + display: flex; + flex-direction: column; + position: relative; +} + +.indentGuide { + position: absolute; + left: 6px; + top: 0; + bottom: 0; + width: 1px; + background-color: var(--rp-c-divider); + opacity: 0.1; + pointer-events: none; +} diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.tsx b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.tsx new file mode 100644 index 0000000..7eba987 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/FileTreeItem.tsx @@ -0,0 +1,79 @@ +import React, { useMemo, useState } from 'react'; +import { getFileIcon, getFolderIcon } from '../folder-icons'; +import { TreeNode } from '../tree-parser/types'; +import styles from './FileTreeItem.module.less'; +import { RemoteSvgIcon } from './RemoteSvgIcon'; + +interface FileTreeItemProps { + node: TreeNode; + depth: number; +} + +const INDENT_SIZE = 12; + +export const FileTreeItem: React.FC = ({ node, depth }) => { + const [expanded, setExpanded] = useState(true); + + const icon = useMemo(() => { + if (node.type === 'directory') { + return getFolderIcon(node.name); + } + return getFileIcon(node.name); + }, [node.name, node.type]); + + const isDirectory = node.type === 'directory'; + + const toggle = (e: React.MouseEvent) => { + e.stopPropagation(); + if (isDirectory) { + setExpanded((p) => !p); + } + }; + + return ( +
+
+
+ + + +
+
+ +
+ {node.name} +
+ + {isDirectory && node.children.length > 0 && expanded && ( +
+
+ {node.children.map((child, index) => ( + + ))} +
+ )} +
+ ); +}; diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/RemoteSvgIcon.tsx b/packages/rspress-plugin-file-tree/src/components/FileTree/RemoteSvgIcon.tsx new file mode 100644 index 0000000..52023a5 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/RemoteSvgIcon.tsx @@ -0,0 +1,37 @@ +import React, { useEffect, useState } from 'react'; + +interface RemoteSvgIconProps { + content: () => Promise<{ default: string } | string>; + size?: 'sm' | 'md'; + delay?: number; + className?: string; +} + +export const RemoteSvgIcon: React.FC = ({ + content, + className, +}) => { + const [svgContent, setSvgContent] = useState(''); + + useEffect(() => { + let cancelled = false; + content().then((mod) => { + if (cancelled) return; + // Handle both ESM with default export and direct string export (if any) + const svg = typeof mod === 'string' ? mod : (mod as any).default; + setSvgContent(svg); + }); + return () => { + cancelled = true; + }; + }, [content]); + + if (!svgContent) return null; + + return ( + + ); +}; diff --git a/packages/rspress-plugin-file-tree/src/components/FileTree/index.ts b/packages/rspress-plugin-file-tree/src/components/FileTree/index.ts new file mode 100644 index 0000000..fa4c45b --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/FileTree/index.ts @@ -0,0 +1,5 @@ +import { FileTree } from './FileTree'; + +export default FileTree; +export { FileTree }; +export { FileTreeItem } from './FileTreeItem'; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx deleted file mode 100644 index 4946f94..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/Expand.tsx +++ /dev/null @@ -1,149 +0,0 @@ -import React, { useEffect, useRef, useState, MutableRefObject } from 'react'; -import clsx from 'clsx'; - -export type ShapeType = { - width: number; - height: number; -}; - -export const getRealShape = (el: HTMLElement | null): ShapeType => { - const defaultShape: ShapeType = { width: 0, height: 0 }; - if (!el || typeof window === 'undefined') return defaultShape; - - const rect = el.getBoundingClientRect(); - const { width, height } = window.getComputedStyle(el); - - const getCSSStyleVal = (str: string, parentNum: number) => { - if (!str) return 0; - const strVal = str.includes('px') - ? +str.split('px')[0] - : str.includes('%') - ? +str.split('%')[0] * parentNum * 0.01 - : str; - - return Number.isNaN(+strVal) ? 0 : +strVal; - }; - - return { - width: getCSSStyleVal(`${width}`, rect.width), - height: getCSSStyleVal(`${height}`, rect.height), - }; -}; - -export type ShapeResult = [ShapeType, () => void]; - -const useRealShape = ( - ref: MutableRefObject, -): ShapeResult => { - const [state, setState] = useState({ - width: 0, - height: 0, - }); - const update = () => { - const { width, height } = getRealShape(ref.current); - setState({ width, height }); - }; - useEffect(() => update(), [ref.current]); - - return [state, update]; -}; - -export type ExpandProps = { - isExpanded?: boolean; - delay?: number; - parentExpanded?: boolean[]; -}; - -const defaultProps = { - isExpanded: false, - delay: 200, -}; - -const Expand: React.FC> = ({ - isExpanded, - delay, - parentExpanded = [], - children, -}: React.PropsWithChildren & typeof defaultProps) => { - const [height, setHeight] = useState(isExpanded ? 'auto' : '0'); - const [selfExpanded, setSelfExpanded] = useState(isExpanded); - const [visible, setVisible] = useState(isExpanded); - const contentRef = useRef(null); - const entryTimer = useRef(); - const leaveTimer = useRef(); - const resetTimer = useRef(); - const [state, updateShape] = useRealShape(contentRef); - - const [parentClosed, setParentClosed] = useState(false); - - useEffect(() => setHeight(`${state.height}px`), [state.height]); - useEffect(() => { - // show element or reset height. - // force an update once manually, even if the element does not change. - // (the height of the element might be "auto") - if (isExpanded) { - setVisible(isExpanded); - } else { - updateShape(); - setHeight(`${state.height}px`); - } - - // show expand animation - entryTimer.current = window.setTimeout(() => { - setSelfExpanded(isExpanded); - clearTimeout(entryTimer.current); - }, 30); - - // Reset height after animation - if (isExpanded) { - resetTimer.current = window.setTimeout(() => { - setHeight('auto'); - clearTimeout(resetTimer.current); - }, delay); - } else { - leaveTimer.current = window.setTimeout(() => { - setVisible(isExpanded); - clearTimeout(leaveTimer.current); - }, delay / 2); - } - - return () => { - clearTimeout(entryTimer.current); - clearTimeout(leaveTimer.current); - clearTimeout(resetTimer.current); - }; - }, [isExpanded]); - - useEffect(() => { - const parentClosed = parentExpanded.some((i) => i === false); - - setParentClosed(parentClosed); - }, [parentExpanded]); - - return ( -
-
- {children} -
-
- ); -}; - -Expand.defaultProps = defaultProps; -Expand.displayName = 'GeistExpand'; -export default Expand; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx deleted file mode 100644 index dbf438a..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/FileIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; -import { buildClassName } from '../presets'; - -export interface TreeFileIconProps { - color?: string; - width?: number; - height?: number; -} - -const defaultProps = { - width: 22, - height: 22, -}; - -const TreeFileIcon: React.FC = ({ - color, - width, - height, -}: TreeFileIconProps & typeof defaultProps) => { - return ( - - - - - ); -}; - -TreeFileIcon.defaultProps = defaultProps; -TreeFileIcon.displayName = 'GeistTreeFileIcon'; -export default TreeFileIcon; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx deleted file mode 100644 index 61a182b..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/FileTreeRender.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import Tree from './Tree'; -import TreeFile from './TreeFile'; -import TreeFolder from './TreeFolder'; - -import './index.less'; - -export type TreeComponentType = typeof Tree & { - File: typeof TreeFile; - Folder: typeof TreeFolder; -}; - -(Tree as TreeComponentType).File = TreeFile; -(Tree as TreeComponentType).Folder = TreeFolder; - -export type { TreeProps, TreeFile } from './Tree'; -export default Tree as TreeComponentType; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx deleted file mode 100644 index 48965a5..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/Tree.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import React, { useMemo } from 'react'; -import TreeFile from './TreeFile'; -import TreeFolder from './TreeFolder'; -import { TreeContext } from './TreeContext'; -import { sortChildren } from '../helpers'; -import { buildClassName } from '../presets'; -import { useDark } from '@rspress/core/runtime'; - -export const tuple = (...args: T) => args; - -const FileTreeValueType = tuple('directory', 'file'); - -const directoryType = FileTreeValueType[0]; - -export type TreeFile = { - type: (typeof FileTreeValueType)[number]; - name: string; - extra?: string; - files?: Array; -}; - -interface Props { - tree?: TreeFile[]; - initialExpand?: boolean; - onClick?: (path: string) => void; - className?: string; - initialExpandDepth?: number; -} - -const defaultProps = { - initialExpand: false, - className: '', -}; - -type NativeAttrs = Omit, keyof Props>; -export type TreeProps = Props & NativeAttrs; - -const makeChildren = (value: Array = []) => { - if (!value || !value.length) return null; - return value - .sort((a, b) => { - if (a.type !== b.type) return a.type !== directoryType ? 1 : -1; - - return `${a.name}`.charCodeAt(0) - `${b.name}`.charCodeAt(0); - }) - .map((item, index) => { - if (item.type === directoryType) - return ( - - {makeChildren(item.files)} - - ); - return ( - - ); - }); -}; - -const Tree: React.FC> = ({ - children, - onClick, - initialExpand, - initialExpandDepth, - tree, - className, - ...props -}: React.PropsWithChildren & typeof defaultProps) => { - if (!tree) return null; - - const isImperative = Boolean(tree.length > 0); - const onFileClick = (path: string) => { - onClick && onClick(path); - }; - - const initialValue = useMemo( - () => ({ - onFileClick, - initialExpand, - initialExpandDepth, - isImperative, - }), - [initialExpand], - ); - - const customChildren = isImperative - ? makeChildren(tree) - : sortChildren(children, TreeFolder); - - const dark = useDark(); - - return ( - -
- {customChildren} -
-
- ); -}; - -Tree.defaultProps = defaultProps; -Tree.displayName = 'GeistTree'; -export default Tree; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx deleted file mode 100644 index 45d2642..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeContext.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; - -export interface TreeConfig { - onFileClick?: (path: string) => void; - initialExpand: boolean; - initialExpandDepth?: number; - isImperative: boolean; -} - -const defaultContext = { - initialExpand: false, - isImperative: false, -}; - -export const TreeContext = React.createContext(defaultContext); - -export const useTreeContext = (): TreeConfig => - React.useContext(TreeContext); diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx deleted file mode 100644 index 73be66e..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFile.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useMemo } from 'react'; -import TreeFileIcon from './FileIcon'; -import { useTreeContext } from './TreeContext'; -import TreeIndents from './TreeIndents'; -import { makeChildPath, stopPropagation } from '../helpers'; -import { buildClassName } from '../presets'; - -interface Props { - name: string; - extra?: string; - parentPath?: string; - level?: number; - className?: string; -} - -const defaultProps = { - level: 0, - className: '', - parentPath: '', -}; - -type NativeAttrs = Omit, keyof Props>; -export type TreeFileProps = Props & - NativeAttrs & { - parentExpanded: boolean[]; - }; - -const TreeFile: React.FC> = ({ - name, - parentPath, - level, - extra, - className, - parentExpanded, - ...props -}: React.PropsWithChildren & typeof defaultProps) => { - const { onFileClick } = useTreeContext(); - const currentPath = useMemo(() => makeChildPath(name, parentPath), []); - const clickHandler = (event: React.MouseEvent) => { - stopPropagation(event); - onFileClick && onFileClick(currentPath); - }; - - return ( -
-
- - - - - - {name} - {extra && ( - {extra} - )} - -
-
- ); -}; - -TreeFile.defaultProps = defaultProps; -TreeFile.displayName = 'GeistTreeFile'; -export default TreeFile; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx deleted file mode 100644 index 51da248..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolder.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import React, { useEffect, useMemo, useState } from 'react'; -import TreeFile from './TreeFile'; -import Expand from './Expand'; -import TreeIndents from './TreeIndents'; -import { useTreeContext } from './TreeContext'; -import TreeFolderIcon from './TreeFolderIcon'; -import TreeStatusIcon from './TreeStatusIcon'; -import { - sortChildren, - makeChildPath, - stopPropagation, - setChildrenProps, -} from '../helpers'; -import { buildClassName } from '../presets'; - -interface Props { - name: string; - extra?: string; - parentPath?: string; - level?: number; - className?: string; -} - -const defaultProps = { - level: 0, - className: '', - parentPath: '', -}; - -type NativeAttrs = Omit, keyof Props>; -export type TreeFolderProps = Props & - NativeAttrs & { - parentExpanded: boolean[]; - }; - -const TreeFolder: React.FC> = ({ - name, - children, - parentPath, - level: parentLevel, - extra, - className, - parentExpanded = [], - ...props -}: React.PropsWithChildren & typeof defaultProps) => { - const { - initialExpand, - isImperative, - initialExpandDepth = 0, - } = useTreeContext(); - const [expanded, setExpanded] = useState(() => { - return parentLevel + 1 <= initialExpandDepth; - }); - - const currentPath = useMemo(() => makeChildPath(name, parentPath), []); - const clickHandler = () => setExpanded(!expanded); - - const nextChildren = setChildrenProps( - children, - { - parentPath: currentPath, - level: parentLevel + 1, - parentExpanded: [...parentExpanded, expanded], - }, - [TreeFolder, TreeFile], - ); - - const sortedChildren = isImperative - ? nextChildren - : sortChildren(nextChildren, TreeFolder); - - return ( -
-
- - - - - - - - - {name} - {extra && ( - {extra} - )} - -
- -
- {sortedChildren} -
-
-
- ); -}; - -TreeFolder.defaultProps = defaultProps; -TreeFolder.displayName = 'GeistTreeFolder'; -export default TreeFolder; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx deleted file mode 100644 index 14f5a2a..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeFolderIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import { buildClassName } from '../presets'; - -export interface TreeFolderIconProps { - color?: string; - width?: number; - height?: number; -} - -const defaultProps = { - width: 22, - height: 22, -}; - -const TreeFolderIcon: React.FC = ({ - color, - width, - height, -}: TreeFolderIconProps & typeof defaultProps) => { - return ( - - - - ); -}; - -TreeFolderIcon.defaultProps = defaultProps; -TreeFolderIcon.displayName = 'GeistTreeFolderIcon'; -export default TreeFolderIcon; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx deleted file mode 100644 index 377ad8c..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeIndents.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import { buildClassName } from '../presets'; - -interface Props { - count: number; -} - -const TreeIndents: React.FC = ({ count }) => { - if (!count || count <= 0) return null; - - return ( - <> - {[...Array.from({ length: Math.floor(count) })].map((_, index) => ( - - ))} - - ); -}; - -export default TreeIndents; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx b/packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx deleted file mode 100644 index 230df28..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/TreeStatusIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import { buildClassName } from '../presets'; - -export interface TreeStatusIconProps { - color?: string; - width?: number; - height?: number; - active?: boolean; -} - -const defaultProps = { - width: 12, - height: 12, - active: false, -}; - -const TreeStatusIcon: React.FC = ({ - color, - width, - height, - active, -}: TreeStatusIconProps & typeof defaultProps) => { - return ( - - - {!active && } - - - ); -}; - -TreeStatusIcon.defaultProps = defaultProps; -TreeStatusIcon.displayName = 'GeistTreeStatusIcon'; -export default TreeStatusIcon; diff --git a/packages/rspress-plugin-file-tree/src/components/Tree/index.less b/packages/rspress-plugin-file-tree/src/components/Tree/index.less deleted file mode 100644 index 6264869..0000000 --- a/packages/rspress-plugin-file-tree/src/components/Tree/index.less +++ /dev/null @@ -1,178 +0,0 @@ -@rp-file-tree: ~'rp-file-tree'; - -@rp-tree-color-light: #000; -@rp-tree-color-dark: #fafafa; - -@rp-tree-status-bg-light: #fff; -@rp-tree-status-bg-dark: #000; - -@rp-tree-indent-bg-light: #eaeaea; -@rp-tree-indent-bg-dark: #333; - -.@{rp-file-tree} { - &[data-dark='true'] { - --rp-tree-color: @rp-tree-color-dark; - --rp-tree-status-bg: @rp-tree-status-bg-dark; - --rp-tree-indent-bg: @rp-tree-indent-bg-dark; - } - - &[data-dark='false'] { - --rp-tree-color: @rp-tree-color-light; - --rp-tree-status-bg: @rp-tree-status-bg-light; - --rp-tree-indent-bg: @rp-tree-indent-bg-light; - } - - padding-left: 1.625rem; - - &-expand { - &-container { - padding: 0; - margin: 0; - overflow: hidden; - - &-expanded { - height: auto; - visibility: visible; - } - } - } - - &-indent { - position: absolute; - top: 50%; - transform: translateY(-50%); - width: 1px; - height: 100%; - background-color: var(--rp-tree-indent-bg); - margin-left: -1px; - } - - &-folder { - cursor: pointer; - line-height: 1; - user-select: none; - - &-names { - display: flex; - height: 1.75rem; - align-items: center; - position: relative; - - & > :global(.@{rp-file-tree}-indent) { - position: absolute; - top: 50%; - transform: translateY(-50%); - width: 1px; - height: 100%; - background-color: var(--rp-tree-indent-bg); - margin-left: -1px; - } - } - - &-icon { - margin-right: 0.3rem; - - & > svg { - color: var(--rp-tree-color); - } - } - - &-status { - position: absolute; - left: calc(-1.125rem); - top: 50%; - transform: translate(-50%, -50%); - width: 0.875rem; - height: 0.875rem; - z-index: 10; - background-color: var(--rp-tree-status-bg); - - & > svg { - color: var(--rp-tree-color); - } - } - - &-status, - &-icon { - display: inline-flex; - align-items: center; - justify-content: center; - } - - &-name { - transition: opacity 100ms ease 0ms; - white-space: nowrap; - font-size: 0.875rem; - color: var(--rp-tree-color); - - &:hover { - opacity: 0.7; - } - } - - &-extra { - font-size: 0.75rem; - align-self: baseline; - padding-left: 4px; - color: #888; - } - - &-content { - display: flex; - flex-direction: column; - height: auto; - } - } - - &-file { - cursor: pointer; - line-height: 1; - user-select: none; - - &-names { - display: flex; - height: 1.75rem; - align-items: center; - position: relative; - - & > :global(.@{rp-file-tree}-indent) { - position: absolute; - top: 50%; - transform: translateY(-50%); - width: 1px; - height: 100%; - background-color: var(--rp-tree-indent-bg); - - margin-left: -1px; - } - } - - &-icon { - display: inline-flex; - align-items: center; - margin-right: 0.3rem; - - & > svg { - color: var(--rp-tree-color); - } - } - - &-name { - transition: opacity 100ms ease 0ms; - color: var(--rp-tree-color); - white-space: nowrap; - font-size: 0.875rem; - - &:hover { - opacity: 0.7; - } - } - - &-extra { - font-size: 0.75rem; - align-self: baseline; - padding-left: 4px; - color: #888; - } - } -} diff --git a/packages/rspress-plugin-file-tree/src/components/folder-icons.ts b/packages/rspress-plugin-file-tree/src/components/folder-icons.ts new file mode 100644 index 0000000..63146f7 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/folder-icons.ts @@ -0,0 +1,219 @@ +import { SUPPORTED_LANGUAGES } from './languages'; + +export interface FolderIconDefinition { + name: string; + content: () => Promise; +} + +export interface FileIconDefinition { + name: string; + content: () => Promise; + matcher: RegExp; +} + +/** + * Special folder icons mapping + * Maps folder names to their corresponding icons + */ +export const FOLDER_ICONS: Record = { + src: { + name: 'folder-src', + content: () => import('material-icon-theme/icons/folder-src.svg?raw'), + }, + source: { + name: 'folder-src', + content: () => import('material-icon-theme/icons/folder-src.svg?raw'), + }, + components: { + name: 'folder-components', + content: () => + import('material-icon-theme/icons/folder-components.svg?raw'), + }, + component: { + name: 'folder-components', + content: () => + import('material-icon-theme/icons/folder-components.svg?raw'), + }, + hooks: { + name: 'folder-hook', + content: () => import('material-icon-theme/icons/folder-hook.svg?raw'), + }, + hook: { + name: 'folder-hook', + content: () => import('material-icon-theme/icons/folder-hook.svg?raw'), + }, + utils: { + name: 'folder-utils', + content: () => import('material-icon-theme/icons/folder-utils.svg?raw'), + }, + util: { + name: 'folder-utils', + content: () => import('material-icon-theme/icons/folder-utils.svg?raw'), + }, + lib: { + name: 'folder-lib', + content: () => import('material-icon-theme/icons/folder-lib.svg?raw'), + }, + libs: { + name: 'folder-lib', + content: () => import('material-icon-theme/icons/folder-lib.svg?raw'), + }, + core: { + name: 'folder-core', + content: () => import('material-icon-theme/icons/folder-core.svg?raw'), + }, + runtime: { + name: 'folder-core', + content: () => import('material-icon-theme/icons/folder-core.svg?raw'), + }, + locales: { + name: 'folder-i18n', + content: () => import('material-icon-theme/icons/folder-i18n.svg?raw'), + }, + locale: { + name: 'folder-i18n', + content: () => import('material-icon-theme/icons/folder-i18n.svg?raw'), + }, + i18n: { + name: 'folder-i18n', + content: () => import('material-icon-theme/icons/folder-i18n.svg?raw'), + }, + assets: { + name: 'folder-images', + content: () => import('material-icon-theme/icons/folder-images.svg?raw'), + }, + images: { + name: 'folder-images', + content: () => import('material-icon-theme/icons/folder-images.svg?raw'), + }, + styles: { + name: 'folder-css', + content: () => import('material-icon-theme/icons/folder-css.svg?raw'), + }, + css: { + name: 'folder-css', + content: () => import('material-icon-theme/icons/folder-css.svg?raw'), + }, + test: { + name: 'folder-test', + content: () => import('material-icon-theme/icons/folder-test.svg?raw'), + }, + tests: { + name: 'folder-test', + content: () => import('material-icon-theme/icons/folder-test.svg?raw'), + }, + __tests__: { + name: 'folder-test', + content: () => import('material-icon-theme/icons/folder-test.svg?raw'), + }, + config: { + name: 'folder-config', + content: () => import('material-icon-theme/icons/folder-config.svg?raw'), + }, + configs: { + name: 'folder-config', + content: () => import('material-icon-theme/icons/folder-config.svg?raw'), + }, + api: { + name: 'folder-api', + content: () => import('material-icon-theme/icons/folder-api.svg?raw'), + }, + apis: { + name: 'folder-api', + content: () => import('material-icon-theme/icons/folder-api.svg?raw'), + }, + public: { + name: 'folder-public', + content: () => import('material-icon-theme/icons/folder-public.svg?raw'), + }, + dist: { + name: 'folder-dist', + content: () => import('material-icon-theme/icons/folder-dist.svg?raw'), + }, + build: { + name: 'folder-dist', + content: () => import('material-icon-theme/icons/folder-dist.svg?raw'), + }, + node_modules: { + name: 'folder-node', + content: () => import('material-icon-theme/icons/folder-node.svg?raw'), + }, + types: { + name: 'folder-typescript', + content: () => + import('material-icon-theme/icons/folder-typescript.svg?raw'), + }, + typings: { + name: 'folder-typescript', + content: () => + import('material-icon-theme/icons/folder-typescript.svg?raw'), + }, + pages: { + name: 'folder-views', + content: () => import('material-icon-theme/icons/folder-views.svg?raw'), + }, + views: { + name: 'folder-views', + content: () => import('material-icon-theme/icons/folder-views.svg?raw'), + }, + routes: { + name: 'folder-routes', + content: () => import('material-icon-theme/icons/folder-routes.svg?raw'), + }, + docs: { + name: 'folder-docs', + content: () => import('material-icon-theme/icons/folder-docs.svg?raw'), + }, + services: { + name: 'folder-app', + content: () => import('material-icon-theme/icons/folder-app.svg?raw'), + }, + app: { + name: 'folder-app', + content: () => import('material-icon-theme/icons/folder-app.svg?raw'), + }, +}; + +/** + * Default folder icon + */ +export const DEFAULT_FOLDER_ICON: FolderIconDefinition = { + name: 'folder', + content: () => import('material-icon-theme/icons/folder.svg?raw'), +}; + +/** + * Default file icon + */ +export const DEFAULT_FILE_ICON: FileIconDefinition = { + name: 'file', + content: () => import('material-icon-theme/icons/file.svg?raw'), + matcher: /^.*$/, +}; + +/** + * Get folder icon by folder name + */ +export function getFolderIcon(name: string): FolderIconDefinition { + const lowerName = name.toLowerCase(); + return FOLDER_ICONS[lowerName] || DEFAULT_FOLDER_ICON; +} + +/** + * Get file icon by file name + * Searches through all supported languages for matching icon + */ +export function getFileIcon(fileName: string): FileIconDefinition { + for (const language of SUPPORTED_LANGUAGES) { + for (const icon of language.icons) { + if (icon.matcher.test(fileName)) { + return { + name: icon.name, + content: icon.content as () => Promise, + matcher: icon.matcher, + }; + } + } + } + return DEFAULT_FILE_ICON; +} diff --git a/packages/rspress-plugin-file-tree/src/components/helpers.ts b/packages/rspress-plugin-file-tree/src/components/helpers.ts deleted file mode 100644 index a0d50b5..0000000 --- a/packages/rspress-plugin-file-tree/src/components/helpers.ts +++ /dev/null @@ -1,42 +0,0 @@ -import React, { type ReactNode } from 'react'; - -export const sortChildren = ( - children: ReactNode | undefined, - folderComponentType: React.ElementType, -) => { - return React.Children.toArray(children).sort((a, b) => { - if (!React.isValidElement(a) || !React.isValidElement(b)) return 0; - if (a.type !== b.type) return a.type !== folderComponentType ? 1 : -1; - return `${a.props.name}`.charCodeAt(0) - `${b.props.name}`.charCodeAt(0); - }); -}; - -export const makeChildPath = (name: string, parentPath?: string) => { - if (!parentPath) return name; - return `${parentPath}/${name}`; -}; - -export const stopPropagation = (event: React.MouseEvent) => { - event.stopPropagation(); - event.nativeEvent.stopImmediatePropagation(); -}; - -export const setChildrenProps = ( - children: ReactNode | undefined, - props: Record, - targetComponents: Array = [], -): ReactNode | undefined => { - if (React.Children.count(children) === 0) return []; - const allowAll = targetComponents.length === 0; - const clone = (child: React.ReactElement, props = {}) => - React.cloneElement(child, props); - - return React.Children.map(children, (item) => { - if (!React.isValidElement(item)) return item; - if (allowAll) return clone(item, props); - - const isAllowed = targetComponents.find((child) => child === item.type); - if (isAllowed) return clone(item, props); - return item; - }); -}; diff --git a/packages/rspress-plugin-file-tree/src/components/languages.ts b/packages/rspress-plugin-file-tree/src/components/languages.ts new file mode 100644 index 0000000..f568a58 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/languages.ts @@ -0,0 +1,104 @@ +import { FileIconDefinition } from './folder-icons'; + +interface LanguageDefinition { + id: string; + icons: FileIconDefinition[]; +} + +export const SUPPORTED_LANGUAGES: LanguageDefinition[] = [ + { + id: 'javascript', + icons: [ + { + name: 'javascript', + content: () => import('material-icon-theme/icons/javascript.svg?raw'), + matcher: /^.*\.js$/, + }, + { + name: 'javascript-beta', + content: () => import('material-icon-theme/icons/javascript.svg?raw'), + matcher: /^.*\.cjs$/, + }, + { + name: 'javascript-beta', + content: () => import('material-icon-theme/icons/javascript.svg?raw'), + matcher: /^.*\.mjs$/, + }, + ], + }, + { + id: 'typescript', + icons: [ + { + name: 'typescript', + content: () => import('material-icon-theme/icons/typescript.svg?raw'), + matcher: /^.*\.ts$/, + }, + { + name: 'typescript-beta', + content: () => import('material-icon-theme/icons/typescript.svg?raw'), + matcher: /^.*\.mts$/, + }, + { + name: 'typescript-beta', + content: () => import('material-icon-theme/icons/typescript.svg?raw'), + matcher: /^.*\.cts$/, + }, + { + name: 'react_ts', + content: () => import('material-icon-theme/icons/react_ts.svg?raw'), + matcher: /^.*\.tsx$/, + }, + ], + }, + { + id: 'react', + icons: [ + { + name: 'react', + content: () => import('material-icon-theme/icons/react.svg?raw'), + matcher: /^.*\.jsx$/, + }, + ], + }, + { + id: 'css', + icons: [ + { + name: 'css', + content: () => import('material-icon-theme/icons/css.svg?raw'), + matcher: /^.*\.css$/, + }, + { + name: 'less', + content: () => import('material-icon-theme/icons/less.svg?raw'), + matcher: /^.*\.less$/, + }, + { + name: 'sass', + content: () => import('material-icon-theme/icons/sass.svg?raw'), + matcher: /^.*\.scss$/, + }, + ], + }, + { + id: 'json', + icons: [ + { + name: 'json', + content: () => import('material-icon-theme/icons/json.svg?raw'), + matcher: /^.*\.json$/, + }, + ], + }, + { + id: 'markdown', + icons: [ + { + name: 'markdown', + content: () => import('material-icon-theme/icons/markdown.svg?raw'), + matcher: /^.*\.(md|mdx)$/, + }, + ], + }, +]; diff --git a/packages/rspress-plugin-file-tree/src/components/presets.ts b/packages/rspress-plugin-file-tree/src/components/presets.ts deleted file mode 100644 index 66fb342..0000000 --- a/packages/rspress-plugin-file-tree/src/components/presets.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const presetClassName = 'rp-file-tree'; - -export function buildClassName(fragment?: string) { - return fragment?.length ? `${presetClassName}-${fragment}` : presetClassName; -} diff --git a/packages/rspress-plugin-file-tree/src/components/tree-parser/tree-parser.ts b/packages/rspress-plugin-file-tree/src/components/tree-parser/tree-parser.ts new file mode 100644 index 0000000..3e28ce8 --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/tree-parser/tree-parser.ts @@ -0,0 +1,149 @@ +import { ParsedTree, TreeNode } from './types'; + +/** + * Parse tree-style directory structure text into TreeNode array + * + * Supported formats: + * doc_build + * ├── file.ts + * └── folder + * ├── nested.ts + * └── another.ts + */ +export function parseTreeContent(content: string): ParsedTree { + const lines = content.split('\n').filter((line) => line.trim()); + const nodes: TreeNode[] = []; + const stack: { node: TreeNode; indent: number }[] = []; + + for (const line of lines) { + const indent = calculateIndent(line); + const fullName = extractName(line); + // Split name and potential comment + // e.g. "file.ts // comment" -> name="file.ts", comment="comment" + const commentMatch = fullName.match(/^(.*?)(?:\s*\/\/\s*(.*))?$/); + const name = commentMatch ? commentMatch[1].trim() : fullName; + + if (!name) continue; + + const isDirectory = isDirectoryName(name); + + const node: TreeNode = { + name: name.replace(/\/$/, ''), + type: isDirectory ? 'directory' : 'file', + children: [], + extension: isDirectory ? undefined : getExtension(name), + }; + + // Find parent node by popping items with equal or greater indent + while (stack.length > 0 && stack[stack.length - 1].indent >= indent) { + stack.pop(); + } + + if (stack.length === 0) { + nodes.push(node); + } else { + stack[stack.length - 1].node.children.push(node); + } + + // Only directories can have children + if (node.type === 'directory') { + stack.push({ node, indent }); + } + } + + return { nodes, raw: content }; +} + +/** + * Calculate indent level from line + * Each level is typically 4 characters: "│ " or " " + */ +function calculateIndent(line: string): number { + let indent = 0; + let i = 0; + + while (i < line.length) { + const char = line[i]; + + // Check for "│ " pattern (vertical line + 3 spaces) + if (char === '│' && line.substring(i, i + 4) === '│ ') { + indent++; + i += 4; + continue; + } + + // Check for 4 spaces + if (line.substring(i, i + 4) === ' ') { + indent++; + i += 4; + continue; + } + + // Check for branch characters (├── or └──) + if (char === '├' || char === '└') { + if ( + line.substring(i, i + 3) === '├──' || + line.substring(i, i + 3) === '└──' + ) { + indent++; + } + break; + } + + // Other characters, stop counting indent + break; + } + + return indent; +} + +/** + * Extract file/folder name from line + * Removes tree characters: ├── └── │ + */ +function extractName(line: string): string { + return line + .replace(/^[\s│]*/g, '') // Remove leading spaces and vertical lines + .replace(/^[├└]──\s*/, '') // Remove branch characters + .trim(); +} + +/** + * Check if name represents a directory + * - Ends with / + * - Has no extension + */ +function isDirectoryName(name: string): boolean { + // Strip comments if any (though name passed here usually already has them, let's be safe if logic changes) + const cleanName = name.split(/\s+\/\//)[0].trim(); + + if (cleanName.endsWith('/')) return true; + + const lastPart = cleanName.split('/').pop() || cleanName; + + // Use a more robust check: files usually have extensions. + // Directories usually don't. + // Exception: Dotfiles (.gitignore) are files. + // exception: names with dots but known extensions are files. + + // If it starts with a dot, it's a file (hidden file), e.g., .gitignore + if (lastPart.startsWith('.')) { + return false; // Treat as file + } + + // If it has an extension (e.g. foo.ts, bar.config.js), it's a file + if (/\.[a-zA-Z0-9]+$/.test(lastPart)) { + return false; + } + + // Otherwise, treat as directory + return true; +} + +/** + * Get file extension from name + */ +function getExtension(name: string): string { + const match = name.match(/\.([^.]+)$/); + return match ? match[1] : ''; +} diff --git a/packages/rspress-plugin-file-tree/src/components/tree-parser/types.ts b/packages/rspress-plugin-file-tree/src/components/tree-parser/types.ts new file mode 100644 index 0000000..5d38cdb --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/components/tree-parser/types.ts @@ -0,0 +1,11 @@ +export interface TreeNode { + name: string; + type: 'file' | 'directory'; + children: TreeNode[]; + extension?: string; +} + +export interface ParsedTree { + nodes: TreeNode[]; + raw: string; +} diff --git a/packages/rspress-plugin-file-tree/src/env.d.ts b/packages/rspress-plugin-file-tree/src/env.d.ts new file mode 100644 index 0000000..99883ea --- /dev/null +++ b/packages/rspress-plugin-file-tree/src/env.d.ts @@ -0,0 +1,14 @@ +declare module '*.svg' { + const content: string; + export default content; +} + +declare module '*.svg?raw' { + const content: string; + export default content; +} + +declare module '*.module.less' { + const classes: { [key: string]: string }; + export default classes; +} diff --git a/packages/rspress-plugin-file-tree/src/index.ts b/packages/rspress-plugin-file-tree/src/index.ts index 0961973..d8e38e2 100644 --- a/packages/rspress-plugin-file-tree/src/index.ts +++ b/packages/rspress-plugin-file-tree/src/index.ts @@ -1,11 +1,8 @@ import path from 'node:path'; -import { - PresetConfigMutator, - RemarkCodeBlockToGlobalComponentPluginFactory, -} from 'rspress-plugin-devkit'; +import { RemarkCodeBlockToGlobalComponentPluginFactory } from 'rspress-plugin-devkit'; -import { parseInput } from './parser'; +import { parseTreeContent } from './components/tree-parser/tree-parser'; import type { RspressPlugin } from '@rspress/core'; @@ -26,11 +23,11 @@ export default function rspressPluginFileTree( lang: 'tree', componentPath: path.join( PACKAGE_ROOT, - 'dist/components/Tree/FileTreeRender', + 'dist/components/FileTree/FileTree', ), propsProvider(code) { return { - tree: parseInput(code), + nodes: parseTreeContent(code).nodes, initialExpandDepth, }; }, @@ -40,8 +37,6 @@ export default function rspressPluginFileTree( return { name: 'rspress-plugin-file-tree', - // config not needed for Rspress V2 - globalStyles: path.join(PACKAGE_ROOT, 'dist/components/Tree/index.css'), markdown: { remarkPlugins: [remarkFileTree.remarkPlugin], globalComponents: remarkFileTree.mdxComponents, diff --git a/packages/rspress-plugin-file-tree/src/parser.ts b/packages/rspress-plugin-file-tree/src/parser.ts deleted file mode 100644 index 35448c4..0000000 --- a/packages/rspress-plugin-file-tree/src/parser.ts +++ /dev/null @@ -1,56 +0,0 @@ -type TreeItem = { - type: 'file' | 'directory'; - name: string; - extra?: string; - files?: TreeItem[]; -}; - -function countLeadingSpaces(line: string): number { - const matches = line.match(/^(\s*\│\s*)*/); - if (!matches) return 0; - return matches[0].length; -} - -export function parseInput(input: string): TreeItem[] { - const lines = input.split('\n').filter((line) => line.trim()); - const tree: TreeItem[] = []; - const stack: { level: number; item: TreeItem }[] = []; - - for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - - if (line === '.') continue; - - const level = countLeadingSpaces(line); - - const normalizedLine = line.split('─').slice(-1)[0].trimStart(); - - const [_, name, extra = ''] = - normalizedLine.match(/^(.*?)(?:\s*\/\/\s*(.*))?$/) ?? []; - - const nextLine = lines[i + 1] || ''; - const nextLineLevel = countLeadingSpaces(nextLine); - const type = nextLineLevel > level ? 'directory' : 'file'; - const item: TreeItem = - type === 'directory' - ? { type, name, files: [], extra } - : { type, name, extra }; - - while (stack.length > 0 && stack[stack.length - 1].level >= level) { - stack.pop(); - } - - if (stack.length === 0) { - tree.push(item); - } else { - const parentItem = stack[stack.length - 1].item; - parentItem.files?.push(item); - } - - if (item.type === 'directory') { - stack.push({ level, item }); - } - } - - return tree; -} diff --git a/packages/rspress-plugin-file-tree/tests/fixtures.ts b/packages/rspress-plugin-file-tree/tests/fixtures.ts deleted file mode 100644 index 1573977..0000000 --- a/packages/rspress-plugin-file-tree/tests/fixtures.ts +++ /dev/null @@ -1,71 +0,0 @@ -export const normalTreeInput = `. -├── rspress.config.ts -├── src -│ ├── components -│ │ ├── FileTreeRender.tsx -│ │ ├── Tree -│ │ │ ├── Expand.tsx -│ │ │ ├── FileIcon.tsx -│ │ │ ├── Tree.tsx -│ │ │ ├── TreeContext.tsx -│ │ │ ├── TreeFile.tsx -│ │ │ ├── TreeFolder.tsx -│ │ │ ├── TreeFolderIcon.tsx -│ │ │ ├── TreeIndents.tsx -│ │ │ ├── TreeStatusIcon.tsx -│ │ │ ├── index.less -│ │ │ └── index.tsx -│ │ ├── helpers.ts -│ │ └── presets.ts -│ ├── index.ts -│ └── parser.ts -└── tsconfig.json -`; - -export const withCommentTreeInput = `. -├── rspress.config.ts // Rspress config -├── src -│ ├── components // Shared components -│ │ ├── FileTreeRender.tsx // The file tree render entry -│ │ ├── Tree -│ │ │ ├── Expand.tsx -│ │ │ ├── FileIcon.tsx -│ │ │ ├── Tree.tsx -│ │ │ ├── TreeContext.tsx -│ │ │ ├── TreeFile.tsx -│ │ │ ├── TreeFolder.tsx -│ │ │ ├── TreeFolderIcon.tsx -│ │ │ ├── TreeIndents.tsx -│ │ │ ├── TreeStatusIcon.tsx -│ │ │ ├── index.less -│ │ │ └── index.tsx -│ │ ├── helpers.ts -│ │ └── presets.ts -│ ├── index.ts -│ └── parser.ts // Parse string input to tree structure -└── tsconfig.json -`; - -export const withSpacesTreeInput = `. -├── -1. rspress.config.ts // Rspress config -├── 0. src -│ ├── components // Shared components -│ │ ├── FileTreeRender.tsx // The file tree render entry -│ │ ├── Tree -│ │ │ ├── Expand.tsx -│ │ │ ├── FileIcon.tsx -│ │ │ ├── Tree.tsx -│ │ │ ├── TreeContext.tsx -│ │ │ ├── TreeFile.tsx -│ │ │ ├── TreeFolder.tsx -│ │ │ ├── TreeFolderIcon.tsx -│ │ │ ├── TreeIndents.tsx -│ │ │ ├── TreeStatusIcon.tsx -│ │ │ ├── index.less -│ │ │ └── index.tsx -│ │ ├── helpers.ts -│ │ └── presets.ts -│ ├── index.ts -│ └── parser.ts // Parse string input to tree structure -└── 1. tsconfig.json -`; diff --git a/packages/rspress-plugin-file-tree/tests/parser.spec.ts b/packages/rspress-plugin-file-tree/tests/parser.spec.ts index 6065257..a380006 100644 --- a/packages/rspress-plugin-file-tree/tests/parser.spec.ts +++ b/packages/rspress-plugin-file-tree/tests/parser.spec.ts @@ -1,124 +1,165 @@ import { expect, test } from 'vitest'; - -import { parseInput } from '../src/parser'; - -import { - normalTreeInput, - withCommentTreeInput, - withSpacesTreeInput, -} from './fixtures'; +import { parseTreeContent } from '../src/components/tree-parser/tree-parser'; test('Should parse normal input', () => { - expect(parseInput(normalTreeInput)).toMatchInlineSnapshot(` + const input = ` +. +├── rspress.config.ts +├── src +│ ├── components +│ │ ├── FileTreeRender.tsx +│ │ ├── Tree +│ │ │ ├── Expand.tsx +│ │ │ ├── FileIcon.tsx +│ │ │ ├── Tree.tsx +│ │ │ ├── TreeContext.tsx +│ │ │ ├── TreeFile.tsx +│ │ │ ├── TreeFolder.tsx +│ │ │ ├── TreeFolderIcon.tsx +│ │ │ ├── TreeIndents.tsx +│ │ │ ├── TreeStatusIcon.tsx +│ │ │ ├── index.less +│ │ │ └── index.tsx +│ │ ├── helpers.ts +│ │ └── presets.ts +│ ├── index.ts +│ └── parser.ts +└── tsconfig.json +`; + expect(parseTreeContent(input).nodes).toMatchInlineSnapshot(` [ { - "extra": "", + "children": [], + "extension": "", + "name": ".", + "type": "file", + }, + { + "children": [], + "extension": "ts", "name": "rspress.config.ts", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "", - "files": [ + "children": [ { - "extra": "", + "children": [], + "extension": "tsx", "name": "FileTreeRender.tsx", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "", + "children": [], + "extension": "tsx", "name": "Expand.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "FileIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "Tree.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeContext.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFile.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolder.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolderIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeIndents.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeStatusIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "less", "name": "index.less", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "index.tsx", "type": "file", }, ], + "extension": undefined, "name": "Tree", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "helpers.ts", "type": "file", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "presets.ts", "type": "file", }, ], + "extension": undefined, "name": "components", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "index.ts", "type": "file", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "parser.ts", "type": "file", }, ], + "extension": undefined, "name": "src", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "json", "name": "tsconfig.json", "type": "file", }, @@ -127,116 +168,157 @@ test('Should parse normal input', () => { }); test('Should parse input with comments', () => { - expect(parseInput(withCommentTreeInput)).toMatchInlineSnapshot(` + const input = ` +├── rspress.config.ts // Rspress config +├── src +│ ├── components // Shared components +│ │ ├── FileTreeRender.tsx // The file tree render entry +│ │ ├── Tree +│ │ │ ├── Expand.tsx +│ │ │ ├── FileIcon.tsx +│ │ │ ├── Tree.tsx +│ │ │ ├── TreeContext.tsx +│ │ │ ├── TreeFile.tsx +│ │ │ ├── TreeFolder.tsx +│ │ │ ├── TreeFolderIcon.tsx +│ │ │ ├── TreeIndents.tsx +│ │ │ ├── TreeStatusIcon.tsx +│ │ │ ├── index.less +│ │ │ └── index.tsx +│ │ ├── helpers.ts +│ │ └── presets.ts +│ ├── index.ts +│ └── parser.ts // Parse string input to tree structure +└── tsconfig.json +`; + expect(parseTreeContent(input).nodes).toMatchInlineSnapshot(` [ { - "extra": "Rspress config", + "children": [], + "extension": "ts", "name": "rspress.config.ts", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "Shared components", - "files": [ + "children": [ { - "extra": "The file tree render entry", + "children": [], + "extension": "tsx", "name": "FileTreeRender.tsx", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "", + "children": [], + "extension": "tsx", "name": "Expand.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "FileIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "Tree.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeContext.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFile.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolder.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolderIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeIndents.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeStatusIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "less", "name": "index.less", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "index.tsx", "type": "file", }, ], + "extension": undefined, "name": "Tree", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "helpers.ts", "type": "file", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "presets.ts", "type": "file", }, ], + "extension": undefined, "name": "components", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "index.ts", "type": "file", }, { - "extra": "Parse string input to tree structure", + "children": [], + "extension": "ts", "name": "parser.ts", "type": "file", }, ], + "extension": undefined, "name": "src", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "json", "name": "tsconfig.json", "type": "file", }, @@ -245,116 +327,157 @@ test('Should parse input with comments', () => { }); test('Should parse input with spaces', () => { - expect(parseInput(withSpacesTreeInput)).toMatchInlineSnapshot(` + const input = ` +├── 0. rspress.config.ts // Rspress config +├── -1. src +│ ├── 2. components // Shared components +│ │ ├── FileTreeRender.tsx // The file tree render entry +│ │ ├── Tree +│ │ │ ├── Expand.tsx +│ │ │ ├── FileIcon.tsx +│ │ │ ├── Tree.tsx +│ │ │ ├── TreeContext.tsx +│ │ │ ├── TreeFile.tsx +│ │ │ ├── TreeFolder.tsx +│ │ │ ├── TreeFolderIcon.tsx +│ │ │ ├── TreeIndents.tsx +│ │ │ ├── TreeStatusIcon.tsx +│ │ │ ├── index.less +│ │ │ └── index.tsx +│ │ ├── helpers.ts +│ │ └── presets.ts +│ ├── index.ts +│ └── parser.ts // Parse string input to tree structure +└── 1. tsconfig.json +`; + expect(parseTreeContent(input).nodes).toMatchInlineSnapshot(` [ { - "extra": "Rspress config", - "name": "-1. rspress.config.ts", + "children": [], + "extension": "ts", + "name": "0. rspress.config.ts", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "Shared components", - "files": [ + "children": [ { - "extra": "The file tree render entry", + "children": [], + "extension": "tsx", "name": "FileTreeRender.tsx", "type": "file", }, { - "extra": "", - "files": [ + "children": [ { - "extra": "", + "children": [], + "extension": "tsx", "name": "Expand.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "FileIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "Tree.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeContext.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFile.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolder.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeFolderIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeIndents.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "TreeStatusIcon.tsx", "type": "file", }, { - "extra": "", + "children": [], + "extension": "less", "name": "index.less", "type": "file", }, { - "extra": "", + "children": [], + "extension": "tsx", "name": "index.tsx", "type": "file", }, ], + "extension": undefined, "name": "Tree", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "helpers.ts", "type": "file", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "presets.ts", "type": "file", }, ], - "name": "components", + "extension": undefined, + "name": "2. components", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "ts", "name": "index.ts", "type": "file", }, { - "extra": "Parse string input to tree structure", + "children": [], + "extension": "ts", "name": "parser.ts", "type": "file", }, ], - "name": "0. src", + "extension": undefined, + "name": "-1. src", "type": "directory", }, { - "extra": "", + "children": [], + "extension": "json", "name": "1. tsconfig.json", "type": "file", }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d9b6d1..a88f3cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,19 +143,19 @@ importers: specifier: ^4.0.4 version: 4.0.4 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^25.0.3 + version: 25.0.3 clsx: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.1.1 + version: 2.1.1 lodash-es: - specifier: ^4.17.21 - version: 4.17.21 + specifier: ^4.17.22 + version: 4.17.22 mdast-util-from-markdown: specifier: ^2.0.2 version: 2.0.2 mdast-util-mdx-jsx: - specifier: ^3.1.3 + specifier: ^3.2.0 version: 3.2.0 mdast-util-mdxjs-esm: specifier: ^2.0.1 @@ -167,11 +167,11 @@ importers: specifier: ^4.0.0 version: 4.0.0 remark-mdc: - specifier: ^3.5.0 + specifier: ^3.10.0 version: 3.10.0 ts-morph: - specifier: ^22.0.0 - version: 22.0.0 + specifier: ^27.0.2 + version: 27.0.2 unified: specifier: ^11.0.5 version: 11.0.5 @@ -179,8 +179,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 unist-util-visit-parents: - specifier: ^6.0.1 - version: 6.0.1 + specifier: ^6.0.2 + version: 6.0.2 util-ts-types: specifier: ^1.0.0 version: 1.0.0 @@ -222,10 +222,10 @@ importers: devDependencies: '@rsbuild/plugin-less': specifier: ^1.2.1 - version: 1.5.0(@rsbuild/core@1.6.15) + version: 1.5.0(@rsbuild/core@1.7.2) '@rsbuild/plugin-react': specifier: ^1.1.1 - version: 1.4.2(@rsbuild/core@1.6.15) + version: 1.4.2(@rsbuild/core@1.7.2) '@rslib/core': specifier: ^0.19.1 version: 0.19.1(typescript@5.4.4) @@ -235,6 +235,9 @@ importers: '@types/react': specifier: ^18.2.74 version: 18.2.74 + material-icon-theme: + specifier: ^5.30.0 + version: 5.30.0 typescript: specifier: ^5.4.4 version: 5.4.4 @@ -1763,6 +1766,18 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true + /@isaacs/balanced-match@4.0.1: + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + dev: false + + /@isaacs/brace-expansion@5.0.0: + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + dependencies: + '@isaacs/balanced-match': 4.0.1 + dev: false + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1887,6 +1902,7 @@ packages: /@module-federation/error-codes@0.21.6: resolution: {integrity: sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==} + dev: false /@module-federation/error-codes@0.22.0: resolution: {integrity: sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==} @@ -1897,6 +1913,7 @@ packages: dependencies: '@module-federation/error-codes': 0.21.6 '@module-federation/sdk': 0.21.6 + dev: false /@module-federation/runtime-core@0.22.0: resolution: {integrity: sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==} @@ -1910,6 +1927,7 @@ packages: dependencies: '@module-federation/runtime': 0.21.6 '@module-federation/webpack-bundler-runtime': 0.21.6 + dev: false /@module-federation/runtime-tools@0.22.0: resolution: {integrity: sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==} @@ -1924,6 +1942,7 @@ packages: '@module-federation/error-codes': 0.21.6 '@module-federation/runtime-core': 0.21.6 '@module-federation/sdk': 0.21.6 + dev: false /@module-federation/runtime@0.22.0: resolution: {integrity: sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==} @@ -1935,6 +1954,7 @@ packages: /@module-federation/sdk@0.21.6: resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==} + dev: false /@module-federation/sdk@0.22.0: resolution: {integrity: sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==} @@ -1945,6 +1965,7 @@ packages: dependencies: '@module-federation/runtime': 0.21.6 '@module-federation/sdk': 0.21.6 + dev: false /@module-federation/webpack-bundler-runtime@0.22.0: resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} @@ -2188,6 +2209,7 @@ packages: '@swc/helpers': 0.5.18 core-js: 3.47.0 jiti: 2.6.1 + dev: false /@rsbuild/core@1.7.2: resolution: {integrity: sha512-VAFO6cM+cyg2ntxNW6g3tB2Jc5J5mpLjLluvm7VtW2uceNzyUlVv41o66Yp1t1ikxd3ljtqegViXem62JqzveA==} @@ -2201,12 +2223,12 @@ packages: jiti: 2.6.1 dev: true - /@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.6.15): + /@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.7.2): resolution: {integrity: sha512-l+/J4/ZQl6UtCUqAaymo9H917ZJiqX8uxTYesG/xdyYJP2H3dn7fznjDP3d29eQhoY0wc3rcCvvjTYtpYG9OxQ==} peerDependencies: '@rsbuild/core': 1.x dependencies: - '@rsbuild/core': 1.6.15 + '@rsbuild/core': 1.7.2 deepmerge: 4.3.1 reduce-configs: 1.1.1 dev: true @@ -2221,6 +2243,19 @@ packages: react-refresh: 0.18.0 transitivePeerDependencies: - webpack-hot-middleware + dev: false + + /@rsbuild/plugin-react@1.4.2(@rsbuild/core@1.7.2): + resolution: {integrity: sha512-2rJb5mOuqVof2aDq4SbB1E65+0n1vjhAADipC88jvZRNuTOulg79fh7R4tsCiBMI4VWq46gSpwekiK8G5bq6jg==} + peerDependencies: + '@rsbuild/core': 1.x + dependencies: + '@rsbuild/core': 1.7.2 + '@rspack/plugin-react-refresh': 1.5.3(react-refresh@0.18.0) + react-refresh: 0.18.0 + transitivePeerDependencies: + - webpack-hot-middleware + dev: true /@rslib/core@0.19.1(typescript@5.4.4): resolution: {integrity: sha512-Fz+uknjf9BRE6tNax7zcZOZ8FX3FLT5kKcR10vHdo6IgCaMZpJxQmM62NNfv21kdy5u1PdIRgKFVpqP2QTarfg==} @@ -2247,6 +2282,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true /@rspack/binding-darwin-arm64@1.7.1: @@ -2262,6 +2298,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true /@rspack/binding-darwin-x64@1.7.1: @@ -2277,6 +2314,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@rspack/binding-linux-arm64-gnu@1.7.1: @@ -2292,6 +2330,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@rspack/binding-linux-arm64-musl@1.7.1: @@ -2307,6 +2346,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@rspack/binding-linux-x64-gnu@1.7.1: @@ -2322,6 +2362,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@rspack/binding-linux-x64-musl@1.7.1: @@ -2338,6 +2379,7 @@ packages: requiresBuild: true dependencies: '@napi-rs/wasm-runtime': 1.0.7 + dev: false optional: true /@rspack/binding-wasm32-wasi@1.7.1: @@ -2354,6 +2396,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true /@rspack/binding-win32-arm64-msvc@1.7.1: @@ -2369,6 +2412,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: false optional: true /@rspack/binding-win32-ia32-msvc@1.7.1: @@ -2384,6 +2428,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: false optional: true /@rspack/binding-win32-x64-msvc@1.7.1: @@ -2407,6 +2452,7 @@ packages: '@rspack/binding-win32-arm64-msvc': 1.6.8 '@rspack/binding-win32-ia32-msvc': 1.6.8 '@rspack/binding-win32-x64-msvc': 1.6.8 + dev: false /@rspack/binding@1.7.1: resolution: {integrity: sha512-qVTV1/UWpMSZktvK5A8+HolgR1Qf0nYR3Gg4Vax5x3/BcHDpwGZ0fbdFRUirGVWH/XwxZ81zoI6F2SZq7xbX+w==} @@ -2436,6 +2482,7 @@ packages: '@rspack/binding': 1.6.8 '@rspack/lite-tapable': 1.1.0 '@swc/helpers': 0.5.18 + dev: false /@rspack/core@1.7.1(@swc/helpers@0.5.18): resolution: {integrity: sha512-kRxfY8RRa6nU3/viDvAIP6CRpx+0rfXFRonPL0pHBx8u6HhV7m9rLEyaN6MWsLgNIAWkleFGb7tdo4ux2ljRJQ==} @@ -2703,13 +2750,12 @@ packages: dependencies: tslib: 2.8.1 - /@ts-morph/common@0.23.0: - resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} + /@ts-morph/common@0.28.1: + resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} dependencies: - fast-glob: 3.3.2 - minimatch: 9.0.4 - mkdirp: 3.0.1 + minimatch: 10.1.1 path-browserify: 1.0.1 + tinyglobby: 0.2.15 dev: false /@tybys/wasm-util@0.10.1: @@ -2852,6 +2898,12 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@25.0.3: + resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} + dependencies: + undici-types: 7.16.0 + dev: false + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3449,6 +3501,7 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 + dev: true /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -3615,6 +3668,10 @@ packages: fsevents: 2.3.3 dev: false + /chroma-js@3.2.0: + resolution: {integrity: sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==} + dev: true + /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -3663,14 +3720,15 @@ packages: /clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} + dev: true /clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} dev: false - /code-block-writer@13.0.1: - resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} + /code-block-writer@13.0.3: + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} dev: false /codemirror-graphql@0.11.6(@types/node@20.12.5)(codemirror@5.65.16)(graphql@15.8.0): @@ -4321,7 +4379,7 @@ packages: resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} dependencies: d3: 7.9.0 - lodash-es: 4.17.21 + lodash-es: 4.17.22 dev: false /data-view-buffer@1.0.1: @@ -4417,6 +4475,14 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /deep-rename-keys@0.2.1: + resolution: {integrity: sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + rename-keys: 1.2.0 + dev: true + /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -4956,10 +5022,19 @@ packages: engines: {node: '>= 0.6'} dev: false + /eventemitter3@2.0.3: + resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} + dev: true + /eventemitter3@3.1.2: resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} dev: false + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -6163,6 +6238,10 @@ packages: has-tostringtag: 1.0.2 dev: true + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -6553,6 +6632,13 @@ packages: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} dev: false + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -6659,10 +6745,6 @@ packages: p-locate: 5.0.0 dev: true - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false - /lodash-es@4.17.22: resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} dev: false @@ -6818,6 +6900,16 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false + /material-icon-theme@5.30.0: + resolution: {integrity: sha512-GAB9vZGEVBQWD7NfZpx6mzkV47IJ6MaSFRLTXIhk9eCKrHbT5BlCwkeieu1Db/hDJHrQ/n+RdMvGtZa70FCGCQ==} + engines: {vscode: ^1.55.0} + dependencies: + chroma-js: 3.2.0 + events: 3.3.0 + fast-deep-equal: 3.1.3 + svgson: 5.3.1 + dev: true + /mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} dev: true @@ -6828,7 +6920,7 @@ packages: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 dev: false /mdast-util-from-markdown@1.3.1: @@ -6976,7 +7068,7 @@ packages: devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.1 + parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 @@ -7150,7 +7242,7 @@ packages: elkjs: 0.9.2 katex: 0.16.10 khroma: 2.1.0 - lodash-es: 4.17.21 + lodash-es: 4.17.22 mdast-util-from-markdown: 1.3.1 non-layered-tidy-tree-layout: 2.0.2 stylis: 4.3.1 @@ -7804,6 +7896,13 @@ packages: engines: {node: '>=4'} dev: true + /minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + dependencies: + '@isaacs/brace-expansion': 5.0.0 + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -7821,6 +7920,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 + dev: true /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -7852,12 +7952,6 @@ packages: minimist: 1.2.8 dev: false - /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} dependencies: @@ -8131,19 +8225,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} - dependencies: - '@types/unist': 2.0.10 - character-entities: 2.0.2 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - dev: false - /parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} dependencies: @@ -9024,7 +9105,7 @@ packages: hast-util-from-html-isomorphic: 2.0.0 hast-util-to-text: 4.0.1 katex: 0.16.10 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 vfile: 6.0.3 dev: false @@ -9137,6 +9218,11 @@ packages: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: false + /rename-keys@1.2.0: + resolution: {integrity: sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==} + engines: {node: '>= 0.8.0'} + dev: true + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -9866,6 +9952,13 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true + /svgson@5.3.1: + resolution: {integrity: sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==} + dependencies: + deep-rename-keys: 0.2.1 + xml-reader: 2.4.3 + dev: true + /symbol-observable@1.2.0: resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} engines: {node: '>=0.10.0'} @@ -10026,11 +10119,11 @@ packages: tslib: 1.14.1 dev: false - /ts-morph@22.0.0: - resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} + /ts-morph@27.0.2: + resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} dependencies: - '@ts-morph/common': 0.23.0 - code-block-writer: 13.0.1 + '@ts-morph/common': 0.28.1 + code-block-writer: 13.0.3 dev: false /tslib@1.14.1: @@ -10184,6 +10277,10 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + dev: false + /unhead@2.1.1: resolution: {integrity: sha512-NOt8n2KybAOxSLfNXegAVai4SGU8bPKqWnqCzNAvnRH2i8mW+0bbFjN/L75LBgCSTiOjJSpANe5w2V34Grr7Cw==} dependencies: @@ -10252,13 +10349,6 @@ packages: '@types/unist': 3.0.3 dev: false - /unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - dependencies: - '@types/unist': 3.0.2 - unist-util-is: 6.0.0 - dev: false - /unist-util-visit-parents@6.0.2: resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} dependencies: @@ -10271,7 +10361,7 @@ packages: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 dev: false /universalify@0.1.2: @@ -10773,6 +10863,19 @@ packages: optional: true dev: false + /xml-lexer@0.2.2: + resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==} + dependencies: + eventemitter3: 2.0.3 + dev: true + + /xml-reader@2.4.3: + resolution: {integrity: sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==} + dependencies: + eventemitter3: 2.0.3 + xml-lexer: 0.2.2 + dev: true + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true From 0ef04b7e951d70be0e99a807f67c46cc91b8d7c7 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 04:57:39 +0800 Subject: [PATCH 08/15] refactor: katex --- packages/rspress-plugin-katex/package.json | 6 ++++-- packages/rspress-plugin-katex/src/index.ts | 20 +++++++++++++++++++- pnpm-lock.yaml | 19 +++++++------------ 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/packages/rspress-plugin-katex/package.json b/packages/rspress-plugin-katex/package.json index 21523f0..c1ff673 100644 --- a/packages/rspress-plugin-katex/package.json +++ b/packages/rspress-plugin-katex/package.json @@ -36,11 +36,13 @@ "katex": "^0.16.10", "rehype-katex": "^7.0.0", "remark-math": "^6.0.0", - "rspress-plugin-devkit": "workspace:^" + "rspress-plugin-devkit": "workspace:^", + "unist-util-visit": "^5.0.0" }, "devDependencies": { "@types/node": "^20.12.5", - "typescript": "^5.4.4" + "typescript": "^5.4.4", + "unified": "^11.0.5" }, "peerDependencies": { "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" diff --git a/packages/rspress-plugin-katex/src/index.ts b/packages/rspress-plugin-katex/src/index.ts index 53c0a8c..2aa4565 100644 --- a/packages/rspress-plugin-katex/src/index.ts +++ b/packages/rspress-plugin-katex/src/index.ts @@ -9,6 +9,24 @@ export interface RspressPluginKatexOptions extends RemarkMathOptions, RehypeKatexOptions {} +import { visit } from 'unist-util-visit'; +import type { Plugin } from 'unified'; + +const remarkCodeBlockToMath: Plugin = () => { + return (tree) => { + visit(tree, 'code', (node: any) => { + if (node.lang === 'math') { + node.data = { + hName: 'div', + hProperties: { className: ['math', 'math-display'] }, + }; + delete node.lang; + delete node.meta; + } + }); + }; +}; + export default function rspressPluginKatex( options: RspressPluginKatexOptions = {}, ): RspressPlugin { @@ -19,7 +37,7 @@ export default function rspressPluginKatex( // config not needed for Rspress V2 globalStyles: katexCss, markdown: { - remarkPlugins: [[remarkMath, options]], + remarkPlugins: [[remarkMath, options], remarkCodeBlockToMath], rehypePlugins: [[rehypeKatex, options]], }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a88f3cd..cfea5b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -303,6 +303,9 @@ importers: rspress-plugin-devkit: specifier: workspace:^ version: link:../rspress-plugin-devkit + unist-util-visit: + specifier: ^5.0.0 + version: 5.0.0 devDependencies: '@types/node': specifier: ^20.12.5 @@ -310,6 +313,9 @@ importers: typescript: specifier: ^5.4.4 version: 5.4.4 + unified: + specifier: ^11.0.5 + version: 11.0.5 packages/rspress-plugin-live2d: dependencies: @@ -2991,7 +2997,6 @@ packages: /@types/unist@3.0.3: resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - dev: false /@types/use-sync-external-store@0.0.3: resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} @@ -3425,7 +3430,6 @@ packages: /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -4528,7 +4532,6 @@ packages: /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - dev: false /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} @@ -4544,7 +4547,6 @@ packages: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} dependencies: dequal: 2.0.3 - dev: false /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} @@ -5102,7 +5104,6 @@ packages: /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false /extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -6338,7 +6339,6 @@ packages: /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - dev: false /is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} @@ -10102,7 +10102,6 @@ packages: /trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - dev: false /tryer@1.0.1: resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} @@ -10297,7 +10296,6 @@ packages: is-plain-obj: 4.1.0 trough: 2.2.0 vfile: 6.0.3 - dev: false /unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} @@ -10341,7 +10339,6 @@ packages: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: '@types/unist': 3.0.3 - dev: false /unist-util-visit-children@3.0.0: resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} @@ -10359,7 +10356,7 @@ packages: /unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.2 dev: false @@ -10490,7 +10487,6 @@ packages: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - dev: false /vfile-reporter@8.1.1: resolution: {integrity: sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==} @@ -10524,7 +10520,6 @@ packages: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.2 - dev: false /vite-node@1.4.0: resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} From 42e4920dfc3ea4fdcb279f0f0ae40a37cc98c7df Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 05:03:45 +0800 Subject: [PATCH 09/15] refactor: live-2d --- .../rspress-plugin-live2d/components/Live2DWidget.d.ts | 4 ---- .../rspress-plugin-live2d/components/Live2DWidget.jsx | 9 --------- .../rspress-plugin-live2d/components/Live2DWidget.tsx | 7 ++++--- 3 files changed, 4 insertions(+), 16 deletions(-) delete mode 100644 packages/rspress-plugin-live2d/components/Live2DWidget.d.ts delete mode 100644 packages/rspress-plugin-live2d/components/Live2DWidget.jsx diff --git a/packages/rspress-plugin-live2d/components/Live2DWidget.d.ts b/packages/rspress-plugin-live2d/components/Live2DWidget.d.ts deleted file mode 100644 index 98eb94a..0000000 --- a/packages/rspress-plugin-live2d/components/Live2DWidget.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import React from 'react'; -import type { Live2DWidgetProps } from '../src/typings'; -declare const Live2DWidget: React.FC; -export default Live2DWidget; diff --git a/packages/rspress-plugin-live2d/components/Live2DWidget.jsx b/packages/rspress-plugin-live2d/components/Live2DWidget.jsx deleted file mode 100644 index aa7cdb8..0000000 --- a/packages/rspress-plugin-live2d/components/Live2DWidget.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import { useEffect } from 'react'; -import { loadOml2d } from 'oh-my-live2d'; -const Live2DWidget = (options) => { - useEffect(() => { - loadOml2d(options); - }, []); - return null; -}; -export default Live2DWidget; diff --git a/packages/rspress-plugin-live2d/components/Live2DWidget.tsx b/packages/rspress-plugin-live2d/components/Live2DWidget.tsx index b655e61..0a6929f 100644 --- a/packages/rspress-plugin-live2d/components/Live2DWidget.tsx +++ b/packages/rspress-plugin-live2d/components/Live2DWidget.tsx @@ -1,12 +1,13 @@ import React, { useEffect } from 'react'; -import { loadOml2d } from 'oh-my-live2d'; - import type { Live2DWidgetProps } from '../src/typings'; const Live2DWidget: React.FC = (options) => { useEffect(() => { - loadOml2d(options); + import('oh-my-live2d').then(({ loadOml2d }) => { + console.log(1111111); + loadOml2d(options); + }); }, []); return null; From e35171ea436154d4fa58bb5c67be0f628424ff16 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 05:06:18 +0800 Subject: [PATCH 10/15] refactor: reading-time --- .../components/ReadingTime.css | 14 ++++++++++++++ .../components/ReadingTime.less | 19 ------------------- .../components/ReadingTime.tsx | 2 +- 3 files changed, 15 insertions(+), 20 deletions(-) create mode 100644 packages/rspress-plugin-reading-time/components/ReadingTime.css delete mode 100644 packages/rspress-plugin-reading-time/components/ReadingTime.less diff --git a/packages/rspress-plugin-reading-time/components/ReadingTime.css b/packages/rspress-plugin-reading-time/components/ReadingTime.css new file mode 100644 index 0000000..3cd1aff --- /dev/null +++ b/packages/rspress-plugin-reading-time/components/ReadingTime.css @@ -0,0 +1,14 @@ +.rp-reading-time { + position: relative; + top: -18px; + font-style: italic; + font-size: 15px; +} + +.rp-reading-time[data-dark='true'] { + color: rgba(235, 235, 235, 0.56); +} + +.rp-reading-time[data-dark='false'] { + color: rgba(60, 60, 60, 0.66); +} diff --git a/packages/rspress-plugin-reading-time/components/ReadingTime.less b/packages/rspress-plugin-reading-time/components/ReadingTime.less deleted file mode 100644 index 504b71c..0000000 --- a/packages/rspress-plugin-reading-time/components/ReadingTime.less +++ /dev/null @@ -1,19 +0,0 @@ -@rp-reading-time: ~'rp-reading-time'; - -@rp-reading-time-color-light: ~'rgba(60, 60, 60, 0.66)'; -@rp-reading-time-color-dark: ~'rgba(235, 235, 235, 0.56)'; - -.@{rp-reading-time} { - position: relative; - top: -18px; - font-style: italic; - font-size: 15px; - - &[data-dark='true'] { - color: @rp-reading-time-color-dark; - } - - &[data-dark='false'] { - color: @rp-reading-time-color-light; - } -} diff --git a/packages/rspress-plugin-reading-time/components/ReadingTime.tsx b/packages/rspress-plugin-reading-time/components/ReadingTime.tsx index d5d2b56..5d03164 100644 --- a/packages/rspress-plugin-reading-time/components/ReadingTime.tsx +++ b/packages/rspress-plugin-reading-time/components/ReadingTime.tsx @@ -4,7 +4,7 @@ import { usePageData, useLang, useDark } from '@rspress/core/runtime'; import type { ReadTimeResults } from 'reading-time'; import type { PresetLocale, WithDefaultLocale } from 'rspress-plugin-devkit'; -import './ReadingTime.less'; +import './ReadingTime.css'; interface RspressReadingTimeComponentProps extends WithDefaultLocale {} From 0b2faafbaf77adbecc4b05c0ea6b25c5172bba25 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 05:11:34 +0800 Subject: [PATCH 11/15] chore: remove some pkgs --- wip-packages/rspress-app/.gitignore | 25 --- wip-packages/rspress-app/docs/_meta.json | 16 -- .../rspress-app/docs/guide/_meta.json | 1 - wip-packages/rspress-app/docs/guide/index.md | 210 ------------------ wip-packages/rspress-app/docs/hello.md | 3 - wip-packages/rspress-app/docs/index.md | 37 --- .../docs/public/rspress-dark-logo.png | Bin 6296 -> 0 bytes .../rspress-app/docs/public/rspress-icon.png | Bin 102713 -> 0 bytes .../docs/public/rspress-light-logo.png | Bin 6379 -> 0 bytes wip-packages/rspress-app/package.json | 17 -- wip-packages/rspress-app/rspress.config.ts | 18 -- wip-packages/rspress-app/tsconfig.json | 6 - wip-packages/rspress-plugin-comment/README.md | 1 - .../rspress-plugin-comment/docs/index.md | 1 - .../rspress-plugin-comment/package.json | 26 --- .../rspress-plugin-comment/rspress.config.ts | 16 -- .../rspress-plugin-comment/src/Giscus.tsx | 1 - .../rspress-plugin-comment/src/index.ts | 37 --- .../rspress-plugin-comment/tsconfig.json | 8 - wip-packages/rspress-plugin-pwa/README.md | 61 ----- wip-packages/rspress-plugin-pwa/docs/index.md | 10 - wip-packages/rspress-plugin-pwa/image.png | Bin 54070 -> 0 bytes wip-packages/rspress-plugin-pwa/package.json | 44 ---- .../rspress-plugin-pwa/rspress.config.ts | 9 - wip-packages/rspress-plugin-pwa/src/index.ts | 18 -- wip-packages/rspress-plugin-pwa/tsconfig.json | 8 - .../rspress-plugin-search-page/README.md | 1 - .../rspress-plugin-search-page/docs/index.md | 3 - .../rspress-plugin-search-page/package.json | 25 --- .../rspress.config.ts | 9 - .../src/SearchPage/index.less | 0 .../src/SearchPage/index.tsx | 64 ------ .../rspress-plugin-search-page/src/index.ts | 27 --- .../rspress-plugin-search-page/tsconfig.json | 8 - wip-packages/rspress-plugin-sitemap/README.md | 61 ----- .../rspress-plugin-sitemap/docs/index.md | 10 - wip-packages/rspress-plugin-sitemap/image.png | Bin 54070 -> 0 bytes .../rspress-plugin-sitemap/package.json | 44 ---- .../rspress-plugin-sitemap/rspress.config.ts | 9 - .../rspress-plugin-sitemap/src/index.ts | 18 -- .../rspress-plugin-sitemap/tsconfig.json | 8 - wip-packages/rspress-theme-geist/README.md | 1 - .../rspress-theme-geist/docs/index.md | 1 - wip-packages/rspress-theme-geist/package.json | 25 --- .../rspress-theme-geist/rspress.config.ts | 7 - wip-packages/rspress-theme-geist/src/index.ts | 0 .../rspress-theme-geist/theme/index.tsx | 16 -- .../rspress-theme-geist/tsconfig.json | 8 - 48 files changed, 918 deletions(-) delete mode 100644 wip-packages/rspress-app/.gitignore delete mode 100644 wip-packages/rspress-app/docs/_meta.json delete mode 100644 wip-packages/rspress-app/docs/guide/_meta.json delete mode 100644 wip-packages/rspress-app/docs/guide/index.md delete mode 100644 wip-packages/rspress-app/docs/hello.md delete mode 100644 wip-packages/rspress-app/docs/index.md delete mode 100644 wip-packages/rspress-app/docs/public/rspress-dark-logo.png delete mode 100644 wip-packages/rspress-app/docs/public/rspress-icon.png delete mode 100644 wip-packages/rspress-app/docs/public/rspress-light-logo.png delete mode 100644 wip-packages/rspress-app/package.json delete mode 100644 wip-packages/rspress-app/rspress.config.ts delete mode 100644 wip-packages/rspress-app/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-comment/README.md delete mode 100644 wip-packages/rspress-plugin-comment/docs/index.md delete mode 100644 wip-packages/rspress-plugin-comment/package.json delete mode 100644 wip-packages/rspress-plugin-comment/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-comment/src/Giscus.tsx delete mode 100644 wip-packages/rspress-plugin-comment/src/index.ts delete mode 100644 wip-packages/rspress-plugin-comment/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-pwa/README.md delete mode 100644 wip-packages/rspress-plugin-pwa/docs/index.md delete mode 100644 wip-packages/rspress-plugin-pwa/image.png delete mode 100644 wip-packages/rspress-plugin-pwa/package.json delete mode 100644 wip-packages/rspress-plugin-pwa/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-pwa/src/index.ts delete mode 100644 wip-packages/rspress-plugin-pwa/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-search-page/README.md delete mode 100644 wip-packages/rspress-plugin-search-page/docs/index.md delete mode 100644 wip-packages/rspress-plugin-search-page/package.json delete mode 100644 wip-packages/rspress-plugin-search-page/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-search-page/src/SearchPage/index.less delete mode 100644 wip-packages/rspress-plugin-search-page/src/SearchPage/index.tsx delete mode 100644 wip-packages/rspress-plugin-search-page/src/index.ts delete mode 100644 wip-packages/rspress-plugin-search-page/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-sitemap/README.md delete mode 100644 wip-packages/rspress-plugin-sitemap/docs/index.md delete mode 100644 wip-packages/rspress-plugin-sitemap/image.png delete mode 100644 wip-packages/rspress-plugin-sitemap/package.json delete mode 100644 wip-packages/rspress-plugin-sitemap/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-sitemap/src/index.ts delete mode 100644 wip-packages/rspress-plugin-sitemap/tsconfig.json delete mode 100644 wip-packages/rspress-theme-geist/README.md delete mode 100644 wip-packages/rspress-theme-geist/docs/index.md delete mode 100644 wip-packages/rspress-theme-geist/package.json delete mode 100644 wip-packages/rspress-theme-geist/rspress.config.ts delete mode 100644 wip-packages/rspress-theme-geist/src/index.ts delete mode 100644 wip-packages/rspress-theme-geist/theme/index.tsx delete mode 100644 wip-packages/rspress-theme-geist/tsconfig.json diff --git a/wip-packages/rspress-app/.gitignore b/wip-packages/rspress-app/.gitignore deleted file mode 100644 index 044373f..0000000 --- a/wip-packages/rspress-app/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? -doc_build diff --git a/wip-packages/rspress-app/docs/_meta.json b/wip-packages/rspress-app/docs/_meta.json deleted file mode 100644 index aa4a9a2..0000000 --- a/wip-packages/rspress-app/docs/_meta.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "text": "Guide", - "link": "/guide/", - "activeMatch": "/guide/" - }, - { - "text": "Hello World", - "link": "/hello/", - "activeMatch": "/hello/" - }, - { - "text": "API", - "link": "https://rspress.dev/api/index.html" - } -] diff --git a/wip-packages/rspress-app/docs/guide/_meta.json b/wip-packages/rspress-app/docs/guide/_meta.json deleted file mode 100644 index a7d5eda..0000000 --- a/wip-packages/rspress-app/docs/guide/_meta.json +++ /dev/null @@ -1 +0,0 @@ -["index"] diff --git a/wip-packages/rspress-app/docs/guide/index.md b/wip-packages/rspress-app/docs/guide/index.md deleted file mode 100644 index c0b78e7..0000000 --- a/wip-packages/rspress-app/docs/guide/index.md +++ /dev/null @@ -1,210 +0,0 @@ -# Markdown & MDX - -Rspress supports not only Markdown but also [MDX](https://mdxjs.com/), a powerful way to develop content. - -## Markdown - -MDX is a superset of Markdown, which means you can write Markdown files as usual. For example: - -```md -# Hello World -``` - -## Use Component - -When you want to use React components in Markdown files, you should name your files with `.mdx` extension. For example: - -```mdx -// docs/index.mdx -import { CustomComponent } from './custom'; - -# Hello World - - -``` - -## Front Matter - -You can add Front Matter at the beginning of your Markdown file, which is a YAML-formatted object that defines some metadata. For example: - -```yaml ---- -title: Hello World ---- -``` - -> Note: By default, Rspress uses h1 headings as html headings. - -You can also access properties defined in Front Matter in the body, for example: - -```markdown ---- -title: Hello World ---- - -# {frontmatter.title} -``` - -The previously defined properties will be passed to the component as `frontmatter` properties. So the final output will be: - -```html -

Hello World

-``` - -## Custom Container - -You can use the `:::` syntax to create custom containers and support custom titles. For example: - -**Input:** - -```markdown -:::tip -This is a `block` of type `tip` -::: - -:::info -This is a `block` of type `info` -::: - -:::warning -This is a `block` of type `warning` -::: - -:::danger -This is a `block` of type `danger` -::: - -::: details -This is a `block` of type `details` -::: - -:::tip Custom Title -This is a `block` of `Custom Title` -::: - -:::tip{title="Custom Title"} -This is a `block` of `Custom Title` -::: -``` - -**Output:** - -:::tip -This is a `block` of type `tip` -::: - -:::info -This is a `block` of type `info` -::: - -:::warning -This is a `block` of type `warning` -::: - -:::danger -This is a `block` of type `danger` -::: - -::: details -This is a `block` of type `details` -::: - -:::tip Custom Title -This is a `block` of `Custom Title` -::: - -:::tip{title="Custom Title"} -This is a `block` of `Custom Title` -::: - -## Code Block - -### Basic Usage - -You can use the \`\`\` syntax to create code blocks and support custom titles. For example: - -**Input:** - -````md -```js -console.log('Hello World'); -``` - -```js title="hello.js" -console.log('Hello World'); -``` -```` - -**Output:** - -```js -console.log('Hello World'); -``` - -```js title="hello.js" -console.log('Hello World'); -``` - -### Show Line Numbers - -If you want to display line numbers, you can enable the `showLineNumbers` option in the config file: - -```ts title="rspress.config.ts" -export default { - // ... - markdown: { - showLineNumbers: true, - }, -}; -``` - -### Wrap Code - -If you want to wrap long code line by default, you can enable the `defaultWrapCode` option in the config file: - -```ts title="rspress.config.ts" -export default { - // ... - markdown: { - defaultWrapCode: true, - }, -}; -``` - -### Line Highlighting - -You can also apply line highlighting and code block title at the same time, for example: - -**Input:** - -````md -```js title="hello.js" {1,3-5} -console.log('Hello World'); - -const a = 1; - -console.log(a); - -const b = 2; - -console.log(b); -``` -```` - -**Ouput:** - -```js title="hello.js" {1,3-5} -console.log('Hello World'); - -const a = 1; - -console.log(a); - -const b = 2; - -console.log(b); -``` - -## Rustify MDX compiler - -You can enable Rustify MDX compiler by following config: diff --git a/wip-packages/rspress-app/docs/hello.md b/wip-packages/rspress-app/docs/hello.md deleted file mode 100644 index 18cfbda..0000000 --- a/wip-packages/rspress-app/docs/hello.md +++ /dev/null @@ -1,3 +0,0 @@ -# Hello World! - -## Start \ No newline at end of file diff --git a/wip-packages/rspress-app/docs/index.md b/wip-packages/rspress-app/docs/index.md deleted file mode 100644 index fd6acbb..0000000 --- a/wip-packages/rspress-app/docs/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -pageType: home - -hero: - name: Rspress Plugins - text: Rspack-based Static Site Generator - tagline: Rspress Plugins tagline - actions: - - theme: brand - text: Quick Start - link: /guide/ - - theme: alt - text: Github - link: https://github.com/web-infra-dev/rspress - image: - src: /rspress-icon.png - alt: Rspress Plugins Logo -features: - - title: Blazing fast build speed - details: The core compilation module is based on the Rust front-end toolchain, providing a more ultimate development experience. - icon: 🏃🏻‍♀️ - - title: Support for MDX content writing - details: MDX is a powerful way to write content, allowing you to use React components in Markdown. - icon: 📦 - - title: Built-in full-text search - details: Automatically generates a full-text search index for you during construction, providing out-of-the-box full-text search capabilities. - icon: 🎨 - - title: Simpler I18n solution - details: With the built-in I18n solution, you can easily provide multi-language support for documents or components. - icon: 🌍 - - title: Static site generation - details: In production, it automatically builds into static HTML files, which can be easily deployed anywhere. - icon: 🌈 - - title: Providing multiple custom capabilities - details: Through its extension mechanism, you can easily extend theme UI and build process. - icon: 🔥 ---- diff --git a/wip-packages/rspress-app/docs/public/rspress-dark-logo.png b/wip-packages/rspress-app/docs/public/rspress-dark-logo.png deleted file mode 100644 index 928bcc9169c8c0b3c747e0d15c84267b609a94e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6296 zcmZ`-WmFVg&|bPk=~h5M2>}5`X+*lamu^^E!X>1;ms}R<5DAH;yK6yumqxl)kVfF+ zecyAw^ZohmkLNry^PGF;%*>r1H%eVqj+l^+5C8xWE67W00st7G2X2aw^?(#~Hkbea zCQMyfTjs&M|Mw^ey#0^-f2b}Z{$I$`Nb`ZHycf|BllZ@4wfCYrQqm6|O^FYhqGJD$ ze+Bvtdm z>A|$O4v2R8Ck=16FxT`>6C*oN><^%_ny-U{gT9uLs!nQt6dov4bF?L$>#EMGc^zCDEklGPgRDT zMtxf8fSi;@pFn)C#v><6{Gr~KKWu?PR{HKLN_NT$sHVhNR|^kamGgmkD|NLn2NNVb z=KB2XI6G)J)NRVwek9K`Twl|-=>VSKF_`IE5$U=T2x^P7Y;iKH2{rXK)hh^c>~puS z@HGkqs$HYkK7Cub>;_%^vdeNe_}p=}vAmRPs^_nz>iuK=Y^k>XTUj9_bvQ4uHOvg+ zXcQk5(w+h?Px8J(I70j!lZ>?wceZE85gxgS(rnnu_qaM}P!Pziz}CdC;qGjx)XpcV z1Ll8)a`3P)4@$Y~g2OLos`nd`BYk}x^o+N@I~4jEUhT|z1`H2<3k%5p>l3*+(bor# zIk;Txb+FBtDhfZY25nASO?R0El->_^w7a=ikJP7qjq+|yb1^dp4F@|d!0Z;Yf;zv& z{b~;ADFGh#hE7*|U6#3#@3!VX45+rJrm7ZTtB7DNg9k-0!5)aC$Cko;=T0F;RqZVB zGzM(J->x7x2z*kSlR4WE;rGlPcmTQi%uEtRP1^1biz5Z0wfsNHG8=F07fY7hUJrTt}pPx1&GaKLvebURBMw z>+8aABr5LEr!l(`wMmL>bM z{cwPMU{c7TcxM4fo}dI3yHNy_HfzB<-KCbToR~-)qvzp0oE02pefRo}4JE0zh|+o3 zwOUgmG5KmmO^B=@@zcKv&q(3sEgG`aLsZqU7yC)RbZnrE@ zFT+Km_~%itC(j4xZUgSGx}M$6jA$*haPut!Qh%l~+ncR);FtsF29O~!!WmpY<~HmD z>JPj8jeJ8M+0lb^^+Iz-UWqWI8@{}^4+^D`y z&EH?D)?)tlv?K3WDf`_15|Sxc+hi!vnIW=&`Y;Ie{)uZ z5c8HdLYMxyenMAgS0TKkqqs;>?MCLZ?~j+mCv>@C_kHd4Lc&6VxW!-VOnd|GM`(tf zB1xYODOVBalwW+znx5WC^Bf46Hf*&~`Jr2c5EJ&rbu)FvFBOjkAMP<$<>EcUeZq~5 zhdnCd&-~e*K1ABZOI`^5O`uRshlztv^{Srrj|^ekD%N1qJI*4*B2IP1l8{g%7G`<% zT!x<{_nosde#3$g>cb&sDn893MQF*09wSs#z*k$(xM(hdt5{Ew_;K=Z zdh?kI)QhGZK5@oDMAE*|VRk&OiV1K(QRuZbcir<4aBYevNWKU+@gt7#r+wCV`dFCiyB@Fmyw%j$=qvc#$nQCGs}cOi$1O3`_zFDj z$oq=gl}FVzYT5ijhy9Xhr!jU__Kd}W8RZr+nz;DpI4mac??_oX-i7^RpYzjE?5Cm| z(LzpDTj`Kd>lXaV-i9`JB}~RfikQo#KB7W@c@_Az3jD5pCvA|+DNIa8W=8xAUI^KwxbO4-UmbIz0ln;RusZ=RH#B6UdN z(MCknzh#0m3NkP0zekX+nxw<(>b)8na_9G-?{4)+jt7nIcL^#WTX=#F%?lWDhNKJI z4*!Z3iadkAI}w%?jBijDdv@n(@mP&jDy>@(pUcMsVp{h(^LL57NiQ+P(mU!>G5?>c zp%C||(8lY9N8RR@ST#ZPz>31L01!Sc{8Ynn8E&><;>|J-_pV=Qv7%x4-6$9Fu}7l$ zC{sDtD4q6xNrg;}p_(C~@Q?I5-qxT^gd#Rv%a@qHeG)+%gL)?9;t;(EY?YK>GjY8w zX(}oxy2?iS5n5o|IYuz$6+10d`rBpZap?|UZx1j%T{U3P6 zDta;fSHfM5vyFs`v<8hHM_$-BZ3^$+u*Mi2f}`tPzT-aXB<+eHvqgIo>g=8cf1&uFxE^|pWqOKc!j$ZAZsy6++z5;ODzTcP=SP{Ee)c7tQ zWv#OIeeYGG4k0&KNAM6tm{x>2k7R^6aPx@>Ng4=vDf@ZvMNFD@Jl;iBgwrrPRbzjvZE=$ z(tZ^2@m6}_Ok{`jGwomlDwD9_CKnc)m$(~sWJ{X~{XPEv{t;8zb6W%~rnx{9Be}`Z zv#%dR(Yu;ykeed~eKxdc@n|KFnpplV2J(C#NbAE!@vgRbwaPx7A_is9^u3xLy#DP4 zv02GbI$Kk^_Han91)rvjLlIZ`ATkwe(9rMq`LX3dJcE$?CC&a`+*K?5I-UlEg^tf; zYz?kNR|ZUI>b+}ZY?tuXvK8zZ2y(_aKRiEVH0dA?+n4c8E+4+Tu5 zC2-7tRf_qQWOb>>otcrZ#T{T^T^^nli+{1!BU>^qSD;wr->sQh_-xUyaY@LIuMihG za^uq8eD%fssvC1*wB&ApSDXPbM`c~`j{AD?1A^>;pc!I zNBPc$6yrpRLvARabF%g(TdG4Wd{Ssjkoj3b9HrZ1o#fgSEY~qp+D6PeH5Oh40TcRU z>Lx+n8(JFtS=#lF-lk%$n-Z2^sLNufgFTxVBl>+O#+W*ZH{0`HNuYc(zm?b6h=-*b z#tOo{7nq!r+^2NaV9HZbNCk{x5e4{zU-b51+M z^747Rhp$u@ac(q#GhL#}yzFJ%IH zS#4k9txnCJ`;@CMZbvjB5b|XGO29URP45KYTaR4{1F*VQq2{h@?Q+L%FP0?22kR)P z$ogK@i0=46BVG@^s9)5T_Jcue=v9~WPURSXJCNlNTS(Aa%QQPlM&_EcU_9`|B1-d+H1{9zrQgD)B3p2{P@}~zSWC(%6nCM?O+() zI_i7(D_Y2>>{9OJBeHD4qszuY(Etm?P(fZprA&6VqM8}M%^KXdQjBM?&V&lYhB^~P*gxb2f}r|H`K%5 zq^`&V%3YK8Nwr>gt=XC%MfVoYg_o)-3yxPLh=J3vu{<=x%AS<+Ei=xTGSksf`{evs z=7E>mJaqxtn2>!)s#Q0EL@+U#Tga-6(SBavm5T99)_2m?@0s;7rL)Ic>xx%9pDU&8 z^^}(z4@iTj4T{RXWi2+zEzEl%&h?CCG>*wmp-i`2I+*W)6oaG%GRD`s# z=Ip58KEiZbo4@=Cm7|hg=%{*lESlT8b;fW=>WI%OJ$2$<0v-2^{CV(H{{^(1a_iaV zKZD(5BOoSvpt^rlIz!hu-znbmyK*4wgIKN_r}Jq2+KN0Al}Dj!q?9A;Xy=N)YMsAF z71v-294;$$Ze`xRglXdDkzX^Ggs=EJelNx{@t=Z%CLX6Y+ck|38%!6E3;g_ zP+xdmC#sztYpBEEty+wqcR3BlAby=vOd-~v&2C;(ZWX`!-h)EGsC+(Fr?A83=U{^2 zKvD;&5Z#rNoNe-(r%G>rHDU;kFYwdxi^u}r1ghTe;A)y0ja+<;Av}@5sf2NU!~$T? zQ1KYQuQh&dP>>q(iZp$WPFzwD(Qo%_pl@|%$|jBFd{TprLxc|iW~#95JdL$T7VBaf z=yt9t3)(aT{Gc>NhYi`j4-1bhoFa?F(O4FwGhgvgUZ>zcY^+Q1nvy9BD~qmG$!WTX4@0|eF0LY$`qKrMxKt&5 zTHWWnq!+p2Zh#t&OHA@Yx$v( z(>i^K3LxcW0Z?6_*my4&+_Z#EJ{N-sB9aK07x`?-6P_3UEUu2IakGYI-C00X_{>LQ zO6=$J-IkucJJgN|pF|+)cl+N`4H3N*9Wc=hAybUw-6Mkvm{f6`wsDR>D`)<5>xZ3F zw=kgZzvGocig2E6SpoV8C)Vvnh%c*_xU_I^9}^lJdL}Jg(SW zXg~*)q~2cFwt3jQ(Gm7ktCJin)~!|;a5DC{n$$c&lHqkMnu3q9V4@rvU>p*)qlX~QrR9l)d65vw;h=*MZQHZ9E zQYwXpcJNxu#aNdUCt+}|yu1IT2XXnI>$|oH2-rp9^n1-zkVa3ujx(Lw*Eex5dT9Eg zNJtf7G-^+$Cih0o_3FGnCEXd;=0H;LD*~evM(fQ zy#0uvM5u1b`JJbVu5=K!U%{>)nVBxZI8iWuyETaHb$@5jO{e6z2W`*EiwdgK()Kk~ z&lS{SDRE|!G#x>{6EuM+5IhzOT)2O~K}ezmMQw%cLIO2pI^QL_5i54pp74)oAq=%GRmo`yI&~z#yMcS%robW29F9j3BFb#{wt=&RO9I zW(HzcSG+^juTAM-RsE=kS)eD_yG&e(m!$cn;Q8{wE%3IUij236Mhn&1oj0!)SuLRV z9Ak||X??Crj$m+O)AQzEj$qSbBwEl;qG`a}GaxjcV529|;iL21HN8+EW(5lI@*Spry8svhDVJSyT+QG z9o@UiIb1CXVgu|6PSRQ!2RLK#H?f)atA@}^XEyH_Q0+69RcSaRg3Y7KwX4y5kLH!| zauWwNqOgi8v-3#?CR8Yk;tajXPHxYw{!>tNVg&lGeaY-lr#niA}t{`GztiU(#Rk! z-8szl_rCYJ&;8^3>pRbR_E~4`wbovH#XkG&b9TIeo;o!JI|Tp$pw`rQ_y_=i{sSTH zWZ-|7vLt^$008vFK*w11->un$hyPCVhyRrp|5N@i=Ksb2Pt`yC{}TLv$p1g!lileO zl4Yx_|IAp|)!aJX!?q;C{U5>ZboEht&R(ovXb*8`;uB%R^AO&Prz&L`cOC%EjnFKPJB?8jADs-_tg)&<^5Zb?QiIgp;<$ai!1Y z-jbKD)kb^xajI!5I z4{IWx^?QDCd5nHb3@;~M>`fhHKgHw|oeXrkGoKz6`-ayLFK67(hderx>}|ER&VP7Z z{Bl1k^YMRdc)9Zf=V^C*bl_pE`z79GYkk$%T)!j5^Qbj-!1qbuBV9{fW2~c9Fv{$> zGvTN{ehKUS&fnsN$K$Fb-RzKyhu?c9*G75Tb)X*))~EZUhuvLr{!TbPds@5Ejdik# zNC`HWeT{yTWHQrdH&Fk$uFztxG33lmara-G-ST^+X9PIgBVVJNV{iJ=E6%H}P*85} z7#rgA^7?vvZM6IC1ARML05I7}^P#eF;LKJh_8%JnQ$#3ZDFgin{@)!a|D6>zU-%2q zhrw(jCy9&eJ4@Nf_&1V1ciYq+;vyJ}0xIq|yGl(BtG`0}Cb#-ReU8h2fBZi;2v^-U zY@GFS1XMXSWuK7L9lMPU18g)yq}P|Zdfu#8sI%cVSw-c-M1J(I|4LwW%|*lD%lN^7{AYbgg_RI>Td{YgbSWpee!^iMYN&K zQD%J%gWGMZt~FeLEFT%)`BaXU;{#%!d^XL8dHva43KbZvx(|3zGXNO#DGlTMX%gxsoo&i<|so=by zOne)O3K>L79Nr`pF8Jwu9*SQo4)u}!A8Jc4(xQ(|N*O8sh0j@fc%)L(FG&HXxdA{j z^mI!=USF{Q74BK3t#95`5T56kVC59Xj4nR8Z@%7-kx@gc>~vt402>0{zi42FP-I<;Q3Icq)+5Dijwl zLCS70U74koh*BReCdUZ@+r~Fb! zdi*bxiq&pnA#vgf3jg^OT4})3y@hLuTdF+_vSlPks+eb$b>9E?w_J0-SezhYq1({2KZ9O z;wen^ONS4|T3Gbd*;w)J7L~T+P+vN3`OIH8@NwlbDAS$jZlV+}OM*Ron9=$Lgxzu_ zG;Hw72*_$LiNKlF<;>@xoc=uO>Sk+-ny7KD16livJH>6H0PX3kXQEa<(%d%=n|td^ zbkmm?-ibBRAiJDU7%{u%@W*?Ue-bf~@Fpr*CvHGO^Yd`$F-|WAjQCtEv>I(%>bRN5 zA9x->sJ5&!GfG~huFf8(|9WY=LGteJuk|PZWJ;!cqux&_@RIUQRq4ml%fs>UOQsGk zsrqju07>wu90Wz#`v4Or!STy~kfO45v-EPj<2$FU)6&bAAT|9b6h3kgI2QnT^5Msc zM?OXS)nn^V1><5TAChr_A_*?-dKFQT8eX@%qA`HWckG;^Mlj!kgpaYM{g>lCc!r`7W4$`d0O6 zKIT`>Thh51w$NNC;Z-KQ_A}0(6=N9V3!n$VP_$BO@9t!0*FF$)mKjlBI2=#>d>^f)tz%eJwkQ7#5b~yZ{tJrl`&pRyW9KokYie11N8IShHwQl>;nA!|JM@^q zX_6_*?(LZ#3uT|6Ll|e6wx(G*Avv1?RI}vFNtn8Btk>6a}@jV~J0_w>ggn}VwQZbtw=aM5M`vI04 zzU)N>w!u&#eznN;Ly$p#VXo5Fyu#BNBqQlwD-#?70e7YTWuju4GD199i@76u6B_M2 zXAtro6Y z^gKX0CF$_iP*wZlv9o7H3CS%?gV(FxH`YLiAOaI|9A2fCSL`_bYnT?<<FU?P8yX-kX&;*ou#spx|zyh`0 z`|ph?5$cun#I)*hJ?3DC@`aip@b_s-AM8KTda@qnI#;<$ng<~X<9Vu4(umizm{kf9 zGn>MF5JW)kw1hGD-R`bwi?q9<(Nt97O<;*ODSor(^*%|`8h{s)Z}+e#^OyFI(b;1z z6o-KDn5PhP?luGn!-qi$nfBZ*`}$oA!%V5#fQJfWk2sr&00Grhs2&15SAIj?V-&5` z5$k$St{Kw*&;=_FJ(XtePy%oRK&_=dquh601qqqHmTro-EBNlL1JZAf>KUQx3&3+F z3T{tI!zcS=T`gk$K#3G_W%E3Ldir`PAW|yebmreO@v_@>nKSBwErh%gjpJ&PQG=AP zHdqWd8BUJ;%UkvuO~vaBznslMDzaPLCE<}`bD@A92?*xt-^fh+NE=bK#);LpooHz% zBt^ZIh;}6BVk8UE$qT$S5=w%s=phxDU{iZBbh=Vb8@0xTzn30?^@e zP97&!{Hc190&#c^0#yC6DQ3mdpwge>j1^4_3lHa#$ z#jTNI+&8KeE=&pM{MxW66_5v+{c}N#253tdKz{)Mz8JH;yZ&CDILC`iM-MQBk_Z@c-W?D^4;)t2hLwY!#xf%hDd_jv z_MPPSmy>F!N$@elX8M=iKhu_OJ5c*!!;=OU$l|8nP*550tmkZ0O?+gr2*pbP`HYcU z5Lp6n@A;p>8~k+DSp90iiMWI?A%F021lyJg_)rb$tORHSj?(`X52-2O`m8c>5;7@y z_w314io?4nncjH-dPJQt9Qji_;c0E?N-F@ldlB_EbI?2%?o`N}$jAymWfo0)eZ5mc zlW*z*6oDl(Cai6H{2AU#q5}Y*wh#yO4{iO)BiP?S5xg4wxZFlD2DH<^B&zMY97sez zB0P7jI!|QPhEdHk+lET3A+MmwD+U0)owb7`A){^NmLt6I+#*>sB<4B z3^%$Xs45~Q#!EOh1S(S&&4Y%?H!0#q08=VADe&G`gG1MfI`j8MYoL1o0SNl}?xeFu~q}hI*Wjep!J;fP1Y}*gX*BjCWoAVULRTX~KgI zNK-s7nP4a47>MvDFKT3DJ^cVsjCvq>z5h1$EWlb~2hMZ{r~`A%1O!uI{&gxm3q8EU za(=Z|3QaXmgvj!4(eZ2i>(luGwHOlc45I8JT1d3M@2UrLLXJgX|3ExzZ^OwjfZtQ4 z3sTyrg{2f^cGO4uCp$Kc@$fjXY+XBTVaNBA{QP&X|17gKl~$+U(Y-(OZ|0imVr>;3 zp|Q+_cwBBQ_y#Y}M8DqGl4=A)1dMGH`MH#tqIv@Z)&|AdU}hQ;xECjlkH{2M#p%yH z*S!?Qyp8`XEE#=eilmAY)mZ_Miex^`ne4WJ~YqV0Re0d(R zvY>hS8>0d|Gw_>AFeYPu{+s^LZ{S(EjNaU7$H;=IP;y~5TLPUGU_1_gk?P zbQDEZe@PZXfnlM&d?QFZNru7KA!z6RMS^Q{uzeynd>+A7`GKahoEGyz6GR)$R-;?e zAs}m0i@U{R<*j)jKE;L#qm2TPT~kQD*fvVA8$MAIgs{?UH{w zt0c9wu;koz>)mA1?aI`93oQTYDxf4v$4+!Lf#|Xu#DW!Px`JGex4>T&%43a+{WgAk zM&1Rf&j}f4rAtl4LY#pMLF zrPI@22RZA>Csv$X^DFpRb6I0N-zpM=$fZDV99mq{Zv=fDg8$D6D<$C+_3bTUL*^8u zzh6^P)tnWv5TDR;#Nb-bRUg_;s&>=JL6CbRP5M15eM;{4yv!kW0dO_Jnp7^taPw@j z3~8%m4!vtT@z*Jit`9HA9MjutQCz7Ac$EB8{)|hHx@L5n=o5>B@vh5M>(Dc+l@#4w z$M|CKxd_RgHx;kZMNffzkkCWDLHX)f z9HVGp)4wT8$Ix4~rG;P5zOqIV%k2thzXB4DyG_5Z{&O@q1o&^kX-R8(kXn*CrR^SM z^^ZY4Dl7#%if3vB?3H*C)4p;09pUadrF|yd2!C9UBAS3uQNEbbu-p8=(DSRNM<-W6 z7W`yySY_&Yt(YZhLx-B*JF_Ere|MIjneV~-Y0ceqAeRMrte(I^6$wQ5e24th z9ww1x138GQ^s_Bx*)eWE#_$5Tm1wVh_)r<;`}#4sI5Jl?ZFxsGPqM_OmW+-EFP854 z!-bkvngFxRtBk~Vq?Nw0Hx+N~^?n%XQTYr|yMv3^>oaa4-3hg=U&ffC z_EhuOm{*1ee`(DQ>VC~23&D%DB{tc6(W=UA>B$}ms5CYUW5j+f70N+K^mRUm;QvX4 zp3b^oV?jeI7`<1uR)PRyf5$8UiEDx5w8Y?nyzNl`(xMCF#SQwUbp3LA9CO94At`k@ zE6oul>Td{siq(nFo{#&kp#H#KC zapc_R$A|iSFJ4|tJzhPWej>qiB-QX|aQzs$?)!e&fKx zhrVV?p(5dg!{7V``K@d!4Kd)O1@LJ=oPfr~xJV)G(wzd5rF8RpQ_wmI@{emkhYv1b zKV9P^xKa^(a2mdo5E!!IaFFv=!SLJ}WsZBf zdUZQ-d53$E=0`Jvbr~d>^pP=5?mmxtoDx8QUP8B=F_VEPv_rEK#JoeF`{`Xev>v`dj)Q- zMW67Hu6nvs&?znL40MK(CgN>^iqUa^Ylijv#)hkpKPTosET#k!23G)kZtx`TH)3Lc zljd4%eK-S8Z;4}OZo(F?qfV72^=gCQ zJbQKYm=k~Gm_x+p$Y61O@Ts<%Gg6I(g`HdL*=Q?GhVM(lONa)pA}a{J@@;~Wj%!dR z=3{g^Zu^DKIu$h)P+yNfMY@UgAbL1)TtE)>rI`a@lVnD(Bo=yB;L=D4Z=659Y!@TE zzeXL~Ehc}uJD}B>i*s@BArS=mM?k2rX~b{I;6d zqP}f?3n5(QY9)16UA6U_UgzJ2V3UEU@dsdC>tTs6T=z(aWp%b>0rUv>l`kC?*T*f9 zo%<;H0zGH(!*yYM=4S_<_iwgtHq@C^8_$Xvv+2ZOk{+UHVr%!!Bb{N$&P@Y0(z2`- zP!bsViVoQk7Ak*B=Yh)SmiG29R6(LKd8;^3lfI0Xk!)dR;l$7fkPn6E1UME1Nu_-^00#k=6*EojFzQb!E*m*uZ5 zmGRz2>AtVrXZjPG7jH3SJZ$Ws0zaw7jl!_?z5B*}k53fHFY2r*@Eqbc8F!_6#f2vK6~FS_`_rg<0d+-rDZU<@itqs_`7kL3y;#3yFrYb$X&ax+lYc0^ZpZp1zeINNu6N{Mqaec-Z^H|cug$hsG}pUo1i44>_j~93?|)V@qq1&V zfIkRZXaDhZF~+%3lne>7_KB{KDhK$JGg%5hvn>mAI3$hWCD`ViyGM`g0WJ0W6$K-< zN4h*-<;%z6T-+uN+%u!ZpiUgCcPLPE5$Rwf@-Hv0I#1I`G7MBgqAn-d z7EXB(Fl_VsI=iMc)JPD=1?m>j&)=Hwk;ZMV9AkRp714axAeLRz)`z>IHcM$A z-n;)kiPWUQ0pCUNQCe$r5(ii!tQo9-!K|X9--bpnU zyI@Q#ol$Zl7&EJ5t5}$;pFE?su3}HZS^Fg#=I4~=C8UJxz$~d$%VSFj(_VWvB`!J1`p8F8_oj@ z!#vEXQW3%vIoT~tP(u3N5RQ|fXC zbs;`^pV+$9Jbu+Rr>Zef>9SCE?kK?E))2nSs@4y<*lv!&yUHP>Y?0paM}^#I-2*rd zR6sThO;wYSn_+YDyAu=JM^yxCnYhJ?7%JZiqEB3E@JRNA9m&7sHz3$HTnS2jJ)~t} z-Pb5etdsiIU?Sa2;&b#%BS)=`q3tL&1fD1i_e-GiyN2`t=}oKAKInbPU{|${H}`So z06XBeeE*Cr{DIE}U3PbIamxM6Il-TI#bYcSDM1pW%?z;fK@Fl~qf%|T?K=EZ#BIg% z^(Qle7&#Lz9adxo_O1~yg?&_sE1||P*Ur=f7*KVn0HpF+FwD6U6~CHz^I;|y)TAkj z+Uz-aPIiM@IT z8Qr)Wv^=bCH*i199tcA_LJcaJ+PV?R)sKy+P~j9BmK_^^v%;=o^H0mKl)-OVxUq1{ z7c&{Aq{WSHd{rtPtbcPf^LRj=B&oi!Nn!fa5wK-A)}SMOnR8jp^Gv4Y%4C`LI^`$s ztH|E7g}?cuxugYU3Zvy-VK-gbH1$E99|3FuO;*KhNCBgNZ+xgPJE{lzkFQuN!mmy@ zHEqXkq7Dh%L+%b-W-|96GTccC@e^x-kDmT(Ev-$Wukz}g;f>BFcM%C92y-i+pz*6? z>nx!hyB;mzj9FN)Xrs}#hT*q+?#9$!#g9C9^f@c>aR(PKed0 z(b4Y7yjV5*;d$J-_FsEgGzvn6`qlNSqD^AC>TO$__mRoC?weHR2wDIe|Fqy>)QJe3 z24SvG&5_yxd@p9OObZG$I;UJ?!CJB^nJ^iMV+x|xF$heK6>Jpvqfo$*9|>82b~W|% zfm156rO6|zI{S4Mfe^qFzs4#k(v%!};oTd7 zb_~Loi<_txuXpK2j`hYDZ}d4uh!aRFf;5eo`T5_XGxnmy z*5r4iPg}j4@aGtu@C&u2#)XjYrv<`SatzNykE< zdmKLb!d6Old}cF9?*rhz0P`lMsj5^d%=5F9z^#i@-3Kshf2;_|M(I2M806Qtdvv-i zlQCU|hQvFW_2_9KmahJ+u2xbG>iaqPw^>2SHHo6JIX7QNtiU2V$&e$ub?~N=I|#D9 zZINtJ@~FUO=4(8FJm$UFPj8cRTD6qU=+rF0+r`&>5cO+mNo}UJSE*-v%xkcruZ`}m z7_u8f%7|Ue`j6A;OzSwNpM#nNJb`r$UAE9{acy6*qICD1_UD;r*G3?tTSR%_8Tz#& zAl~6wwO2A%cGjdHP~?K&gEiqE+2RwH0Y(>iy7xs~*0dXX6nA*`I@X5%Pk>jdQphD( zs~=CW{Q@c2~!S&HOk}2D~l`60JOpVR#2e($w}0bS78-8K}=p` z)%)g(Dez(7y_VwTk1j%(%WEcGC|9H5s8Y#9qWCM(oy#dxJ4_?|<-pZ`v{>$u2eZ=U z0m}~Ub#nJ7IA7<(#+!U-w@GzEw(ZQKWtcr$=baV+)nlM$$Ch%*Rg?xr^+F(A;*$mIhorHI_eK%k0iyhe4-UKetyqc z`HptWQZ^UVtw^zvHm_;-pp(-N5d7}|AC{?Lb__wLJg)#F4$wr-4~#ix-3H39fc0zn zL38&O3CNHbL!y1tmGAr#`&1i+H1E{D)Sz<7%MG!6Y{*zz`Qn6icq&O;HI_p_f{dgj zF&=Mq_=1%LRy9S%)^Ng$SPD3&J!lL>U?#}^qJMbWN`g2KN9rix+=xo`&V2dM(Y#o+ zCSdI6J1Jz;@LL15oj+TXycjBp-yj>7DAwax3Q7VkTpsR!+Mm_oK?1_@ zHew8G35N1}Cd6AeSN)k0mbg$(>k~-Pr1Khigycvg7pD6pq>DH5dF-$rjJDyE*Q*fb zbIH$2e=eV%HKh8!ArvRX{x+@E%DDOtQX@%~%Ba&`R{=zVy@@jrt`twW-Pw`?Aae!r za5P5Yp!VTqQMl);i+zF@$=OJpZF0zcHuQci;l^QTE-Q|~3_LZKI3be-!TV2J&5DrS zi$;}au`uWcdq=Q${&L!zn>bwgJyH@Lx>LBZMO*2AVx#f7pHSGioifc6T8~s*^#WAw z)`o*D{w0`m5G3u;gqW3#q+4b!d&}ll_A{`{Db~nl9KrqU8zpu{@9#h4!oY zJ0a}o_#i_b=KxuDWFq$KZ)0WP=wWkBL@Ia$tgzM|W`_}gOQn8*KZ_*4V-&2^Cy4)@ z(x6naheXxAav|DN%NFnv zNrCC=t6j%NMUF?qM437tKFj_KFZ4n3jGCTCUVY|5H++Zh4T!z&ha?GB8-O!t$#O_{9enXN+|HJ78~ zMa8a^&;O8Gm+%&&!*5+@78%pb>4~j{$a1J4Ldn|818wDC5YnX@7%qf6WGmiYjGXTd zeY8@ye@cS|G1bqaEQI^7+ZNDl}yhM@%Egit>ZwG)MDH%VAU{183n+3*gHO zkR3mF)O(7Vv9Y|nKSxZ@6KwOS9=!Ri0C&AIfiP;>dFKir7 z^9C!2m+(T7i)auH;^*7Ao?V|5WvSk3{ip#rX1m)eJ^ny-$?NbW{AY{G6W+Yv-H5GI zuOzO?dFE`YMCF;M$=ZaBoP)e2yEr9sRS?vx5O(J^rWGe!ip*^Zw zP{C0pC+KX`J2RiK`B}TFg?p6J;H><`vuxl}{|odPeOye%b)zEF)hDnF*hPs_Q0E>c zQ-X7mvE$?G3ka7OFlzOOvWTpGfd4R-_FcVmBU{al3e{hKw^2Vg3-b*_y6#=de^BdL zqFW;Uwd9SfS3BLh-8i|%y4&_Ri7L^Z>|z;vCv5FqZH7$My5Ks~Yb@^-DWj03GN73M z3VNp~w!sIEca!}b7P+_HA%z?)MB!=K+G&zi^PaI@Fuj?MRPgeCq z72Bdd+Es+l?EzcsJHex!?7XsCjvA&MX1;%NW0ENAc-?mt|Cqhp<&1VFy<9m+P)I}C z-R4qW4?dovXe~4Zi_1Fsr=aU+KQDc_FCKnu!5+YtZ}*IU#Qu8fRI` zwZjTo&&DpcAiJ6dU?px9ct+VhXOfADSKV4QO*cJuO|KO7jbYarVeiGM`G#>natwiX zU^_@kztMiAD7c}E^Ig)4P2dQ4_lMZzH3dMZO^>|c)9v@DUwKyWNtd$N*Cbqdt#3A7 zpIx<%jT8E@7u_dI($kM_lTFM1L{(d#2a5DnVoJwz7PhNx`}KaBtcu+)Ip`OQ149nQ zRI1+6U514!5nt|mn2C}Aztkho1UjlS{Gn7Ukj@14XnrxFUZlIU6}@-Xp_!BEk zF&UZZUpP-H{p3~OuS-MHu-_|DZJkY>5HZ1^<;O;he0*P=!3F`7LY*PiZ3DQuHvgra z+w>WqCPIN8udCdYRP}CVoX}inD?R;iF!SyOgbN&!!lmXsEcGYAV^B@MSL`p1npv2} zg4W?=QbkR>+9M{0-Mf4JE>wSqh@Ud9)9!}Suw_RBuZDl0A4z$s8ip1u$@*XOCy$p| zwyD0~nQEFK-^ z`TBCOp6k_Xk*Gm2~6e|cOr{h7~VgL+)&x$ffpKi zc3{rB5)M{I+O#4Xa> z|3vb_VpFFew66}c=6eTP=2zp=pD$cYY&;35H*f0b|Hip~Q(j#dIqF;u_`+aJWZHgL z-VZ0?I+Vr-Wk*pkp>k->yhc_BU0F8yDV5*RzNNfpW7QBw_EdZRbHJg$w`0l>#MpnF<0^O)<7Jzl}8f=t9}L+=Cz6UW|@upZU%0(=Z4ltqDO_Nsk;8 zx!C}AH+=LA&n^qM_sB*Y#`R23ytk!5=GD{m$`ulEPsYUaWeNe_Hbf2^F;o+{Z z*_MuT@$vzUI1$maUf3;PCU_uflv>tC1Po8a+d*EMkq-4I=Qn`+xG=0O14>q8_MbIG zP~Fq5Y@%~bOGu*sZV7+*NA9~`)>GFpJh11jdqQQPL>gounXnE>YV>EeVaO&^eH$RNJK!`@VxIh5_)cQ_P7kSaJXUN*2-3N?l4i;9G@kl@8xi)0P zKFs~l@2UL0tm6D!jAREd!bGyZpP5zM_dOxYg=8zu7-;V-1)9e=w7P&%RYwyKI)idQ zgEPIbvNW{jGr)!IJ@c*Z#=~>xz^^Y($D`q6>SKb5&avX(jo*6u=X}=d@D$+S>Vb&< z?qO%K0;*BRpB)dRZFX?;;&4|Ag`T*xyH!3VOGkHHrXqQkn9$y9mmPUq`+(0r{gjZj zf?!)mi(ey`@7V}mbyx4pMJB(9CUF57WePwfDe6#oC16po4AdhxYEev&il8GSt>rJ? zLGCN&QvmlV2K8xb0KsD0ZJV5WBu)1#n1^g1!h{WFOl*4!1j4NCUi@fem%Z0C=koCf zJK~%SwoIeME2?UnM{(;76QZipHLCX2J#r>Bcvpemxz-(*8=QojzrUY?eR*z3?dKb8 zuz5TOKDiz?RF$-JYP5Lq!(PwwJ2(f;=w(#xG>wiYUV}hpR|m%b^4SRh5r6gwm5^LmF%$zfaq}(X#RL)n!b( z7%bfMt#MsBRV{K1_p^NCbDJ$o;fr|1??y--tf6CfmAsES2f}iVE7}qW`gyR0>2~zd zGY8DL`aKVCbKaf0#xI>b!6cJ5>lz|@0v?vRnwmJe@(=BB>Wo_{@PuoohX`d&*(6Z; zqf=t+s2v)L--e3F1MGTV;AjO_+(1;$&1TNOv$zQ^L5Pm)(5AX)fnfm>adASls89cL zRAIFK!o`Q4KCtLh#cY%W=ImzHgVO83W?^EiHzrWM= zJu9(N;Sl zY+^E{5YG4IjjP({mFB$7l?=>H}1@!Wf%BpNSfR78?!8 z<4kXV@?^RP+QV8Nqb*{0tZh2!@N2I^%eDF{{+X!lkx-WQEei(cY{q8k{aRp{Xu>zn zc1Wxc5>+G0LlAb;F_KYYfQuY6SzAAjk;GGJucng6l&L1L-Hyvr`!p;I_cx>ppQCAN zqCof{DQP}HMfJXk#taF)CL;*h-;L}QVUxpKQ15Vk)&_JuvXIF1ffow@g0UO8!I5TJI z?$9VC(Encez(bTsZljZ)CISLnPQOnU7vB;Ll}%KGGa^93=Dq#qHhegO`;C_dw0Bf} zWWT&f4a;MeJ!y0!tp9JO#hTu{?bhv0CM@nVnY6}+fu z4^LcZnTf?uO36eEAn4`kS^nu}UPsI&xg9JqzmVKuZ!p0%mEuDyftQk>kwh03*O~(4 z-*ITM{dpC!(5anD;W6^5-r~gF2X2A@7uXCvEV5K`5)kpFr+SSde{b zDDK_pj;~Ki-sn}xadT;Yj)O(<$`EzzgEPY?1g)ba}Ddl4T+3*#9jU z3Q>7-BhS;BUdY3&hW1V$mfWCi_^fP9u}Q_|GhbX5*;DYvD?C|u6Fp324@ztBf(?r| z^3qmDSXhq+-Y9vdxCFGk`)u(m*G(Y(!|QYrRf+-h8u`uOo(#<16!mdR7%%v}{NpmNqx}AEPv|T~TQ9xv$4rRE@PT!;bZj9m+qWz|&6YD&L zyRKpQLA~16rtP*_U!=B997$^)bI}HhkZp`+rJD^S^OZ8~iIJykHFx4&J*7 zo37pSB@KP33uh`29_9qcsajnh(Od#nSmY}`{mjE*%0F%+gxY`0< z_-(!1f)+^l{-EcLxp_U-sAE@VDcsP&1aQ}OTtPM>j*DmJR>8OC%#KvY znk-@_Z8=5hrc-v3Hyqn`m5CkVqR1%>`+}j1`=UjvbBZV9t~>gb`*_gf^Qtjh8%$7+ox(u}H$iWClcf-g=#x~+@WQT8!Nk>XC3pL~rhtp@q= zM}UJ@?2d{LIShtp4o$JtNozHDku)d|`CBS+ZF2S0z};dX@KG(#!nc|mwm=o|R)Ja-CSC5n zzSKWW+af&-1S+35&gvV^H5R``DSoTTo^?pUmUM7dr9R%y}-Zy9AcV50G*lC z`gb4>PYvF$1ZOEL3VnE!n0)&eXa9S0xsM+wZS$&QC+e86(zo+~&Wu9q7-)bZL6W-1 zCdi&t9;dw;>i30I9adwMQdud{clM}Ac(vT?mqVSQ%)AR!HeC!Xb~gyqLDKeny#3Kd zQfb{_WWwQF{X)g?v%N`MblBP6{*sb93u%^7AA{lSh-3VQ3cYCq8^UH*{L%-gOg3Fx zR6{u$`T+JYN~?6TD&p#Ww0Ow|!cSB?9&lrKk5Tqz@^Mw_1i*~`lbFiX$MV%as0f~qkJzg`&ynKyTUv&2yLS^9E~VM=bewR)fSPas0$}PUw}dO zIYXQeXVvIpe4X0-J^F2H9R7WyhK&^zWyCQ2=_xbqh8EY7YU4b`s$(^7+*9FJfISo% zOg2upH*$E=Qkw+krFRp{qvJ#~EqR{I=MQ^biPur89J<%s`8;o3e^{whj(&FhK$Ai1=Uo=q`rx(H~5p4{;CgQxFo-b^RlD;JJ z^|ywlgkDo18(kFH-Y~e8F>G|>Bqy_hB6DI#&jf0#`bo9@tgu2Ldx3Ih0VE##3Ftq? z19p;hw*aMUL};2CO_GMg!}$0Xt(wkzo;`DcnBZs$UWo6Tr{Ryw!&gyb?kanYIS_vv z(+CcF?)eauDv@%BinaYX@?_v$)m`f{XXa=LkI;*n~{w zA)%({N&MGuTh}chnMN4;ug_PMR4(egE-y$R1nZBJ`L%ZNF0u@NdMnq{PvKBoB>sW| z@Ava(6B|u+im|a7#{70vR^YCw3PjfBbID#9A=u$DG!p6>&6{@i^?l^B_x)R+=%Xx7 z*5fx)K1-}TH0h>oEk?#5qnmJIh5tPvs7^ZU&tovQCF4F7(6U?6y2iSS z)S6Z)PE%0pp9Ohzh#H08Y{zR&Zz^o)uJ&|<8pbqG=yV|=WL7vV>#K(M@i@0+YFjo$ ztr5PNN@dO+e%+Fx)+pXb6E{wt&|XvD^-@Ene-aQj^SBN)$?^P(;)AJMA}=VhLmo{- z3s_sqd>?N=bsAmrK8~F$h$#^k{%07|N&bAoO)vk2h^4yOW>N5-y&=f&Q}r@q(Zkvz zA64SebW>Y6v{IqKo>@9SVlo7uv@0J=f+2VrF$}oijc}GyUl;DE*jE5H5g%2CYJP1x z=#vZqbAiq)$~y5pi0d1PGMgQD)g@o$#~aFrmv`8lF-I(13-DZn2@H`?uQzFxNS*{% zNU8%_jIQxzTc7y?4pp)fvdtNxtYxSN)Vda>7ZbVjks$M8)a)XyTyv)CC z*KRiz9atj7R6w|E)+7CFP;IfGkm@3+I-f}r(tQDU87@mE-wnRWVL9nYZgAk8s>9bv zd9KplYE|}AsMqq7`P`?U{)0yimUePk%V)FZ_1Dxf@)zUmBLtf=F3L{tFpW18N;tOw z#;pkM^Ko0#wCs>jGi-{6X%+%1{_(W=(|~V1G!{jvUH(A6f~rEal`1v!5oC- z4~zYL{6p2|ME~dQ^hJ|Zs8KJ!=Mm&pom3*M{}N2ogQtPw+)Xt9eQoI*d^MRtx-p-T zkm+IblRTkpk&FJ_v)QV*f}J9xBzCbyzJLq!gt(d)3URxU%UVOyFuHt-?sfB-tw-0R z<#p1>qXwxH%+H%i`Qsy({oAdz#kds{>Aw7wUt>d_(3&x&l{;y*oLgJ7XHWHtyejC^ z_hx?jeqDR_)?5}=G?j*|+9hX5qyEeecXLD;CC-MJxa?L7LFOrRdoOyPKhS=@294*T ze<`)`X`;3~pUxBTsP3~HSEgT6#aX|8Plc@xRUs(iHpm!IcoPpODMEME%os%hA-V>O zAwFNO>CMV1oQ25?8rUCzA9A8{v+6`itc;&^8sl@RqcgL zJ>;u?ivxWq)6(k}ssk{&8zxaiRHEVsH5L2^m%*Eu)TQWe{|`^+;ST5X{rzorS6@Vn zwt8ok=wI%`4C?SZtT7o338fC4Y?{z)b^AFtj z%sDf2&7AW-uX79Hf0dN+dMEf>6XqpZMDtmwEe8#?vi|k13#MQA?kKmJM3kcfN_9{{ z4qra3X_Ki_q5ky7=!qkS7Eb|B_F-OG1q@nc$_f_Qvt}}0bbob0`fe`7h8@-KYGV&g z%5S}s!O$yNGuV;*i+0AQc;&&mos#-|nmQwps`ZpKq)wA2mpRa4--SoY3 zk}VnY+1HF)vchG57?#C!e@VzUo|h@aa1CGs+Dn**+3E3#O&#*a+VYdQi?kt%p3N)V?%ge&?6V#e1~=G`v2s^6$s1(Akaq8x@i)dwSM{)(E7~K zD&C!`87W9rN8vf&NA6uhd(NB$0}_@#`2)kJ1|n1L-A-oDH|a=JL8OB(qQ+DeEMljQ z^JW0NaV|kme{(l#keFDT*kfM81@abzD-kac!*TwOy##t_*-lR&^`D{OshQpdd%Md! zuU*|uoZdZ})2SDL$W7B#`B*wM2a_O*mx(|{?Eqxbc& zHsVpmlrqng=m%7&OZ#SW!9F#$7Job~C=}Ne!z|t(BFl|ojD!)EVx4C3`5f1IBoHeh zeN}y2bn8k2d-j+j{T_;*?t`~fIldj8I0I_q$pt_z8EEH>fzHje;TH^1v@DO)UQWHr zRfus&)261(1J(7{wcJx;x}}Nj`E<}uFFU?MddENUJHBR^n}uBRgP*|z64qCX{AhzwhR}jqNSe8zP~HvkE8_eiZh8-N#`vwsoozj0XY`}j?dB_;hIdq3;eZD zqdd-U?+1IhY#>tN{8yX=yZc&T&0LB9oML8yE;X7h?`^5HWh1BxF-$v2I$&I~*400k zYXLSw6TSA3DYNBN7)>K8_S0>lb*V{dz@(nv*QJ`MXzZTF+N6#6uv2!__OnKE{~7X- zJjR?!v!a3$L~5^@;~$-)H1q;+#GTB()#n-P2i%qt8BO-q7 zE@ceS-ZM&lBYRUI`bzdj<)Gz<8Xl^na?hTRcn+V_KU3=eE?27DC3S%wv?`RoKVBiN zEq7yc>zLK@-n&6lI6yA%IK3|Qnrov|)}T}>ejeALu$lp0spcidS-#Ul1_wwm-q-Nx?zh6aYbmzecXx`Stq zskeL`CKxov^v%^@6g#^$K6^dOj_JO)|BN_`mu0>@iN#Gz=;7}VNW7d~u3KF+ClLFK zfeaQg$>deHc=^~zUpMte$k6Vp z5_dKh>3Xd>sl!PKWc-a^n{2-X?IYgyCPEA>BrDA36s$~8sMN^w_V1HFSP1`mPoyZ1 zuuf%)CpUNhByQD+&OP1ZX>z@oB z%o4lBz#aV-$lj3ehjc~Qodke2cx{-wOO&tub4A)$to;|v4{$c&t7;?upC(G`#XX~C z^-k8o?>FXvN2zOxt7l6vy|7Y>_KXcwbkck97r7Xz*yeEx9`=~z)JL<3P!4C&S6iY;3cmI#$O|e%_T-GQ2G)HgaArsS_}=SiH2`9dv$b3%~qGMi7XLlHYbJ0mMLy zUhNj}ISYlxKGZL}F+>5kCX;Pqo?@n>w}?%qu2mhvj&jj?`sV zj@^IH-<|_YHK)2;C$la%qZiGFY5uXas)IRid5EIfA~-~G9d9pw`(5!fc2>AhYPWDE zgO7o4YIOEx@eR@Y6qg_49FldKXgRDV zn;oA2EZTF7Ua)3!V56B5kpow0VX1x60kQQ>Yg}Sc*ndFY7$e(DEkCGki^(Bx%CG*& z{}##eIcMn=;QbUxoFRT`3LMTDApao*pfJe;%O3y8ZBgvjJe7|$zfl8f_LkDSHwl0U7YHq+Vg9EBR6h|JY|NKvgoN7)!n%G(T`I5duR^m|8P7w zvTuiGvbpDV6L53?oHowszjvqG`D-s?JzRAx`c%%Xf}9R@wF(sX?e(EHwEk)?40vX5 zlwzz0@b=7gw4r`;WqEabL~$VUGdz*B2$&$9DtQ&E_PF}p?QfERbBIGrsOc$y$~y|p zp%G$#w5@>mAw^;Oz1v>UMGx8e6xN=?b%|7xhn?%OQ6E5)UlA;135H*R3VJS9RP6LF z(SQh5%rMs8dhjeZ;*XZ)lazWUe*oM+==A0z&)dm`kMwM~f(7H-he{l%Uz7#0r7+^B z_@8HWs1w7M%A??63>f!Vq-CMAV(YoyaNmBca@x5U66*occd$Y_grNS@lI!r!`0OLr z=evn34U2&Er04EyS5|-g0XAt5L;gWvyeGi|1GeBdk|yd~5x5M!D?ny?TN+>OTU%4D z*LF0irG%jjz{1spo*S9u=3~xRU%ef{P6K&CR@a+PbI_^|Z6;C!&lU5{0yt3L3%c^M zx>l{$cvBqceIgi=lADt6XAPmQ9QJG?*#y@VUQB(vFSPl+Wm9?~1|I{@pP~?=r!57D z*r0j$Yp~CdG-}2vF<7!VEQnh}Mc$-5kuNO{t!P4*1%|ip8%Y%n*pDm7BsmFgN^`k7 zty{8v?_3W?k7oD%4MU58|zrkV}T2HGL@oQ5gRCti4;}7HW7*gu(muD{@ zUWrM42#?VDO;R)3BIz<9gFN2QAfPBU^@!U^+CQIu7naL;dCy}{_Vr~hc911uZ^^3e z;pkH6vP<0P6CK;OS@AZuO3kvyH<~!dXJW&T^VJYkF&a1iW?#bF?^QqIc-8#(@6X9Y zb)NPA8O?>&#g_i)`#4vK%u6EhIrt7Y_D8XrPnP$-yo6EF{5H`$OYl=eZC3BdbDtt} z{EoS697g+*^tchVo~Di5n1Mf{bF})7T1yE!9SB`nRr7F zo|Aw3AvSyXMLu%pql$`&?xI!qlGr_t?DFX`gAB3{p_7w*(eJ)7yK;q^YvWR0Bx9S8 z@4k)-v$^8g-(&or2`xJV&93aOh$DQvl9XpMZg@AgMOo?G2W6O{ylMKDT?OG^IGi&h z!6asol3b*!G<1EVaq{nnI8Pt;CPh@8Ga4%?@VcZ%i>W4z?-o~wmjw1pkwUI0oC z&38H|me86fL^6{r*W+>eoOhxIH_ms5MmG0ot_7I48F3Ke5ipA%5u(;_8S(AbhJIgm z&E29ze5-Z6;akgtLt4Ah5cq#7Y{wMOz3!Ua=J=1GnDdi6+I04(g6PQjaKpHQKFH`p zn>h0lRL}kEIM6)Ii5K(gl3F53^-AeHUaB@KTYGzjk$&?#?Vj#df!Z16-`iQBXc%$z z!(3KFEz4t79Y~5(`~A0*B0*u@Rz)9DOlH3xs(7^7x}PU_+tt}2x`RIqim)^qd(Ofu z1-4@;D}?Sh28c{e%NtUM-ZmHHf^MM!sn5#|eci9(zoMIkwwZzN`A~#B<8Zn?DCX4{GYLNJ_Eyp!8 z{pAhq#;FFgwW!pKyGj+&95!%Q`+(g|U0A(*cs@ zjpjZuFfago*x^eiOBx^}?Lo)9UB^IL1+51)X`oKdz0kg5hY3s_< zj2g?+ZYS<$K-J?o(`0~q<0x5^WqB1`0Y=X5U_?|n&y!LHd``#4KmSxsiiqSIkW{m{ zr~50`u&~hQ4wQpy%+Tkteegp-zntc)%`$6wWWDa^LBmN z)vRcMeZcn7&8?rEUt^eMC_h#hlx{0W%SS{T;tVhVVb7K8KYu-PXRJKZF(ra7P3H&1 zvx7IIOfJKYFTCmFdJhO;5tlMl7%O0SV8P*xsdn4p=SApR<}Hoa8u6n6%&Zm8+X0wjDFKYH6fbi5aS5;3=EUHiz)s5QI_C0&kkR&Ri+m%;j?;Im59xI-$v8- zb_}#jeYD5?j`V4#m_P6$LCb8J^%bcP_-MU*@M%vp#1T$)A88QmxbUlOC^61`V=`d) zfl^lPZlg&4uJ+bXPPey8Osv+*7(VBU7d$K!P!iW4mDS)2=>NyQmO%q$F zM0*})eamioJ)r3HH1(@UUYl^%Md#CRpE;RvOsuSAi7nS~27FQRmBPzIE>_p;NxOh1 z60Y5Q`gMZH4ISH&40oj5PWAmXu6cFZPX!?~z}}N_MQ8{E&zpbMnnOI1W2ZbUW+g{L zpH^3#x0EZfc(f%d@SpU-ro*3(4PKX4{e`G~6f(?Nwxq-1G6jo{U~ph4>Ctl zO;P7L*xz|qEM40_(&JFJ`^EWSI+d$xcF1oLr3ULbsa%EVo(ZvkC45pPqgrhy1OZCq zmbUY=-^HI3wLdz;o$74zg|LN$*S%8izm41JWn42AsXx4wQ_!_C@~aRrH>a zx&l2HByw4_uwliUb9!~AxEwY*GnVK^A00(`_nZkhuGW3{$6U`vh@d0;BEXDh2j}-5 z8~H+pMU8Wn3(3p<=-`Q$x7-=<=E z`lP-OW^;wT65=yfrd@4aSy|a+Kk}A(PkJ%dbF&Db37j(PLj!xm?%l_+Nu)jm+9esi zr)2nOpCh0aTi&0a>m_rdKkcV6*{f8^r#cJ`8Vo~AMsR#lf)EJoUA8vU@Z5JQ>Y%`W z4S4RUN=#h@=`JgFFYVLuW^IH0N_(W|nRK#?*d%GiTj!j47S+!2w6lkPO`Fi#dtr>* zC5336GrL5YfOAn7wGaESvm1|bS+}OVzxh%vpb^m>H%6XU+)Me;ZOEMsxE~;GUat2D z{8QM7fW7ZIHu|_FE=MP|L%Qfz|Jl6Ix!dN zWOExQUWd;X4fK{O=-v*0SH0sXAp%?1`ZiHwR+T$??ft?yNDB&~NYrFWyNkrqdVCH) zw-GXL!ag&S;sR<`SlvojA`_JmD#=_5NP3!WlO?Tn#oSswT_E-PhJ{v(9k>0mg1iN>Ik$~E?%gqSY-B&i+_ISno`&}8Qu{m6S z>Dd~cD-FLDS=`1)KLH!cmJXg&&0+5Dw z1TVEN=4nCeCe@q*7f6W$!-k7*jF?(ST-cD>5BAN4Vj`S?CBd{by=4Ro zfj`&oYU@D0(8Xf3`>CMZ8-qX8ed0h{ChV^JH^gHtJXU8{zoOirB@D$%#a<1Rd%!kd>E|oC5lGD6xWZgMkI(a{ znXtZ&dK-ICyDXIZ_?{c#VQr|)T`b_H-C3a23xL44q~9EH{GMi`ajR<`*o+s$gNE4D ze|CLlau)k<-5bC_I93>YesW_%x)}%|(b5=`M|>Ze!ktkEAT)!Q5m$c5C~IWFd#Z^W z5Iu1`lqqMkw#eY>03PWYGZ*BX-wh(y7PNWuJ3VCeJ;mV5YChZ#{cZ$bLf|c51|^~8 z=M99@v^R7a-{T?}3;k_e`Ca{wGY|sr+I&dYvq3W0mbghYC&s=r?**Agb3|Ea0Ec(Lo4EFHJ zoqW?mGl2XnAEuNIK*I3j97+j~;|IL>1}-3NDmk(`P2CL-Z+wN;K2|WF*Ft~ZfDn{} z`bolfaqTdV?hv~X(t$E3&3}iDkYIgDtPq&}3DA6|!hK>O7p!ps%i};GTh|?>*!>vR zbh(GW-sC+5yullQww%-9_>a#IP-4SHHL;o`>=Eq-JokZ0FLi|=V;_rOuc8jg5sptU zeCEySVp$CeK3>LMag&P?IbQ%O_suUxCyT>ZRKLqc$E_s{d4#ftvphi27aP38{&t|* zu-dLz+PV_TV@>o40co20gM>KXEkj_8;UlWbZzN1b%-z~(j$cpX&7u-%QY-QvXsAJ~ zUVA+47p!FW>8_yB#1w?N{nJ^K=ZReVM20ZHaL`yb(@c~ZV4cej?IA2+C-&HP-}Mg6 zySQ0-AczsWO`?&?vrcyMaWQhLo~LA)1=h1Mk6aTT99?pS=su#DUpuIe`49gT&vLKH zHrEJHH?~9HnImvV%V&lGj+t{DCOTLkl=Qg=X!W^76!F$NY>A(nXl0c4XoX07S=}qN zlIhKa8J}dAKR|qKDXH|zT=+6W7wH3b1JNM(Cs5(Wn%LAwNGu)(%5I<)%vLzh+R8QOC9zr>KhAD>?w|F83S;*Jnb|AwD~Y=GH0nRKFWYV z8{;#8{W`8}>&zc-{Z2_gL++&YgXI;_UGro{W|#~`ErZuJ^_K#`Bqk?2j;C}5h@Mp! zQ1N{pyvV;OBl*XCiwVMHy=d|%dsa96!*Arpo|K^U0dUyyO}_FWx)pgm4w}ACp7J{=F#e0U;q)pg2OsL zMOR89&wr^$sYk8`J#7?o5-hjk5nD_%VZ-yC9j@FP|91g{!7fQ>9@XKo6fC_^1o}dE z6l1(sR~3Ef`dp-H7XqbKk$kPelm?Oeg*LR6))V6IhOXVc^CN-cA(R#22i*`|hoJII z=6%@90XN64EAO*Jwg#tOSyyVnhgPenUY%_1F%s4$NBFs;nQ0|2{SJmEDJ6SOH4!!o zd`&KQzzon55O>sN>=KZ6-yrJ8@QpZjEg z4)j?^LKYLw-O={&@y$K;`|01TH8&e~D?N+P2OCpHT>ZB2U ztbe}?Q}X%Hj0ruGIZz@_G3^l6d0j4RfgTg@Lz|I4(v@UK@RK=acb*+ZSGyycd0C!_ zQW;WEjA4S9fDblj1wgK~JzzL&VK!9{N#&;|c8*G7_Duz6<2PTqnk}H;KnIyCs|Vbq3kPA%vqF zC$uy^glrwo0cM=-TVNb`!1Ep`c=r9vad`Vd4S69hi@5kb)n0?MBJ1@_8Jyksws=>F z4vL1tGyIlmQI^A!%3!IZ)$Kd?^Z}yD@ODcr!?O(r+bzm{)7TaBYhuSu+^6HuVoYB@ zP}2Yul~v$s{_^ZsSq$NRWXzj+MsWv}y~x4ezx zp+1vGEN_->anAIXQXyAgrC0u2_YF;oUn8n)bg>Z{0FEW7w4p zJsEl#YtJ231N_f}VnA8~5P5V#2?lQDtwh+L4bVnvkgmm#)I9h<+mUq)IB}IP@e95X z1vTi&YfyvZZ}JD!Y35>`8y?kXy)EXYh8!h{mlKyt_D#)i-R6_GZTv%?1@fGH=1dS} zlQ?7b{&x7mjmxK$R|j{EZ2{E$G_p|F0g*|P=X?a8t1nG%@ys z3H(wURuiB@KQM5HBz$@j2|C5S&od$?^j$Ql9)t;b_!cSpQL%ZF6)@Er<{= z%L~$jJ7^4g2NiHV`k@l{i3+z*3_fF4h(Av zAA1we4nz1wqQE40ePu?orw@}qbRgm^2J`wFVM^n}HTugnTu1m$;IMe70JxepF2C^Q zYO+5B4$Rd1Xww;ZoOQqd&Ff5b@yoL^qR#KT64=oR_ej@5GmYT$`?;E;r+(~yp3*>V z-o(eiOV}8iQA?7AN-nLoM48_ga{B)@aWfVCN#d724FPkP$MA%&>cP^B04BekWre`FNL8B$N9o}?YKUW@x+dpV|%}0B&6ow=A zqpuLabt>Zw^`!ZK@2wzuytgqJ$ZJ1hf-c@H0efSz@g?y1?6Fa$;KFWPb9>vXUcfiU zVHD(~#f)ktl=-kO#Jc2Dml^XmpBUG)7R7$SH`OPTTrM(QAj5)6nZH9;tDLR?4kc%b zBbW#{1wN+_;w9seY$1Frf-k?{ixIuI3PI5M@USGJ-?ZwJr(i-pTE3pFVWCOeyimme zVpSnMytj3La=~4)bn|?5BtHdm=&G!toujz7^~@G?CXouB8zhW@Nn!m%$?;CKY@kFj z)CO%350;kQdx#dmg$zr3X6cXo;R^g_h-S;GX0Qmr|Ge{Ip>|+eNDrfILURu?(fRxR zA2tnb9}juXKL@vXFm+n=q}h2xk264l;br1Q#;X?i|J+ju8kUWWR1m-#u`!{Vq7b+N zq2Ply-G19eJ(5OjT2G z)+lnkQTH?sxFHraS}0eqf99&4R*rl{b4^p?zA!TLy~^fuo9AeZnU|{=MS&VDkrLN!KC7$)kKS2C%Vm{nM7c#0=gpFWb@90-P1nak#D|4a|FmpknYaw z)zpO-Tdqr&;A;6B_@JA!2LE|Be{Y^W-o*z(sV?S|OZtN@Sn+SBUu|k!Y|E&S<=yU27WMI3GW;JKj4>}XboeTWHn4}?b z`t!pR(02K1qw~5M3UBKRozM^r;$ubEQ$XqA7p~0cm?*X)ctv}SMAY%6b6u@SL@M}2)f%JM-%mCl;o`%Sd^Zm^Bq6(KU zm-4gW3&>4CqIxfb`Le5$qGNJWgrbd4>X@>-I6Sqp7X{|A82;j74q7h}#Bzd-RLj}W z3b<1tmJRf>;f&HT7m>>Vx{g4-hO>Z9M@)HZFf~hZpSh}+LYksQs2vq>onD1q4a>Zs z+(fBwWD&TSzq3#22=_AYkq;8{4ib`HPm`jl#ldS2`xL1p(scB>^ug^+M?i0HL1mnv z7MY4f6?(g*Bg1my6Oji4$7_vCF}$!uy{p0~YGv(l&1!f&No6njWt(RKU{+lNO!=uk z!|F8FK#U6@hinI&Sc+nI5(Z$IxDdC2`VjHrKVV}$H(3iuAu#^}Zw&AD%uzPI^l{+O zmsO1D`M!hah+UGbWpS8CtZ>OQEc>zFnd(| zXRJax74lh$7OXuI0?Ty+Y~Gpyd_&H)V$Y6&T7W3LL4Q-tF_7WU)eEl9k9UGt)EIF_>y~Mc#GR{F?(?o3Tg$d26;M*NCo%8n{)c$lu9m2Y?|fTa3m3*#{71%==C;!G z?r&tYH!2a^853Swnrro#gt&luvl(9TCA_|qjBRYEM<+1JWT4>bc6ZF^N2iY!iS<7c(~R z*udiw@^;V#Qnz*O^1)WH@iV<%HbWBeB5xTi{aYGI^VWSy2oy)AGA}?;EwN68P>$Bq zTEj?F3(WGM;TSP$F{|$m5Tdl&l8xM>LB z$o`Opf2R%x3z7RH7Y2a$DTC{#C7%PnebL{K7Pi1Kw@~8yn&>JXoNw&zwBW-@s`M3Zs|WSsJ_50TvQU1wtyDYhDyl*< zIE4qZY(J>P*BU)hmb39z{U!j+3{W22zJB! z@t$yGVZ8C*b0}d&AWTkb{S7;k>kPJbH$wK$A_qfb-ia(wd*La)a&<{Z+3S8T9of{M zAv(98fQ8);+VV6n8%8-1OMnh;_=^EJO9ajbdmq51O+`h?;*JlbJ4iq(R6^5Vq}e2w zaAP0wx8{RZlwEZuR2KGDg*i$(`1?dJjtc~_^xyiPR2QGiCShUE9T;2X*nWCcM~>vB zrVC@I0Uex(1eeGBZ(>MdX1%MOl{8SO&qeTq*SX@fVk3Vch%OR>0(c8}lu-OC2OxLr zl}cPo_A+o@Ck*njNeMvt-x>=+TE(;6u^u zP6EK}Vhc*R7(V@*dI5x!?o#xrt`AQW6CW2CZg)aPxG5g%K4W|=6#@^HxQ|PF_lIV} zCavMGUQw_3VZJ!~GO&}$PQ8nJSo6OQ>Wx&bxE|eQ^ChwKpkog`6kZzn!dDT~OTDp* zzpqtlo{9&Icwx4(i z1<*lE&$LMWcfhp^8$7wiz*b76D`OP3v3kZb8uo@_b7k!F=fAP{TqhLWazqz%I?)72 zd_~%@JWen_f@;9^Ewez8l=inack~EFBcz}3ME$WRGVm%QJjty^LSjD7;)= z-re;oU!HsN?)>W|xH1}76>Zk5D8nkNbGj)5$N#AS1;gL1XCYx-ZRHVkB2lEzJdqAZ zqA$bHEV)5W#vH!8UBj}=nL4Ox&>9O0%X#&~3I9EF8-o=J?r=ij77PK!trTfi zd@2OU0kisfVPJm!Qm7|?iCv@o&9F<2ynVU>4y0=)4M|faaC@egAItv$C!PK~!Q|t5 ziNg!fjn~seGK+LBG*_&W|DHHaLbok>IKy+0**UWaUi925&2vtjQUp%JIn+Y2FG}(R zpPo8{ghCRwTRWv;-(HYYihT>t)y`Co?IV>;Nl?l?sP=hx5f*)}`k{qb5nfY2{aEyP zX}LuDT$yVfumA&%Gwka0`Z#bKHeNQ<9eLqfj5Q%&SSfk&jpgvulzjEh%h>DZOqx`6 z(BhiUz-`9dG1uM#8e`wC8(;gCtkTcl_vC*uo})5n(Jv1*ZTw!aNEO3?Ykh!frO$us zNBKL=O|g)#lK2jGX&2PCy3n}P{V;0ckz(^o{cPruFqw_zi8sl=etGNNP{iRh&@U7< z&ouGrQ&P=u$&~>2_c%>2$Pa6KXlblA{QJ;;fKR8gm`J76QgJ20G9g7n+$PWz!%iOI zgY6Xw*!zJ4*C_K5g13i%od!p6oaaDVCD36L6j1Xd;-(YeB{&)YQl#sh`4uA@Td7x5 ztP=fX`k`zEaG|&Z>Nlv|J@~AzrK^J7@NpPe?S(UJ_;W7oudTtAX~62}pF5@akf#90 zxMa<4E%FE#vuE*Ym`~or6mQk>7cpTrmzb;T+o9AMDtt^t0W>X(!bA**{Wc`c=$)x| ze} z#XPsW3tt1^NRkniqEZ6XBPV)|fu@S+1G-l$1Wud%r)etrXcUFU0eH&2Z9`3A3{VVV zjcu5F6ZDU)fT!!j?QZ);su`=l`xN(DKBDm>qKgI6r`oFNo&4^Df#I>~8kf4$I5!bi8EDOUDdcbx(oRxhmxO{pxhKOk~s z1r(RicaedQMco;VZRPI&)$TZ!CMmKm&IvvLl^N~BaveiJLT+B%ze*s&(jGq^>TGYv z+mtvBgT!M=GO}0zG))L!4jKp8FHGNt+MOaYG~IQ(wUktm|? z$?W-Y*8X&uOW@S%o%7yFG|TV$z{j-1tk|MTR;d4wWArv?Yx|^LHk&~kmnFx8sZU2( z_;F#c+vo)QCpQQWI24n?IbT@f0&Ib?l$uYUK+@EC8DjQNLs-!4!2E8XO$h_g(B^nl zGPjelvu)0sKZwWjra(HObmGu3axMqcK10U`!3k3&d3RfXzXTfDA+rFQe}e@rV6)EL z%8A&F`DK71CVl_WUVzKwi`5A~+?o04)d=&X#+8dIw6#j}8F^0l4}JuKI4$DV8i!@hR%lCl8*?kg9<23utpbNyaXJQF_#$KV^JKF`Odky*|x%( zzgz6Pr>D#INsH$!V|X(@8RLHO{wi}SV?_Q}(AeIWS1HeFzlLYr6FB~6bv(7V7dkWZ z{fr_$^5vxy-};JX-318voAk!;^j{l+ksZQb``0r1dXPt*Xfh(0XnC5Df%P0!4dhOam6=>eJ5xi-Xwsm4o+mnz5{l@OQ~|J2 zB_qM<2;Di0PPyksr-Z9t7%dWlkEOnxvj#Z)0RhF`3_7EIIvqYqynfehRnPF@pBJe6 z)YHPqPIKk$8^g|+$vn(@C8WMhz8PL>4Srv7RY3&@RRtD?DgCBo4_5Ups*4FRpH~kt z@yFUA>XdQbPV`t2Q1a3E=L~86;x;6b3=X&tYY(x;+p?38%{@9vvGQb3pZRyb{t1kK z6=j_m&*g>Q`g(Ee4TN{tN$Hx-<$E$-9hqqLPMEM;GSw&8&3R#5!}NQSC(g5yaz6j8 zpV~9p;NkB5Mgt zq~DpVEe!L#)E@9%;33YB1N!0iP~4*$+J9f1^>Y)<@ElHHOW0{E2iC|& zCFk&scEIa*rsb+)bP#@MwAP3gD=_TT^|v-IYCs$36Pa={31Vn0b(LmNnCtKv6RgE( z0vwI2Ea5=Hp!wR5O8* zNX=BP1OJ!#0Q=w1zcPGR3LHW(?xf0D>%-e@E~~#ay<}vfV{2XgojFMQoe&UFhdHK~ zFtP#UMvkMxLk7HBzVm589#(bEr3K$8Uy?>!phjEnoQzt*%wRm5pV7JJ}vR&6^q$N~cf*ezJ}vK0@yR`;`fI z4bFTuRdY{3C*7c!8%TLd!5MEhfY}G;%yPX8MbE&}fq7if4w6TID|*>;4sWf=gD`gl z27wciD01vCE_u)=y@pp)qgpYVJk_lh0}lywJ9++ z)!t?Ybst)?s3e9Sb**IODyGvQs4_SDV|P6B;T7y+kJmZjp?xY}!Bx+rSMdJ`7GM!(raVo3 z3;=Fe-X}AC4{*uw1=kNHOzYx1d3kHdw6~IBM(8G5%@uH@2j~)$ zTJV=mI6zAQ5Y=%dYE6waD&iC`IX#;!AmQZ<6?5rbR{uaHT1XTVnSA634W4)hE5 z_v-Gw1)`6DN_x2Czuvhz@TN%ed2?!vCyX)eJqA?!as1ptdeRfyr%ZQshcZzshFg`o zx*fd+-F#35JH|6hxg9am; zxEWgZt`~e|+R0Mb8F#dy*g}1)!rmE_r-b^%^(G#11-p@6u=UK&{U(gLG?ENAQO65d zO&djH2Gl|?=W8WLUS`bvhQR4hAy`S5C@(I zPa9MyNG5Z90E99XOR1mr{=c7Jq!0tWBaCSj)@rdEFO94gaqU*ACw?f&ZLB5F#Kr)z^ShevP4SB;91=!-oXs;nzfqThiD;ITka= z=a~OyjV7l3_J?qGAl82Kpu@se8g@A?JvvqCSC4M|(XtsI=4E~wQGQ+kN0Uo^BJY{` zKq<=1NwS-~hV<+3gCf5^NMOtwsm7x6UFf5Wg47mhWsG@fP-38jm`knOvWmQg6sKU2 z1Cal~2S#Z@b+xDxnHkXV2=$SN#CR?9|U^LLnTL+Zw$F~WCHlN?T0>zk!pw5pLep-nIun;T~vqAbOY8S{h@<=p-ReN!mIjZ<42l6>KgcnY*YUTKE=Ld_o?|Ur5GxAYo zZXMX_Q(BuX6Dc&= z8zR_kA274n;(@;AnQ~34?3!cH?J0VQ+YA8Nm_|v*%d@*`MXmmkUO(xy!&9s~-(7027kW$+V$jzB;dvaj}4d85t4sAQ~6($ynYN8UoEaKu;D17nVpvrKJq?9rrO`mq&ylnj{$!Zt0%W zSQeOm`ASU}>8l41e%+y5E}2C^*GZk}Q1bFoA-Jd8-4YAP%2lpLC>h6{EE)X5hN6Q= ztedofOu6EY+Q>!qF;*vJ*eFXP@6}1F0j(?u(`ogkmt^yhoR$3z;D)^Jd}x+11RT?f zpbtSqJ{roUnd$hXCfraIN%Dq-Z?{?jCdsz4!I?+NhFk|gDLRznJjren{Dy%}KuWRR=k7F0duzgAxSFO`&N z?YpSa#>DkYS#i{6$bDeoKWtG>KtEN=wC+}OP@j4&Sva_}8HbYqHHwy^Jh&i`ZwEec z>PMiHdNKqZimW7nsf`-0pnlrBGZJg&ka6I}p2>8nP%rlDP?yzWICDCUs7U zuybof4Usk-6SiiLJ%G`o^M}BP)ikQ9V*Rh3kO^bZi3CE#^B$JQ-kOx_XXPOlTqgK* zBpO+oMpj{f?$QTohALAXV1u>i_${?{M$6uRY_+&d%P~ib}{wvRx@j_9onG zQ$l1#R#tX)GOm&AY%;I1$&PFPe1Ctz`}KIA*Er{Sp3mnornq`xO@ZLNS1ZHt{^4(# zecT`beV*Wf`+@LH6JYMU?tD~!nS4dpZ$pA*vzDR(`0Z=@y*i$9xQavJ2;kP?=;RYY zCO!s)AbkLd?BpVN`Mwe39Z_*=;HU%~!^d1q`O@yb-~~8f91&KDDfL}>sOLNvw`hIg ztm5)MSnKT85Q&bF`zifp_w19xyt2+VDTLmDstVk80z3*5#}wek zeKBd^vsZ`V_8lqMO#ly>WMuY=eGZXyrGg5R+lk7}#E2vOe=DVhLC%-7R5|rjdRVyb z$fwGwg@^1j98q&1AH{Q=M1pl*(`PFJp;b*ri$E~`0i!oS6ZqqkgM>Fy6q~yMO#yX^ z8r?tOq`&`Xyo$b^V3uu)e}DeTfkZDU211|J>9AvqvJc+tMzVu3Oknr>xz&G7AlcfS zqab^Fb#W?nw%o4*%oNx3!g`h{v}*Wn^` zNJfiIZLYuSTw)d>2Z=fuqI(qeE2dW3DmKjKxdZ6q$!aE~=I2fbw!XffFE#K7SyTd0 z>J$&iCBc1ZjOTb2a?fPc!REqLoAo7M{*SQJ9 z#`07+wWX^fNU2#PKrZp}bLxTMro^|(r#t$4{~3}5gT_|SWSwDM`t6G)DH8>i6FG0u z-3&M@;j8lb5q5&undqF*F{?kFZupnjbB+LBpuDc1tnw8vRGU}%{d(!<;u|s`E(#>| zJmd@09jjCnGiOvp&gNXZ_$a*y*IKt~AXqLC%042_h;t3Pz4cc~9oUxXw-jq|i_xfe zHWwk7m_Xh=ig&y2B>_XCnD_zZ--+bdPwgV|E+*)=-nv)!b*~oI%9vU?dHJb2lWtQf z2%;bUy13&Kax$1t3KLBz2W9-tk+bv1m(nW%{zTKCp14yv_EsjofZK>LhOykm#|CU) z=UEsYmY^zefq(uN3kbz;K;SDsZx54Ie(#L%FJktTltaEu@PzGj_JLuaWGSR{YjDr{ z+f$O8k72OOTrJWO$ccN{KUoxg=+@!g zD(-+cP=}U;;McvQ=6Y(*Tt{KC5zQ3m2ktFpY&`nRdvSVTk4Vse^o+hH<#*P)x|&VoHkCeJHPk!-y(9T{Gh-Co~*O2O?9 zI}FHm_(C5*!PwNK&B2~`k0idYrRl3MEZI7NbWiCC_MXusD0WN|vQnuQPZM5Mj?e!? z3yP9Qe*PV2n@1Tzf}*TipZv2SF3>L3_Zp3sg$u|$`DA@wX+E&TPPkN)J&ERHo}@?V z=6xlxt2*ZMljL+)QRH2U*;KEmYrNb>&^!kX(}a=?Cu@CPqIBp$qug=L!q9-keX&3& z1uRzdL|GAU=l5*Tk9LaVmaMl^Od7EUg4geohx=lMoS9-?M)ps8o^guC>zk43K{2%q zE?1SlZrm)mjTfk?aI?j?pZ>b2Q4naEfWl4q;rV@2WI$a$1?0^)*2^V2Sfz$~XRG}i z8xr#F!RVqlRj&oW^+~xG@(-ZGsxn&uMdcZ;*!03rv@1lS?}QjGJab)iZ43~1K61A0 zzo#aJ;m#}J3$IN^*t54nhlNqM+DHN6dfF{cv)D$e-N=ij8$oY89@6!jxCr7qGDx3i zH!#(PNzk}2=jc8+b>KhzNRx;|Wx3t6_yJ;lZnsbKC5_y(4)-3rE`5Jp_O*)rnQ%s4 zRxEx=hThDR5IF&$50sGa1B{JiXo3BV4qj7o?EMDYc~cKui{;JK)xQg+>-Fh*S@JKU zJv=#9WM}5|ZxlENr|BLGxz9_E;7rB((~_qVzW@E;ROX3Y4{JMPKJ9^z;BcHV7@D6t zg>#qS2gSt1l#ga$pd*!IkX(jAv}SAh!v2sY*SQ>E*uLMcUyxdAi}_Xo%*!5h`?L9C)bl?d#(w=y*1O zKd3VfVEZBr2+I=- zoE>|j=G&18L^odFs*X*`D8cw$BgoaP08p$(iE1I`^v&5VFuwA~)xWRW;g*#4Gl_3m zAx~9({=C{sCjo5JF}J>j3y_%nD5T1Wz&(PbDga&X!XI(JBF-ht3L626c@~MoTYJG6 zR59K`1R5CJ)Gyaic5?u9#B~uFAESUT*tO-+vr`qg_%N{2vw6!z{a0imy_Lv=;B+Nm zQ#R#bXg{VBg#7+i?l@t6ND}oB|ky4E!Zrz(h_(q0jHRZBW2L}qp{T!+gCT^rca6xGe7e_V z6WTzfR37bWpuV%V*7j;g*>|(7oT`o(m#)kiFKG>6tv4VIUr1w2>uC+BKtUTbe-%{W+E{Qa zDFkO*aw=m~XwsnR{EP<5i0pgFO*%;$Km3dMulm3kxCuTQf`0l4f2>9q^9e+;au<&A zzu*mc5cf>7?YZ$!fym$mx!dd7xtId(mD6EGpDT;6e40LaeM)_~DiYQEql(&5!4F|= zQtWkY^xux+DlQ8+At11gt_6UAwu2hO(xS8G%Eh&=O&_Kr#chDf_9fJP2@(usviq8` z5~XqbpD42mXwAU+BNT92+*+i*L)SkYm_mLVzi$T# zBW`g-(a#1)WkW-t{z>0Zyvas%bRtd`BYF8wW@du5>n~=u!;QiX1RmY;|D(Em*w_E3 z>7ZHifVbey(}O&|GGj~XlYf3c=Wadb)ICj64S0e%(#>Ev9@Jf&ySWtV^cSt<$e1#J zk{km$(0*rdvGx=iLn_xKR12i?GY%O(v37ez^TF+pOaADGE%t9zFE{L3waFv0fv3(P z26b=WwVH=T4{^srbbW7RH?w8w1If+j}AJMYXU;TV6P9 zY7|{>T7M?Vmf_b4t~@3l;Mcv%W4#eh#tXiuy%oG^-#JB?q6Ug?!}ua4Y_4)4AB`x9 zQ)0>O+KX$j0AxauKmMXppftu1F4vfD%uY~CdQzLjoksj;l87QT!9&@z zv1IY(=%LUD5rDxayP?;AXB@K?y&UHjKYo)ulbFzGR?tb=xJ&`FfnIP;3F4Zn&-#qa z?0?6dw)Ld_s^KWMAHo6I(}`{pniQJ zUb)p`PI@?ZM08W5e9Ye?UwCxIhSEU331|Pytp8x0D?%d7+bn8-f{);Pbno|%u#0MI zC%`T#l}?RcgQLadOHk*zr%nzztAAh`ABa+c{6~1B?~3f5Kf)PMl<`eGXrHFi2kv>d z&qwn4B9SlEC4(>ZMvF&$1#XCopv%u4(Nx7!`5g4kNMEIQCv>rlz`1it?09Mh@dP30 zzyEq!iSy>{7qAO9AGl0nUHnKb4aEmh;%+|daU^Xa15?O=8Zw^I;tto?Ok?pR1?K{; zZu!>3BLDdUsb=J1!VsmVCrBvZSr+QXcr$93reQB(~iuz5xtG0be&S=Le19AYC zdgSv-Wxq2}+3OQWP>d9~9pbLxmVA;jb^nhqYqdmLreG*UpScxo@qee;>#aLPwC&Wt>? zzKkZ>HDJzILpCpdoCWk|N+)sF`<1yq3 z1{b#wNus~ZpZw6o?{`A9=(TA$CR7aahkTx`xH&|T)V%iv&o-IDvb8y-*WN+)vmtM& zk`LR0-ea53yLqr$nIX3%Ef>Yh=A6hZiEL{klDPBhGj2#$+0?{RfsMsKX_Bz}t7koe zA}X3sC6Q{#Dr($?_bSiqEX&BKp!Oyv4R|`6)yZkJXBkD6dlvj`!&vSvc~GDTCSeH(9c&L)Ar1unrpcpfC;ig+8-x-KMUbJtWQ{Mh z;Y%9(715GCwdndD)hU4>HgI#4Xe}MThijvGL1+b-_-PuajD|r`PL@irOJEa%K_ky$R&#c%(amP^f;l{^=0f! z-14iOgK~YlVhoks4<>9Nbcc$VE0L}owolaZGUnY0&TE-BE8QLo)&H{QOSXStl0fWxZ8B31hMf zourOa;@GXoQoWcmJp9d-|MyDtw!fV%S`zH7H>Pg>wK9)E7{ySGx<~)o4auQH^A8mj z^^LKuX@2J=C|oVIsO$)% zGTU+lrJCXA?Z#fImp2n{N^kyNcqJK9cH&&hvB1pgNstv#t&#FHM#3%@jzh2yh&|6A zz)j5G(+j;|Me|$_z`3XN*h7MnT+W(O;K0EsYIVgXZ&<`C40O2Rl>rN;S^;l;q|J&G z#0KbzfYX~m^ya!()hz|}I<}J5KORhel$S$E*i&sku7W9evyh@q@G3upm#&{|y=LEV z;jYMwbi*!r(I*R|9e-?ITzt3??F2>Sxb70AL}sPRbj^t`Z@Quvz$^PBnQu3<6Yc_h ztf05y>dmo&*w811n>dPUT50y!&3a2eBf)o8IFM1T;cj&BdaO{BW=IeF7etJj+--7U zA{l}>*~oa;IIbDa7VBGUUL0M3uDy7ukb8Z6{+h_d|t2kp)o&!5|?(^@vUgV7~-WDkKZ)LI3@aNb5pi}+3_*N`UMDEzep4Xee2{@6T1wrOO z*xeG>Qo6%^%L7*way@=b=2zb6?qib%>+ksVYJLR@V{%X`d@YvslJ_6LXxA zZDK`Au)Z3|m4%f@SZh$@4!tFERsdVRYMRnnj;m~#d`yoINa2C_8SF*K@Mj?XYjB^@ z-F1?HB3bImB>&&gQ~LI3hwwV%pjK%=T~TQ=l`r=cbzkhOH}Y+Y8$K;f zI#@eoM<~VMTc?wNOVdXAXUOlzN$OHquGr5y+OtkW`-=Rl~eB!_3TB>ejiFvu-kI>dKt z?}m*eSA#T#_)1Jk@lB|^pLR(kGjB(|w7u8PhazgwFBUQFl|T4?+a85vL0d!1k)ygR z!J#hD0~*(0NnFIuV8&GM`(?uv@^3n8_w%W@i*Eo)~y5}Ofwa_nKTkIMB zRO{zgG(cZ8L1pJ&m=#N&V)(#NOuzMfDIJ-g`&vI9SB`ErIu;m%!_tu4LbFdgifYI(#b9Gd~ zZ-DN5Bej)|DLAba_bRnLH5jzC$ggT_OnK{CmdYQuM+Rv~F1(~ZKajvpXAiqTH6^Q& zXH!tR58(5;kBA3W?m$dT{t zQQ|pM_RRQxWPGmx&J%`P%}AQ5TqRV&_bNSfR<+%p!HD}wUq`-C`&6v8rN{w%&$W3j zm*C7g!r45SlE%hcVQ(Z@H>T+M%|BPAvJRE_z4oD z?W{{}S|wdeCmCbW>>Ctfd&XqU^IQE1<^|{l3s18u6MI117YToF{zW$&f%89b7u0no zQ2Z%xu>xE+>pLH_CSFAmIg(-xT1n4Qc8S)0HHxw<;m^bt{p@HRXVd5~)L^2%kI8ld zJ%qpb1`jEY%Kx+tQ?uwK#}9(xu4GTx1PL!t{VI)1eICo2dC z^a_2evq455_TNAaK6b@j_>kEs(xj53I3OlsT~Sx}Syf>1Jb>aTf>`21rN?|gBh`js z@f<=Rs#tvfdo|BY3_tVV&>MD(KkOf%(UA`B1l1+Ml!W{jywgSwJq2a0timL@7)F~7 z$r+vZRAnAKt5His+NZc$ui*-mK#4Q*5q+<(bq!uX0EgM&D6WOSq0p+#GbZ# zC$QA*v4P3-zGFmCsVvoGQdJ{{LiWnpDuw8QD54Ktb}$l0LdPaedxw&d=4sv@zCHKS zuU3WXmo)dmK@w-5E8n70$z`J_sGDe{&4I-eeii|tHXfmk?eOTZImA1dtNhC5RaiZ| zKysC@M_t&3E~c8YwWUo9f6fq}cVSyOF?COBTTj?xdpvlDM433kuyIvxU5_Y2#j~QP zX()FJ3lnQ{%9gCknq@g!A@^0|1n8mnAOcxiel=fq`S2S7v)T6+sb)9*Dc(OGd9I|k z*)?ckaKldc_R5DhecL(p z^V+`;)qIvZS9E6Wiyvrhe?FN%3q7xAf=RZCLhBrXNUDE-ty_kltcwn(mH%=ppmn+| zIk^?pL4NtOul2JjJ? zeFDwaF=-Y3CTmrHbK>Oo|01q3ceSN)8x%!4{&Lc#0f7MgKiJ?}S6oDH^soyut5ak7 zwzA55b2V%~rKO(s-Q{~nQKLTe#haM&A&HJ-`n-d`{`I_}I3fxx-qJg5{f9AO;k-h8 zR%q{li4;$zl~O|!ZzVl_eaF}RCmyZ?I`srTP<~S*`-=aTz1Hx9I!rZ*bhG8BwzT``&tTXmV^utd=50QbYUznp_njc~KLH zqQ5Ldmam(kH@#$@6+!d<4xOhpZUo?o6<_T~Y}fK*2SyT3VTQP=h`3NZGZU!*E~@#( z^V_%Iu{4;!o~DoVhlgB$UFlCOw$QF(F8(HCd`Tz{R~bBwV7FpaAkvvH8`hLff121s zUPL$yl78q}3Sh`sl&<$)y3qdcf#lMJY`^tY&DB4}dPXu7L(JG^V}K8rIN=WylA$Tz@0c6s-P9RbQ!ROi5HDGu`6qw1w@^Fd7B_RRBB)DFc^=$; zRyO;~QbcB*pP9<#CPhT|3|2`e_mr{Y}SKcxY3Xk;%>_1St!+DJ-*g(TBI`H{5%eYW^sWv=!F)8|1Cbn+8 zdYI4p##+w;f+SyxCdy@=uGuDjd;Cuv^ENCsJpr4;=!&?%pCpB1&$gl?7z_FjPdf00 zzpKHH{b1}%Gn{$Z-@}NHwO1H|z8<*nf0TA%xgbAf&{FOCGC%xs_2J#tw4NGqb)Hxr zu+3={xv~!LvdrVewyY>=ozLpRH-YV_+jmD0z8r91wY8HOL5&XUQ@TPP-0bD8N|w}I z{_$g9@fyhG{gq^?+ObMfF~8H4JH`QI~Zh)Z%uA!9Fjus;Kzezo25c&d=wy z#R*=xO!}F8J@sHa{BcZYSKFYs*S0lrpltHkrSL=Z%w0z86QR`?>HV!~n_JA`ueccH z;ZF(ypZCv(2-X?P3l0CxY6W-POs@$Lzpj7%0w_dfT2U|5L>~FS6`w19&gn{BWJZF# z26P(Ovw7vv|07$LfTaB~Bjxj=$I5y3{9-JkRGtRz0BCoSLBG)Oa}B2Nd-xm!NwsvsY)KEi~ftO0-;UEqh>5| zrYa22HapWph|_`THBI&?A|kfTY?q0Zc0=sp0+Qm>Eeh4v|z`c z-N^LPM4m={q8+-e&L9x{)D>CI-ADmJKv#Or?|!b#`rGMR8r!Q(Kb71GxuU1b-br>StCeJR)Ib&FOVJ^~ZJ$yVm6pqn7 z-ZwGoylVF9PYhe-IByw=m-2olAte}RYl&~Yb~nxDj2VVLX!_24C91!W=BKpNpH}xq zlI>gCbN{sMx0cnHM}8IBY(S)^RHee?E4jDw*G>H8g%pJ={u@H>L5Do8kp?N2pxhmR zx_YsPV1#YIQ|d^2_rciQwwMo?^N-B(M;;^Lvw|U%wDqKn;uAe zQ&{pXiqHIg+KfffUF*sBI4`0|nIfgwHr+X0ZsyDPhlyz|$~NcPq#jOGp`i{qQmr8b z@yA-xb0l%*Ml!c!duuIO@r^JQm$8?s-MfniQSLpF^dV3DYm&(=7?fbKi8$HtZQm{9 ziJY^>PhC_7lN8-!jy%MAx{f5dzld>A`Rneu*rE&$i`)MUhNpyutj+Wvkzz@c{75Y) zT(F_0swCJ?pPn2p?Pt!pY5??CZ?WGBwNyW8uC4wJDOZ;P_qH&myc`t8uXhM@LfW|S z(^}&Uoy|>S!Exfgx;^ine#9P@LDeyp%W@`zkRNO|&MG|&h>eIw8$z5sKIMW6$$>oE zTMzyelD-v8L(C0jh{X29>$@Uh5d`(eUvAf?jb;_T@d?S2H<#0UoSvf8ed_eyo$*5H z``IE_xz+rP)yc6d_kE<4=5>K>MrTr0bbs_&yQ<5+QHEqC^@`*UYPVlHhq<%sq_u5X zt9Gb_(l;@i)6v>ch17o+cbLmV?j$X=f>;6myl6;Q+aQD5I30FejO}+kY2E(!=B5l{rl}LQ9v67x2AQg3k0;|+E0}^q;r}`QdGPdVz*q0L*jG|eU#X%5Jo14!GcYe9 z)#z#V^w2hiDU5qJaQ}%rQl|os@c~|DR`8e=%#qPOB{(zxhprFVv{xVA@924ez zV>ewo&8L$TuiiWT)xTlcU$v*@^k35^K>5--lPSgQXU?tJ5&s)4TMmyj{RrhF@c)RL zbUUJWm#P4&SYpa}!PUldJFfc3fGqCHxF~JeyN%E`$jqY^J+tkAwR3_0zy_Bawc&;>f(4QdcQ9&V%H1bim*G-~JSOc2myCStKWXA13r3B9A9}%S zbO9%rJR8!wcO1M_1T#G`?dQiwCha7I=dH2=SFs;OX_qh;sdv`aE8|47^((j<(EcxZDfAeX-*D|TUnQG3 ziO7H*lg=X5&}`UM(`$C4-+C_Qg3ImgeLOLpz7C|sun}-q+w9e&o*YK%*AZiNRq;=_dPnb0=%BpeH$ZT0tjyM{VuGNe_J?(hj$O{i zReUBHB?PAvC|-Nv{#jhCIy|}jO}MXsa7VmWT%UQ>;xm7Rwa$gI(gVqRk4_u6UGhJe zO$qediQJd?C3D^%P+pTMDx=3H?4y}I?y(vm8SsR9wT+8JXI=IFujx?t8AA*`N;Fb)*GA zLNHfpBS>lny(5B0{Vm{07RVaw%VS8sJaE#qD@k1u^5Md}{9%Ph$HCz9Sc*kvpUIG3 zAHiGwdC5miy}WnLOyhe7n8@-6_D|a{6NGzt_&h(cKD^Yn9lVS4POc_hbTw*tAdYRn zJYi*Ia{2)uTFl&Kh~HwXu(leOEq*87zKVuES=4o##Q5LV1J_k^G^}R$-!Z+axT1W8_Yb!=!YHMnHD8JXTd>g z6rE(Bw_3Vyw?L~cqYn2tJ(cVWBO+J<@wO=ahvZ?jg9x8b%9;|z<+-* zv0I$yANF-=+dNs}SFAVVhqTeWbj)j@#KYe#u&;{F;m)>mUiIy&2gJWN9H32gLQ0Jn z@_mTk4LLc8iGdFT&s`g@49emI-iNpRXt-RESG4EDhoA2KCCZDYvyS?)_jv zw1Gy*_i;)<9n+s5XGmwpxub>;z^u-{b7+sBg^0?TdH$Ay-{{ANU5-k(;dBMN!xXhU~j=KMFp7J+KCeeQ`5z@u< zsN2=66jAkRE;|4Yba0EI5JSEu$bBO?XQ!dPmDC~#QDyC~$pqyln-C^xQojBr)?aRj zAKdS_@B+63N6pjxd#gvF1PmxN1Y>xhw{~!_5!`&&aP3C@X>_^4HL7pa_`a_LP;aOG zR7G(6i`@NhUG{`}?Z*nvyf7yaHY&Sp1QE~{?)(+uh$`eNT?@H}f)%vfFHrj0jZW#$6FaK6D=YcYh$ zqpzITm`=nkP(aq1X{EBsVm>hLA)@K|pKBD3uB<^-uG&aY_9ZD5Si&sMU##y&!L2n{ zCP$L`id^qUo4;Z4D$;xeG@+&C3!)J?sbbM*^IUz#or-H$GC5}o+Mw(^e+!>b=39d7 zizE4v)}Vv756;ZT@$dd?D?!zFI_S^k7~=-qU9KC6q^hrR>56FjkhW{(JqBX{LvC&) z<_*cZyzY0<&d!a)aq()HB$5zH*K_d0%Od)1wyYJqxFGs+3vVHQK8oxOfCl#G?aTI8 zAx2?>Xm*Mp%XMm;((}fD)-9dwF7T>wFC?>$?xA>mUgy*j=pxb8>zBx%p$<2OJY}zR zf3ggL{4)l)4vo09`X`FgGROgn`JuQX*Hi`5#5hDK(WU@+lNh>zbJGsHcU1FQ)uei3 z#7#7dAt3l-k?cph-l)!{+AGsg9(qWTYrM1aS_l7WtlLGgEzPhh8<95tdM#PdOnL0O zCyhNBeRpJJEEa<2Y(jBo3;FO+B_SEGdB4?^$lWD%Zh&aMUR+u+;dDT>7XUh86If>B zCXma3?+Sq7l+di7ERF~$mH7L_YptR~p)Br*uH6Z(@9EV%549&91(TG1bn!g=b4e{5 z9~c#nd4Q|L;YBy27wvX`k#kRb1*R3z7W$v{fNz46&mmxIZonZCw{#T% z&)?LC1%srLEJ+B~0vf2qZv#{sah1>ndn?lN{7Ko~<$o9X31}MP(~|#4W~H3HC;}4a z3+h*G65R#A16Adk?={}1L*vUB)fp!>mo__^e!Pw&d&SUy5b1wT3C4=ZsVbl8K#)37 z1}0XGgZ8~7Rq8sl=ZO^oT@=V{@b5WS z7UaEqPNaexShbwL=icgY9hHqbP4BdHeA3H^J85FKG^hwQH#-WgkYuf*mwXxI^%xWv zk}qDnZ5LPWx>o7K%rhS~9@}W`6r2pIgk1AE^C3_BkQk5zb^odw0hDfrX9_Z|!W8z1 zzr=g|SCae720wg^uaRO+FiB+)1w@eXd!ll%%X2w$|Kz8z${a}N1NCrDQfP+cr;=c_ zYuZM1>d)41fw@kBC$DDJ*tH3A+ML}?j#o>gLEqtd&_#$cLQ`J~6yMM3fWN$x8tEK8 z?%nuDLIylC^Ah6PU=7MPTJVbrsZ^-sM;uX-2r(L1gCph;qku6Vzt5)|>(rv4m#Q*+ z*)I^9Z3}=~6fTsKAo&Bl+h6$YgFJe6_uAo~9XFgbNDYl-A4g|SdVyB--)M3_VJ|A2 zR=IIWxRAT-J_ZG2uG3HOO$r#ac>re^rk)9HQp|)ot9~uSp@3~IN=;a+9-GwOPLl#T zznC1lmH|e`wMJqjoUOeEdar<{)X)9HcGX;d?SLl^2*`43rXqdF!jW4^JH&!6Eb~V zG(hVuq?6JE=L-i>kImKGup$4`r35ao2zf_0Fxhl2boI79%>OI3<&+`~PBj^nf$#X9 z1y-{Z?6d_Xy5edS;EnvEkoxrNdd#~cshgt%0OOd$s>SBv9gR8CFVKf=_MsSFNUG`P zwiQJmz_`j+*cc4+^w9j2Lmu1!iTprUS@(i0+i}&EE!*}9!*5yay`(U_{;e@zV0ISt zJMnBWcPm10`%XP2YdfEEX$TjD_%}8Zo8ol&EAJ1f>T(Z3TMS7a#AU63d?zjxAr7uG zW*!HZcXhZriICymY3U2XDzOcNDknVfsJBIwRXDNJ5u9NgJhaII+55V0d%Nd*JVo|W z)<;lh!g%c3SVyV{)x)zuH~?V`{TY#a#3i(#h}d#rel1vSKEj z;StMJW1S(KkZwN9G$<;5-UDC#IDhK)<#i-eFox3?;m3IAn}m2SMsW3?Q4|rAcQk(C zv*3WH2e=_R=N>?m3_3xK)Px@uW{j@FX{t(f>M$}E&14a3vXHsR3l8> zaI3Xc@k{9l7?|y^mh#n`CqT+K{%D-d`A=RtTnP(zFMW0kI75#60!c!i0l6uBp92eJ zS{qL1Y-unW{G1Mr##%&gy5oGewB-ewVzrI1Wo&TmFrnWZgH- z*^V3B*=*I>q(Z7XFEnzoby6ug4SAJf^>ia)s>UlGpeq>01qBwNdu(D4z746MfV6#h)qH(1m zD!u|eW$`O5azBwHD_>rQmyL&1^JN<^kUv^@eL8ToDkSMFu2fxhF>`t+HU$YK7Jk8r zD4=&;En77d4S`HYeIM_^{(#LB+mErbv<@8XL6t#h*4;?i2((8xa6K+3bON+)s zRO$09QfSZo^gvvdx6FFuncApn?Sdq4#9#s>j{|18id#n=dR(O$ZT?1me><_v0!GPj z;TvDB7mmI9mB(gzdC7>UW-U_H=?7Pt+89$rkmxD^6y+hatS;YOIOlwJX&%HtE4e470mXH+yzpXZf^JOZzq@m{8<4WeO*(c1LGp|Lah03|3MscU+8U ziAMj})7Fnx_8%d)B>Jt99@4lX(o~tz^JIad&QM3Txd>j9ntM~ExMyTT$uYRdXsi{y zn-p<5p1&FHMp)$~9GiCVk7^Mt_Jk1@8R<{Y$urjCGO>qpiH#1M2eWJtENk@1g~KP6 z&agqU-!~SZGyu1CI36T$=NN&Tc}x-Kj-?|;`3dhnLqN~Z2jhk&LUudeDJ>z`S>S-_ zMQB~Vw>Z!h`KkVG00V}WxGL4=3iq{I1tcg7Re9(POHg8%=tRcg#H4D1e(_9)Di@VP z?l5#Jho4|No}`m9>pRK4!}(yTuhzKH+4pZf4d1tsqR!W$Q6PlnMeT=SpDni8o=YN??2SB7G58fYphy{?)=Nbq?<;kdxSeXf&25y;uf z;uI(?07Yd85ND#rYi>^_|J5b@{x|I6kU*4Oc?Me{6S~6oL~7MrephG}LW$ zwUre$n7lizu6-Tg>FMFRhK-KL{k#VqBwsGY5LIVQzP`SEC(a=*olL}y7PJH2sBWy@HUN83HA%W{%~h-<5oaLCJ&>TTe$0pwxfqQ&Vt zw>5#f>gy_XpxDH?g97sKzc+0PV1;VbEnw%ZV$O{EamoEkyW>|k+JJjt+RLTy?5I-= z(F{$9`%4lA53>NCP{^TIcok_gi`SemUmA3}DrR!BnoLzNM`FG54K)4OFbmLPaX~(H z|5r&)=j)N>9^rqC{{1SCpRV}ISjsjGOEpU2+L{u?|Mc42ZDl)tq{zIp>jw5yl~Wy5 zHPn}cxs&V2B0^Yzai%)PtITiC(f_U{o#ISk@2^fNb2-Jp_kjch5;d-=QPS=%wU8sQ zJJ3?Y1@#WH=wW7k26KYx4L)Lgqm>kpB!4sO)AI6oXzkqG{ZJOh|Fj#(gyi2v&0cZQ zm**!>^j#05v{6Y(j2r3dIyEdi72cgJnp+lb4|&n?^sfdDcz1f$n?~+A(QDZyLY2*j z6&{rvnHga509ZpJt?%%n^vLSgSEXPaogat(7HE$_QD6)&lp}c~F~uAf0U!I0Cvf(G z+o7i-1Q&i7;$MfhYX57TBVoI3W8Zyl@qzq@!vq({p?;~Fgw}|UV0H(aa}gykFE8cv zBIB2}MwYc^((mFICZ=JmJ2YtnfjJ6@+swRxPytBZX~>+VL+rpdb3au6Pkrh?X2jA0 zNfOS}vc~!!BFq4>$T;*b*t3ib(x_||Jq>Hz;po7vEbP?Yz`Rz+kmBpd@2pKeBzedR zniF7_5Jw?Szr4fvT|X>~Q@1Ua=lzzGd|G++2;948X^nj*bL(|#sBOyAR3T{@85ucyaNq-;81=vHc%7(UtsH1A zRq*lE$iD;M4gla*(&6n#tx&36PHngE9^()f3Q8x?qfNmBw8*%iAFKF&ABL+gVYb>svXR!KS1@Hd zE|mEHQFPUDO|@cTv?tN!Tc6#EB4?;h>TM zm|W1!i@kx+E7+s(44r|o>_oBn?{%3MEtXb~@Hrv;jc1Y+Px%AXb!qBo;>!@$1SJWEuqmvxooxC=K z3mQuGqH!{H(!U9z(~NDsBv_(3kYNgx0rN{zcvkY>kilB+>iK{x{2i&&>-$kRb=eJV zxki8CxaXc`<3f{R$zrI}!sgybX#>|!Jukd3)qY7=PW%z)WFLD5qN;GXb31hRUufA$ z%}nE1o_DXu>Y9(6v~I|=;fkfk($MMsn63Ojt*h68Fk^62r^f-qn3@$Ma_;+A3=VTW z%)l0lCGw+Bs;42_9wsNjnZw5T#A}U%q}e4y%+v#k?Xj_udE}jb9Ib+;ejCW&qWwhk zzo;l;JF31#;GAH)LY8hPs|QD-oBSj0A%P($6i|~BKjwR3T&~W9Nk$5EVE>Ulu2-i8hl3nU3@(tf0}wJo?)K`&_@?R*r8Hf|8a$ww{5|kWg!MsgR580wJN-{R z{Ky(l8?enVsoPni-_i2-_uQrfl(i;3wxgc)-`Otqa^qU1Q)IHfJ{R|gNV2F4Jn|;H z`KyDd!dmnfN$b;~-S^JScL;E@-KyXFRr?E>OhiG#`e2JV7SXZ>On|q(v6cpcKJc2n zx-{yW<3lgKKX5hYL^b=cCOGi;X#k}mDZ#vg1ERaS9|>_0VUkLja`@#o9qg;oNEaX) zgda{O??ug~F#eu^a1+~xfFZ6eG^~lZkiuN_FIYyOxB;zCP`Ydg-YN6AsDkq>~g&CVG z3`2w}eg_SK5RWAD+rZu52Er46;s6Gk-5P+LdMl0Bved8qBd@+T!kK<6kbZFgx{=KV z`;yu_*Y*&b^E~pS1zZxR#&`93HaG|Pw3^FBtk ziNV7h6O0F5p3OcR76XYvKw+<8)Ifgf_7ar3Ak@6K?)?5~1_CkkLqRYTw-9|g>PlPB z0gu1of1kaGKe(tg4L^~8-k3p+N{CoU<7mtG{@Pm$hZ;n>4UavlO>hrmRp7uoyKN0V zz@#NXXEq^G>`(t#1f+i`#9Nuc01IOfDE?q#%x696ff-|Ajhu=DuVEU*zffG=j4`@* zsEoK?g-H4i4M{N}f)==1u!I`mzF#*auY+7?vg`I88~g0rcCnjB zDSSPUUwv#iGnH}XsQ9BOr~7+~KEPS7x0Oh9mG5(Lb7aBl|Vn>nDUoi@1@@g*F z$mh|$I8}+GPZ>O<`V4{u_smKM|_?t59OPt6@I$a11CG9pbjwk^1 zCx})pS^s}4#TdA<_MSN?I?oq1YpRT4ZfOO9Nmrr0?BPG`)Q(}z)Of@dQ}!g5xc5>e zruLT4xf|ageEvQxCg@9Ew2FB4IqJ))8=0&N(XY|~jEh1&x57t@hqJz2Q!84%zkmOBL{qRf)BKl1*05U4esMsfU=vu z9N?c524@4nu62JNi{>~^3IwawuZa#9uUJr>q^U3qat|_V2?m%VOEUq3_iHT`-wvC% zy#POq-1veGm1XCGFxUF&P?p%Jb@{B4*iYxw8n&LBUmuWyl}>2m-l(^L78Q0J4qNPv zS-UYuDgZapX2I_rsw%9HZ z@+gwOGsic%dEv(q&uEuC3<#=b`S2tc-n)xo>0-ac37)<}nbKA#<{<9hL5yqb-fplF z;^rTcjn-?(!&zS7`B0}QXQ=bCFL3B7XEJ3KAmhh1yV9 zUPQzxX04%VT8D^6J{_ES2l))sqpSS$bpNkph4RPYf9ZkPaUhFpn9y`;A3^=1rrUaO z3OG8Dk~e=*zl!;$&A6LIRNZY=yuTLCtF}n3e0N@b?RylMx0%lJc138=KYsVL_Gz!z z*n=oYdvvM^v>P+-{DYZ`!VVA0zoiSoAKhJ_&(nj|);q;FSHX>xHGtU>4y+h}QOHjs zNr6{db&&_ESq1q_lV!9kJnA6W0xjcUKjAj87!7Y4v>j+;h@ z*Q{-4^k%M5re*!*0L%biaQGG%XQaXxW#&lIeM~&EChm3Gc#Pdgq6y9uZ18J74vyyq zmpJU7Wr8frG860T>o34}>c1reS!V~Kxn0d4`01mkmF|tU zHFJO|n8=B|uydS8Vx_>lEXcy~7iFRe=>Akt*z6@x!N0fNvkLxu6TR<5j==Zs7|SGv z4S^;dTAUj=qb#wHUo0iF2qQzTgRo9a8JDK1kH+EunNwMg=@RLcnTQ3QuKGI?;InuI zc$O%(eCe+W(z6JD&#UQ~bRE60(Y>=emmyx4rrVDip$QG0way7%2t(UDsDb4AsRz}> zK$dRROUd9MkHC$m6Y<=XR<_ljoRmAk?4XJh*rsl73VtFkpVtb*iaC{LeUJE@FbU=a zq#JD=kS{Myhm}-;DR(sAW_w|fh%RXs-Rp&1aMl{dd}nrrBK)cCClzJQu~+))8hRmH zt0_B#?#n%^x#zx7!+v+mcYu`GPlM2=?aqI%T=qBu&AeyOavKi?0nV7sx-I-nM-2pum+{HeNkIP+A^)Ws(KSP!D&H?SgUGRd96{;eMG{Q;nE!$)v7pjZ09fzygNvXASluNAgOJWwNlUiD;0fs zm!q;Lk2Tojz!UBdxvz!-9!{v`g#0ORT9bYA)x#G^heByPu?iUW_>>BGi&f0>4CW?n zGc{5u>pg`PyiLV%H*ifz+z$#XWEZ;lAGd^zozr7q!lIJ#EugI706)}9?MQ0HIU$PL-Fl4u^>shxzuP-4QM%Aw@}{vuVZ1`k(4gk zS@j3e>1TqJ@()J{@bdH80;6cF*N^TIyV}+k`AvHAirnSPmtR~XP>)t)EBN;Inht&? z{sNtpvx*{w^z?)fJLr^tj;&v;;_*&Dz(bh|SQQd+@7!%G++VuBj?Tj?UVv5Y&B)JR zqu=RHn_dc4u|epW{{?|oYPd*y4?l-`X{ssY!}G7>lL!To@6TOr`Q3Nr`@G(4vj`hO zdC#58KZQ6?^*maMmW*rRmI53$uj2Gq?-IXk{{_N28*J;VldZL4pFV)Te1EkQ89Y3E zx%9%&NJTR(-Pf#=C9)s(=x5hA!q?|F*xrtW`&c7nx-pkTIFuiSqOlrcSDbLdW@f>n zPXiO4p40P%kze2VjWfM8@!23^m=~R1c_R#+H7;@49(Rqq*Oql>vAAlo@&fR(B=Kpx zf%>7p7!z-0e>&8e@D<5BAPOITf>muyc@1d=X|RBPqKa+Kpo3)d>g2B!Ye3vS*-G|` zKqs}v@xSjZR=}8WBP}|&6C(NIAtAPvaV8d$Mz}`h;fny7y$b}F-b@Y20bxg~!1&*R z$qWL_lMOS?`?!0=zg65;yaOg=?`SR2L`%Lsvop~DdIs6J8h}(5so3VniXJX`Nn#>` z1TVJM)Kk=-P1XxS%qTFX5HAoGyHj)uPG*K+Z+{vWPPxxw6(D7K(VKbX!L*>GRK z)c>lk&g{p}uH1lz)_S98Tafm4^(wi=vlma{pk(Ok6%J72btZ*@`-N*`C~@7 zH2QNt^l3NOJV&AXWk7v?y0?XB<-_*9P*$HvP=v3F^S#x<*~9{3#G1dTJ4c?bI+@GLn1AzY-L&$f$dbzV5*EUJmiMAW5pui@lTkR;2F-mJZLWi> zBK#LVQoS<}YxQ>MFQeNPRNCz94PES+JTVLaR$?Gf(7Y;#c^61$FMeLAS8RAQ`F*z| zEW3Y6ATj_9Vd>i3upaR&Kx(VCL$9;TDCEn~I}|A8A;fbx5#tx#P?fa~S6dx!%-Ojw zK;gD7dRk?AKj)x|ou}{NAA2ADajZNwb&5B|{IMjS(Nj-RNIuR(Oz$lJe=)|NYV1!! z=VO|~+rfqCLdE>I;1{mA|8FFFPOCG?L@UDymgq%;w&wF!nd}Gop?wC+ruygPJ#JNw znEn#us$_VyMU&zPD%20>0Gt$P*%fuIUyJM<+}>OY8(H?CFsXRoDf(OU@pkr1%7S;E zw#z*innz+@_=evXOOQc>In*Qdo?JBUgc&gp%I3UDw1%ZR(2lT~Z{P73>sNU!8)Xvk_Ap+ZnPK;D(1FI&k)nX|mP(y4>@ zq&=6Um(*%bjcf6LiT$|)+FTEjtPax>zIf}>TB1#rh5~{4KwBig4bmY(afg$4{&?4e zFHH*gG``vFL}B~WgDON2T*tiyU&Ek@SNV-7ugCX-veOt>!UN|;?F9Oqz${DQ{X-hZ z2KUJY)}G)&w&X44g*V`9w`|2Ql6#2ngANstfQ-9jZ z{>@o9bL4N=D%}bxTpef}jfr0p1RI&Df_by3VJ6ZE1nct+wP zcrA?WL&m6(r@FvmT*$=gtH%V?1a7+nSZ)aHURyJ{)Ma32mHAa^NUf%=cN>e|=Aac4C6vz1Lvk zW@&3tUw${SJR2(dDfanWbVm&+$+YFSudJjRDUCtHfSx-Q5-tOF8v8tvHWsQ0`faH-;mvDPuE_@a`B1*CkgJZw*+m&i9xf7t@+k$*KKAnBTs4O* zhJ3~j533HVLZFkpm5GVu0g-*@uBU?2p+1R-z}?goFsYLG5h4kGj^yV>uNp36FJjMY z8oO}@f57SM(vp1u*wIe>MGim=6=8zfIMwkgh`1xEc<12!@(TrSs^M$(H{s3LFCUwC zx{;$^Z!bLqA-{B!|08sRG+JEE2|a&e@|yq$1ck>OpLWW|ZIKe$)^{aowFpb;5Hk>En!UVlvuG(1i8 zPPCRbZz8J5UYhlrA5gM=_%Gb*(M0KraxyVV)I zoJ!&cSKMdvc?Lj^B1k5YnCxUjm)O9ErZ-Bi3tbTbAf$*8LHKuTg>_!LQ}rvQ4U4Dq zt-zx*T;-4DF!szIHO`%9wAi1|`d(;e$asd?AFhtg2HS`7#pi$76jl!e8IsFS>EE=2 z0b<{Q9Ny_*GZtVuaQ{gRj5`8xZ?d-5bGD7Y-TtsLWcOrL_P`k9g6W|PI7DXNRd zAry8C@-x&O;uMQ9dO>EK)imc@c0+({kl@|zQ<@|~_p4LXK_)0O*CR`FWigKzcm<}9 zr|@c!GvF`GVD|g66M%L0voIu49deDRZo_s7u=0RAA|=a|+o&TIedUA@VpoXnd-8>k zsQ(7fk-tASRDSAa#V{`YwXUeMLV0olpM1f1`FiZdjb7Fz(2DyX%zShqyN(e23Geic zD>(S4BlHT=}DMIXG=WY#vAwg1pIAQ4{)eh+pBByc8I(L99ZB z-;OxEV|-xjQsvDm40F4o0KWM#liXtd;{*IOSn0vQ4qX7WWW8mxx9SuZi6;CvFJP5@ zdk^w`zyh(I`dSgQ^0&NPMA?Zc``q*q(ZwNmmB51xc@6r4_E5ltwvs{To;DXdYPY)2Ui7{H?BRhOVdC-dmd~A# zkX|yKgO&t2o8f{D^M3`BPK@F+W}bu zE>h)C+Vna@%o36RXeNTm?E*5CF2iD=Ncc{DWJ8=m+sJ`)&dZk#Rwe64)$aiOOQL!= zndnxn4yw9*bnz)^bq#FixpFh=@I=H|?GN3Ht= z*B3o|st2b|9IDaJyVJB4@i~a_ z5;pk@*9Fs*^mX*tF<^fL5;>&ex)m@@5WmbEvg-K}^l}(rMQerr4Z3?Hpj79oVmkFw zrQhxjwKg+1R_`Lq;>rLr>VvVci{sH-w){$lrn6;!$&X!55l#OEG!!@3Mw38Pli~I3 z)ud+Ql9S7{$<6k{YDLeBR}-D?F>D?{)7$9(AZOPbg6#|$pQb&`mBsyb3B2$jGWi<8 zoz|P0S1VmnMZ_uo2PzPV7Kurnw650}|h``4Pj$(A>i4 z|ABV+W}b3jjVmLj5{OGVk;tSq|`T%hcTjS4S)CdLV|`QQyF zp>Gs<;axp*mHtYs;IYJ4S#tBZZuYFkJDH^I$Y!@5apdFV$8*dkEPm%L+|vs{yqgk< z=9!NIcpt|+PI{?kY2=zvXlXrJllZ91K`k-C6qj!PMn>pA#(}97T)woetr~i|{JbYi zzhkJ8tvw14$nTwI~d zCD~E$c4@v1&Hb}K9icSg=MsSRg})jgtx)l2#Cr<*=&sRlnH3-JV}fcE zZ(we9$Gmb4@k2bCo_$WB`kn5izF_#%lAk=(xdB-Ne^Ytm`Lo1keI2@3Aw^Sp+}*QV zE1r=MBZTB;YQa4s-IW>_#LfMCCl6sI_diHqJFn65bRD|kU@DP+OiIsR0KU8Q&vwoho^@fjp4GU~l!hWg z5N~KcC2elUc?HsKHXG|DEJCgtsM?;LgG5G^kqxFku)TqP`Le#w`xK?R0CD|WA@-cf zswH-3rp$u9PUSktm+3&;716goA-)&5#@(rPI@DyfO*hE^7!UzD0Y)@)Il!33{QNt{ z-1SXVPTQ!r`?DKg_GrAh#9Ix0`s|b^EVt%>+ayvK_{XYguPPFmU}DB9vTRppQVz0mELs8#G>P zm~|pifOxHavCdHkxNTHv>z1lZZfdGcScVD*z=+UXBjk3++o&lKO8KfNe1 zkjT3imoI&EV}W7yNZpCkAW~k9T7In|H=kVT5R;%lFQ@}DNB9Q0cNn98MTVTgM7=lz zYp_w6Y#^~OmmG+K)colAX~T{reNvX&`zFL88;mj%hJfQulv%a}dD+A&Cwn;|$+qg+jH<=?U5q+pS?u9Yh1J95r zfte99sjX^b-{U#3v&=EI^C?;-`d<5I$zt}H35|t>zJSr`#2iVFm#bbj&V>Wec8(#ysjpAcPeLwY% zFYk5GF1dRgO~)0N5K6~x)JFfk<25AN-ZIwOv0VMoGD`|mMJ#2<0|i@?V~`*stHI`5 zwQPS--!kpjXFWdtgYycc7zP5<;<7WW$%qFRvQ7;n8Eu_ls&`t?{upAKELv2t>Hib5 zI0WhfZ*g-R?nck28g&&R9#2Rwn}t3h_2dn-O^`4mJRLxt7j@$A$!ol1YkU2`7mCCM zo3R^+?WWt$D}TT6P3U;4APL^J<>&MPOrLQPay9Pg|G zi@~B;S-*VVz;M6*)3-$rX&+*&Ca>RZLw#jFL_pzCg+U&L=R;>*+{$(C+cgxY_Fjj# zg5gG-X-oMJ2PAy}zua2xq_)Z?=aBdo{n%zGu29Sp<5!O>g|OD#fSRO3txhw@d_U$< zwt?_3L#>a^gUcXkjd|y(J?t1}ea@X=IN9t^DhZ0uD;IF&CE1eodkpF#WJNGC263KL2?gGipz2QMmpe>j~=aPq7$`%->nC0g}*gHA#Bs663jDZZ$N|Gd55j z6A0mww6(cU4z3voS2-iqYP#i(PoY0{wty4*Ftb#@jpJudJ9pujH8Db~M{;SYu!#=1 zZ%srvF@>ArBnwaD#-$zO7sUK&H{T~?U)7?)bb2SK;}4lO=fsdtOzwv9hovPnA6tVK zg?Z89%DiVWo6433b-`ryxzwu$Zg|Xx)ZNR9?@1x)L7c@IvSY-?&)+9X8ZE=qE#-S6 zSxMXSQ2qL-L@3Lfc(7|GJO~O$-@ydst7!_z5(3myVm%>U)MI93h!E}^zJ_Cf`?4oq z3nz01{eCH~#r~V?a^J|pgMpmbv|F-&%~&iy5&!PDE&SpgFvO{m7v>F43wq>qK^w!{ z8O%TE_c+kKn^g|uFR!jz<6R1Y!iCVnGCt~Q{|4ukb-?)QvO~?5 z^QJA~!BPhcWJX)wmgyQZ#?V6hARlr-n%})Iq;M>Q?J8)u<>+%c|paK~OfhCZOFqjzObMD6F zJ=ni~!BH9wOLJLX+PJp7o$zfkzy6%E0S6+#Sq1cO({e<+y)^(_lAVZRzpqq^m|tUL z3M|La$`lZDPP7(Co%$I*?X6^#IfELU6NSyGWP<+E&$&=!ZFcK5tJQf8F^%Cf)i!p~YpEF=);yKEE&2o}E?pyq9!OV8}6FO8lTm`7&`rp)}=> zc2Y}5a)?FgWi^F~D?`+xD~WL}zj+=+>6~TcI<)XBkUMj}aPZ?iFb1vcMmK^d>B+n~ zgxMBQ#-%X)RmI~p$jgj)KS9D#>jz$J$w*J9M;vEo?z7!b!v5d^E7!n+ou0UN>L>fd zA5yf~9~BUjnt!I0Nq?!dHeP>rmNDS)a4U!|WvdH|QL!JQ^N@A$$|Ed!r;yC3(V~b! zZ+#5r63N{rUyXQ$<4grqfDGS;?ru0)(+)%V2|>gk$VW)6w_vclME<}X57s2Ky%dPi z{~rsc_RNax8VUGFv*tE}r@MAvGjFVNgMvRXkr*iO!nK`5k?x2SDwitt{^r+%BA++S z+11?mvE^^sqAAUK3cz zfZ|{LPNmTh*0|-p7iI?GVd*=NLFI}MOOHm5SE`_r6Jtg}Oe@JjHeRx1>pwhJhPDW> z*|e*_L?!p0Y5X@bWHx8KgW^{x)-IZ+h?z?r6*GOn$+^wWgnPJ>glT+CILF@nyz;;p zDU38tTLAc5wV+);E(1vLA8WGcdK8nIVh<*9v-R?O;Cj~AK|bf5!lh{C7~J8{PdvwW zRA?>WOUJ>s00>+LvqNoc7cwk)hVyl$K7rK2F*^R3&rg2gYueP*`=p<|Sk6nkGzHPn zh+5WuquKNUsJW+HSfL1uKL{oEqF$w-pj8knO=6-PfC`0#UFzY}XVl#|EgXXW@QyTc zC93N`9R9}7 zqiRN_gxOfH`~wp&)uECkF=gC{aosW%hR&D;3EX_n3*w)5YmSI3w2@Zj7ysIOWBpse z#{=Vo8=GdDdW^REjS02on}bi32MP^C(4eG4w3JnpWm%IN{dz3AEN zpfBL9v6ty^Th3d=>=RLq3`#HZwg$o0UR4j-1 zDa=YazucT#!hYVZk245w6VZlsLVU!qK@WQ^qNoJpyB87Yc5v4Ah23Fu?yNv$ zi|5&YfP)1!x>fFxO4Xew{-BGnV%YBPS^AN_?#|`CHkT|^&_7XNoZXaToKOh06VkV( zrxj>3p|2l@!Vg$nedMc{PX9zsafn0Sfb9KPn=RGC^WEN|lESL~FdFwAvyMfl7KOl+ z;zxLtt8buj%;*>gn4ne~weP_M*k$ly ze*s|+gc*d8@r$bW#zlc?>M%DHtWLA;g)DldS-;{Z@kSJUSJ-(aPF0~>JAfnYpYK#b z=IV_54dzTgX5@}?R8FFP!6jS|c$sitxrCrkOfH8EKor?14eCTJ;o{)6TUR9xo7XK^ z4UTILgnSTM3_@NsVfEUchGuA}kC~58sOEloDHk*}c~JF(k|dX{2H2>MdFaVc(y@}T zM*lm_u=f{%e@ykS&T!~lJu<)Sx@;0mocou$2+N(@7}H_=cv+Sf$5H68RKh>7#?O*W zkkvl1K@#F3UitQ_r0qv-@FcV(c~;uU4RIr;1a9Q@ON<4M&K-!J|E{w^89ka= zELFBjs3d#lJ#}ZvF~MC2`F+VC>a7CD`uf~?ks<0s5kJlnXY59|m>QKM6psw9Lv1pM z`C^O!3hnyloRki-xN#B?p*8J^umCs2Q&uq94e~thiEk{poq7JEt5$Ff$913 z!rUWi&sO}fL5h!JXX!<9331oT_C3KFbBszQaX0xU@vU_Xm5bNb+9dgk;Z^0ploZ() ze2@ZBrg=%s0Rq7wk?46IqA0lOFGfwF6Gbcph6S;H!Sh^P2 z8!Q179~(a$m99RW^KYQq#!QFNJdqK3uy^n2<4{R}Md+LZ87JktFnpsBF`3fBIg^@) z_S|^a{??r_yo(|!IKfX_&;l<6wjR}zahDYU;!Uv5JF*HrdsQ7VzQ0*lIaK5%NbLJk z-4Uuq&cQW%>QTOVf!(jTUptki?>R9xOBNHR$kuWk%w1!w;QPw1*^~&D=;R@WnK{z5 zW#zDFOg1X8%{sQ~0#{jrU@Ny7pgA~m*^F<#UupFuzqac7Q?~=r3mOBKk;f&PGA?{#NPagXlA zR~3Z&+k$OTGv&WuUap)3FlQ-DcOg~##=FtHF)04JsI^&vJ%TX61z9~eO03?d=#*rO zoktNtnq@l`b1dik7#@{!+;(V&cZ9kB);bPK=9z&?pCMSj1k{Fd6*=flcA{xATIJQm z`RJ>OF$U{1ULDL<&1&Ft?=YN%Mhz~kPX%6Xv|L)VT^9J4&=@q9OT7UhN>8)rmi(3* z#307|X{k#5WHN}>nA>Oc7iIdrb;=NtBwy=u?Pb`%xD~b)c@_?q&zBD_zENuOxXBtW zvcbNbxN>!{tN5!M6QPFKoC9lb3A$A~N3(^0K}%p|S>AArw^5%Ep27S;V^Y8s>6)9+ z-Y1irgn`GeK>`eFBRe^YHwy8oIe%Y@=!S+6?rXdUg+319s!8Sb?XoaByE&@-AHZPC z{*<`sa&!@68^ZehP(9HgW0>Cf>FU+XHzMgnmOh|P6;8A&Xtu6FbFEgMAc)$C;v$Z- zGT04`n!JL%mF(4d65sD_cIvOSn6@0HhV=HE9~uaO+UOi0ZKgL86rU=k zC5Gi2RWK)`vgmO&xeiPeCsm)EQLRjl|7c=Jy!?DC;r$O-9rf zaLQ`1;ngv-%PdW&Z8x@FPJTjR`@r6)f!iGm3G0U5E&w_L``<6epMw=nAF`H@#qQyX z01LrbOznHxjm?ttm{D-#n|Q}3WfHKHDyG}K!|JP< z4DWon{-WR_%f0*L<$Dy-84lK^u!srOLX-p`^W9COHfxXm(T03{F)z+gY*1!dxhcPs zqj*mKh2VZ<6rmM>&nZtkuzfxsbJ{m30ainb2s9zLfrLE9=Ho5NU{EYtYp2xZI~qW%A&jR&Bx#_1Ea!;v4pRW=n-}=%)!*U%NYu zo|v#4Jg25cgkAxH)P7&bcVrd!JmyOC+$<`()qLOVaon%jk8T&L-pE8^X<)DthUx_! z9g!iI!lzVLL~{lQfI2~^jTw`_?>GhEwGkDj)4a9ls8Car;j$_!iz@GWg=zvFDMMM0wLw(inhn6XAOp+BtFb ztKU_7>W=VL6&}|1=SRK~s?2?d^?aBTSnpsIj_f*lG*=i#%dTRM0^zQ}4qtz3ypNnp zu`>v9VjE0;LJ?e;_fkFz)aO%OLA(^F8Wz%F96=T%#Ois9PI0H(R*Ww)Dws8YkGP_U z-FOU}7;ojkR-C9%{htv?|K6=>2qf$@+iwiEog)+Melg)Nwto>Fwm+_bOS1}kW*bZf zbGFmaoE#flzt3Mgrw(R$11_ln>-@o#IxGK;A12(DZ(@#e0d{V^yG&e9CitX;k~Hv* znpB5%pX{bmCDAX0CV_GS5NS))Kb^0SK6w5Ahu4T<%jbX(2!M>=HWN7?`A4}^S3=w} zBd@3q-XBpHp=ngcj~xnC1=R1nep*Fj1a2>WPdQbf8SceAqs&2!!3B!EU*W}yLfe47 zA7@LK-2!PxY|kvTpuk0#p?t^?5Z)*}uFG|t(hyDDe`LV1E63Q829-=nyoAHYTNPV` zkaU`?527$M){d#YSBYVFT+f0zVu?M2gH?1kyx?Iv`+}GIZ4iBu2*y}8BZ=?NwGSYP zMJTi&J;Lut`@OrY>n@S<7vHnuPGkJ0Lu*>c&u=ILf^7S*?k#hB5B_q4 z&-c+YYM4IvyZ`;J<{N!pKIXccZl|R9ffs_mNUZEMSb1iY+D7#`FmRx==}{8CSz=to zdr5{&<9Y}lZ39;eH}@6y0gQ++-re{fIPY|zkj-}zl^ZcE7kB}GEmmr8&zu-H{5lADXTsDv~o$}uEM*ZXhoFI!E5E;0La=GeY*0- z&iSOzg{sAEesi~F6)O@&IL#b-mc!v>?VaPbW1e^S zP%*l%mO6H(J}i@p#Xqw%!d4*HlfMgIbU24#T_}y2*tB`An%PW%(0&1uU`Lm90~=m6 zvlFiA((C1VLfl+y=~y4}+pHSP)Tn7DRG8TTH^BOdK?3y*pASth8x9qKH`8EIuAdG_ z8+_EFFiu`u&Sz}-lcZQt{s?~a+rr-KF|z0#KmwfdloTO)B);)+a5Q5@b4^3fX82Wr zHCs#aXC5?f#0Ru9FPoRT9T5Ug+wHGYQKBiidK@F5aW^KhQ8k=MW(Y7Ihyl`Q||t@wi)hv)viBH<%w zPlTW>6?BAHS1E664vPlRfkw`Xl(PQP{%<*(8GW7NfNVur=51vLg5&Qo5!$usLmSZ` z$-7bbH2d=AA!H3I=&fA+>gsx+tjgnqk-tJRW$DB~I;1gJc|ctmeT7C6lk_ zpvsSArx&e>jH6FCa(hQHj?(mn9^6x0`E za&$Res0Nj0;EGBU+mg0r{;tjUsdHo&KQY$%s&P`&3k1Sv`Oue7L$_Xc62%lz#(#2M zhu{OLL{g)9UH^X66qxNbLBccrAr)bhila)`+vPa&pkTU z3{$$K0DFXTfnyXXuiYHCsOdJXPVQ$BNbpRUS@cugY~F^O_G635n`bFJ+AvuWO8zI$ zKRF7jU77Nng#5zle9@*M`8ZZ4+TmWmKF+`kC}=#{QWgYKVcpFind zN3k1bz>iqUX0an1+ud8S;#O0^H!k*Y#$2RrhWggHp1H%{`7BO#`~62t5K!E6;Sj?7 zu9A=cM{`yzywxxVXNtq1soO`c)JX*ORii_EC5@eC^UR>>Z#*l05Hc+GaM3-K4g6kk zDm;_!9HO-PXTb3~AV7Tkr-$&EHD5T&bHk4&BJfPbpUKD@739;SH~Ml?sp+~ng1?M( zptAA0?AA+f-w;R~$ov`^ILccgOQb0u^CVmeJJ591dS3_O&E@~B(QTi>dEhDR*fBT4 z5plc2D31Dpf&{l1aJIUJAFOQHEQc{L2%RO%fC8jyB#P$H28=7R7D@%}`eq_@IA&8T zY@&=AzR0g;BD}m8EP~`uwbJK!0p~ZSs>C3o?hRSG?Hwwjq=>*o{pybi(M1YZynpc7 zT#A1<=mUweMfym5vu6H_6wgtn^tQL1r?kCwBFLXljW5X5z^%U3kT2j>=7~4yjiqFC zAtCMeDcec%`t*NdX#RJ!AsB;z=W(3aOivKIdj7Qsmp@_oL+2GPHM@~Vi6P{eJfXYu zFmecEG*3)^j@tl_;-ZPN;M5Jz2|VFs2lYkIX6JqR`WhZ7uyREbMoDBGPC0oIlW2i3^4cYalE;N2mgFHifINu`|Vsw<%4j&pcyK%6u%(wW=4 z_UPNnP2RMXP-SbVu8-bZw}exSASt194}wJ?(wA2zSC-Z0-wenC&k#(YK3dmroTFGeO~%SfbvO6rxj`J}@txA5VBS zSGUPY%mHhsN+6MM*ujTrOQtu#{qyLqtnkcovGQ`M$Dao-*j+%#Ow~3 zz0-=?BOg#(7zhNgq($EZ)k1#wHL+Gf(th8QVmb5e^uCdC*_DeYBHV)&Y{ZLT5Y6^s z<*Z#4+CY)>u|D;{f(bWvVA%2pabU)$jT4}YZVwX%%q-l2V-uT1Q|z~w2=YOdK_K(y z6tS7Fx@nnUA(DTTi)HFZw5%{cVsL>}ao%4OiTy4HQ}0@Ax|^$W#Ry%iz(q*4f{Bwv=IY z9s{W8779+~I$zrG+V&xWj(`tAfFD%{TMd9?9bG8^mEiwl)3EB_0)(gm@<`$8++PUt)=y@kp&1xS~S-TD)jQSKq*N zHE{y9f#E5@AmjRS8-oRwg-E5%#gd*Q0)yUs|omamvF zU=}-x*gzZ&-bKP~f76{2_kBKM8Fxz?;e3$;yXM*si5vYI05M`X;rGw%_y;mLV)@fVsIU_|Fb~zeA`aG*Y}p%|{^m=#>P!q3Q`J?*ATlZuGwS$hQ=y7^%7$L#lwhnyX5Lz8o_2hPB9Jh{LNjI0`K z%YmcNSIDO1h08k4>Q_Yr&@dO}t#8 zL{!f=(69F!L>0)Rj|NRGWVPc?;N_I@uJLyoGqg(of+a&_;?uHwsiMoV3_%9|{Bpu; zj3&*~9Ul?yG6(s8gJe0R^Po#09g_w_k29+e9#3wdv~h*Aj>Au*&SZWOq4awL-#}G$ zB@A8Gj|XJ=qeu7;LX#{}7m-c>qv*UJss6t>ewTZ%eeIoVWsl6vdyNo^C^NaDlw>6` z@4ZN7WMq%}m{C-+$F;JvlTDPBy}9FizyHDOhxa+}GoI)1Oy|c;-J`6EKi_TIAgUn~ z-&H#Pkty)US!bLel-v&6;%H9WRHqs3LR=c%jUvt%kn#B|f?pFoM?a~NfxCNZo0RR+ zuQ(VT_?PB7yiTlTiAyW06p{3npZL!v`m0Vu))#f@5K3y7hC7E zv)0lEDC9njKmKN$yc^(IApm>*Ok4)Z=_1=#K+$0ZOLW-N zry2K|F$-(!M$aMq{E$5#F8^1nwNJJ`KY7y84iKj8aX*9Zu0>x0IaBvggOh_<=aO2X zJSn%aqK{#ZtZSM%Ca8<%fyqy*VPCI?w4gSW$DF3RE4UTNoYgiJ$&$`4+x+!8`B&U3YZ$9YgwXCNpYxO7f1@=$R7M^@~CpsYP6NU9Jp zLc@5&Aodde*Ngvj-nO+$&E+Cbi3$vh53-9gq7I}#H{f}ch@E7>{xiJy z>qEE(VNO0I^m4A?F6r`oA`5lYm4{jbLPBM}_RYU=*MD`I{&=#m1Iniw$r#EaIew^BgR%qxcLf?3N|rEAD{~n_0J$8tqJIF1@fD(O zH)bhMi--{v7d&?F4z7h}`~b-{k-wpA@4SB}JdNh?RrtkEu;HfQ6~zxT5kji74T?u8 z`wEyVQ@Y8fC$Aq9d)pOI09}UfBSuWzDaW@{=;z@jV#oB5FrHWuy0C@BO4t+>3f>lkJulw`5^$KMX zU?%}w<&6MS#tryQ%_A}(!9bD>QrZ=GG57C*j|_^8Ab)>`dyo~~pL8YN#_F807l>&v z01S-N_a#P71ZMflY_IA|{>4%M%&;(TTopDY<(1ZH8z3C-w(&ihxIi$yMniqv`Sl4J zZaxTpCEEMB=2h%NDGBVZY42Nf6$2u;z=#{Sq>Z}^;^cblTAvq$*7xFy;-}<&gqrY4iA%w?A3iPKCdV7nuI5hAcqf39{S(@ZC(Pn1;mFyV=>$grRwz`PJBz#`Axsw&=3N4Y5CzJQ)p4klZ*LKv+|hVUH@G*s^X0oe|e5s zOVvg)$yu-t*WzSoL8Y^;ka&;Q4Z}U(3TAKh6f8U(k52V@P7|5W0xzydqY+rD;W5B< zW&QUn6Y`B@%FMGpqXi7*UucN+MXUHd3F_lMrH}g@!Qy_Sq9{8`WWCnUAw$9u;l0m7Sc9v9T{(; zQ0j~P(DtTv*f->X^(^o$7XsjB6W$CSX+s6;`iL0U)`}yzfJy6rFLXlayIMQ|*MOp3 z`QT+wrKXh*wbW2VIH1%Zt8p?W61vimg9C6R$oZ{=RV&YekPYzboA zDKAI%xz&NFCfW}4msv!%^?2{q1ALwOr!Yru9W9*JUN*9rS~t8Ej9yo3@jCb|{|=Tf z?T}qKBV0goso^j4bxch$@4=LSn z*DK`TOcv??AEk2cHXH1G$#Y-cQRb)C*v|AlqF1>C38@nStt6d)fV~z~Y|Z$MsOfih z(RV+C@4#C36t0HGwV>@-i&eRkm=k^!6yV-Vk=rR{6D596=H|W0s<2D)8U+{VAPzHs z!D<|){K{Ke!sm5ai`%EDj|XH$qHBaARn(dh{%jWpgG0aQG?jgLay@NH+#VxCm3oK* z@%8_2gncy+uLixlMH?jpRRM@_RxQxNZ?CR8eUegm+F?0j@IWKOPQCF<){pkRqTTcb z$n=6;J(>(^xY?&Df9XB(o$C^eeC2>264uX^hWh)27Yk105*Q{GxHYLGN{&F<~OT>d+Z_$dr0`oJECCUYe zo-%KRb*ugY+7llfw@0Snh#L+dLuOQLB_+-VUn#rpc|3SRhSze)bO86QBdp6& z?Z*>8d&y&Yi9uu342&`PU0qg^HoG1SeGk)@?34Q=WbIx)o6<1 ze$gF_iC2RBv&P9%*1ix;AMC-P_RKHtcNsHyji_HA(6J?CfaA@9ucnpYgtr(CdQpU#s%CY#t@7jRqrc*tZ`7}gMn^m8))3pjbFWIUY|1jn zaC4KHcMmMFc@+K4ua~fm7V_#rzcb$hM!ACQK8Dk3q6Z1}S+ua$C*DbNltRi^xJLqy zBTzkvoj5kux|rXO)>7b%2VSL?bWG}mM@)z(m@hH~21s$B^!7f@bAucs^rE?N)dF=# zV}2~(NGv~ZwMoyVOl0zra~%EL4-!Mi9}nB@2FFm0w)nUkaw2HvV_L;pE%JTl>&N zwciUfZa-PQ%$_Zty$8*51+4_mLD=p^ql8S`E&&)-TI!0JJ%HmzZF^k+WvPxWe?U8k zj@*2m3w0Md@3BFnuxbgGpcnc_IXze024E8*1hPBf#`42WHJvwXLUwVV??OQ0BpbRI zjQaE$|1)aX1c&?-CXEdq;ttA7!!eLfprGenAnzqMIE2O-*qTWDSAIe$VBh8iDs1-N z2YgsEZiqu=F)S$qqVs2elj!Ue2KV6Ilr2zl2Mir_YoPB`=W55$Rn3Mc?s7p2<5rNn zQFjyE-6x*Oq(RIs03*Y|2dYP^gzLR(AebL`4e=4Xwym;B7k=|NtO;|gJ)(-a zx|MOFqH#A1&fJ#kq%=R8US)YY;=o6c{6>$mgHmqq_Cp{fco<@aAo3P3E*GcxzD$8a zoe`lK!i^z+vw?Pplb~395>F+IZ{8?1VN5x&q*_WG&RM`e2%g2YK4|*Q2~QDiWkbE2=S~r5DbWz3itrr%tlvSvG$qoii9}e!A0CLwt&h6yq0=bbu^682?YaU ziMKcry55B#{wFVWxrzO;wJF0g*Rp{u;IRi&My#D{CE90IPtML(<no%{b1y^k14ljaJ?tM=bY+)+$QH^aKuH`3P%1=0YfjYf^ z3%*@{FT{cg)P176tTHL_M;J4)L@l|La9^vT9K@87$^nY59N0@W-rLCmgx!ksbmP4G z5uDN>3gA)_l90vpQ_P#LJP%p`+XHc|cn#*B+iT@v+*KRfhS)uoi{iNReAB#}d#Hof zb-~^HMeNCCvLDaI@sLDk(_G{u?wEKLV<+*&r7uL0J=3KfS!dUSp z{$k8^=i1e`Ozn6FLVjoikNRby)`rUvT{J67mI&HT{Lcx%#e`^Jo88M|Uv)lCzsGA# zYn!<_O%q|VYhdc-OUqWZaT8cVoVj_M#^4YYu<}y}trNT#LHlCG{4s%-E#H**4#7Y# zVWao;H!UHW#z0Iowc`Bm&sKud3-u3o2%ymk!S4HpyIfsLl-oAo7rvKYWVLY|V?_-J zK<3j`_gTOwpII`4L10~Q$>F6~0lD)eq7`ARP2TY~@z+gIHe>cPS*x7rd844UBH*wH zgit{13VNN^V54^^i6mBwVUDne%wy-UNh}K~=x<`LQP9|YMYf6xFysfzG-eSH6KV@L z?)$wUJRc?y=|u+M@-piOn3A@c+rdIhQEQKW%X)%>hfu`xQc_$#xG4q_@voBjeW}Of z6;6(rbl73^=K5EKPt9}4^F=b`6lbS$rn&&nyJf4b^X=1L-Po7I+N|dVE`Uf;SO-M; zEpCG8^fXfg{ZIEB2j>?@t$W&s?%71W?ZV2Mb5S zZgUe5)G*iTTKCwmuA#gn%;~R?z0aUYPg)1jdmYNPC9efh_nxxr?qdJt&X`NzVgKH| zuv6PvdQG39RKjCVSM2V%j&VYt{uTF?L9PU(wcgAp5Q{m4~o&MQ|Kq|$b**zOn!@dyza{O z(#cw1Nj&y5e8T(bhn&z~pTdyDwA1Cp;^OJ=|Dhj&GS*QQ)%ZU)! zqwW%0}{cUrwiL$UI?H`#yz<5jH0Ru-sk4xqYP>TNrO z6DUUI1Sd-qoO5@nF6bxbznKGD>yBf8v#iCVf<`z15b~O`YP$gla0|d=7L8vgINdRI zR@nv!-GY7AM&_$}+@!%5(`z?S8r=}Ey1A-TSo6f@HzIEmyfu*2;iYq~t{QaP-fRt2 z$OcsK^yw6FNxhL1v^c+D7)Ijwkyx?dRh2vn)aftz?)0fJwPO*w713*VdC}mW7U#1% z_P?kUKU^ReV9Odk1J-L}vXV2@maRs&ULHlI6_srLQ%%an8Gk$?>QmJ2#BFK5^bvBW&6Zk1T)hx45 zhw!O&d&iEr(V^*tB^`NT6hZMBMpo8m6o75#@8#KI>8qo|mg} zQ7?Pe4u=G4@5_YobOOWdWs5_CHnqteDnW5!L6jrog^=&p5lC5_AU}z z$>$&Av56NAhWXlT;(YJtE`VoA%rTm}kaoXIFl^n4HC~eV^r7XwvdRZ^7TO0Rn-xQ? zUrI+`Tz!qYm3@s{CQ{?dsn{7bZ2$57QAr4aiZ9Sx4QQ{LTDtns-H^@OUs`1P-K%B= z%9|B7UDXtUMX6T)_Iqx)(klJbh>Sq5-MF3SK!}vA|K4g|u>NY?cwNg)wE?=_4Yrzp z4>LON5zLwX%mwd+?zX`eu#_u4iG-7%&v=R}oun36MSMJ&C7!gQskhZJ){zf*PK;5o z0I)iN^Hu9BmZWj72&R_$gQHbi+yc!{n};S-k=oQX!%!LoGPL+thCMbvI`{xULJ&b% zpGu9nt?8f)IQQdE@1q*uQ3QnndD##&U$DQ9_j7$abI5#<$gOYTihBiMOgvfm?A4-8 z11f6aYK(j^{)+|%`37E{4GeC^#ZygTd$o(_C%v@KT%)SLghNg+QsZRTbGxl!U-@t| zh)I+&`~0$sXLpI&b(Dr^K?{Vu)JoEzJ+I#!870LijR5Aq-UA9XS*F55=<|t(?`{Gc z=I%JV8Ggd!vr_`DdQ(|w()(#O%(clSwt?TQj8B_i{%J1TlW-k*W=gNbi(fY}ECy1) zh7w6EOJ^%1ecz3NJtNm6vnMt#^Vc7g?^A+o9lrc_l0Gade@Z@e(XNsrFfl(m(FbFr z@nV$u3&5;Z-%Hij-IU!xpG}&ty#M%OBLLj9XMZj}u$}hK=fY}$D}TA1$)T2It2)~! z*5qA{O;~({@yAqOuf`bw2|COa%A&mNXWq~oD(^>5i_1It3n+LmyfEK(_0(v`D;BQ; zbU0hGj-LWwdC!_L{A9`bBJ{+>*2>HFJ8RB(;l>|C( zc|c2RFt;M&^os}7K;U#vhj{guUW=XyuPPO=Jbqk5=2XNa=ps;fe^QBVw@a)ozovVMPS0CejE8D6u}vx(@Y4iQ=LL` zA5WU{x7mO3iPr$4j{!I34&iko*ii+>7t?xz1%kME)bjW7yRV&|u{q#a3h9dMrDv=@ zefwq=MN(qL2@^RIpxc7 zI?G=2$P7@T?IEg2;)gbyyCNNx`#1D{-?Xe%>iP4sNV!r{bJ^$5K7gc28=a;qg^s>I zR(dwfV>n8T+&?uv)H)-6Yd76o=kL84zb1Ocu0HE;*QP&grH0p;(``U0#kSiqPDw-K zzjUYI5pOetz6-I_hyU>nd5xVqZ$4US1?!~UrvEH0lo7jZU&T+)!msIzllqvU=_6hm zbUQ_|&Rxi2UT)q$6NU{V^{6B=-6lKENDkcJ{Qveo{U zSQG4a#zJFoyeL1CQR6xAs-{)fj!OoVSSc#7_>2><#e#vfc#xDSzAV5u^K5xyxSA$V(2oUrJ^P|CtBtNpbL+ki;lQP9jG*!O_ zsTNFiWlk5k{uUfrG~WH$FR{t=!;6f7lhB|UF|NYb9|h~Efac*BzLS~a0*qH~GliiQ z5u6s5^a?5Loe6v4EAOSvh}N+@QMu1{{|h4=ijZjm$u$3j75Gf)?ke!pk;8Y-mAA%wl#~942aJC6U zb_C6N(Q|EDt^C4pCH1R>POSnnNUX7SgZ%6Zh-#q5~o*X zDdKi0sfsN(C@sftMV3bgT4clTWvIitz45N+^6w_6DlUF_q$$M+p&#b&s%bz$S%937 zEI_GjL3C_X_Ghw)V}28hMhz5t?DhH+byKkRxLoV1p<;poh6CulyK;Zg(U7_N zKDhL(ga$DUaXoT)hYCzIxzru^Eb$$Yv%8HGxJ84<6l?)}lqA5-uXl_$Z_2u5t^xL( zFRVo=uh#)i2~d2iGTDnlzSv<7d)i@ii=S8%kJUxLsgIC(2J4b_$qB~}OzgiH&+aGP zNK9a**m42{AA*t}1{gdUq6XY~I2Z!hN;vf#9LZDy8XJV@XP^^r58EntF9_FbP((=> z%Gw%x{LulM_V2mGbZe|4_j8OQ&NlAo$Ib$?G3sSMDk;`KL#7qLoUxmV(0O2llqQqNfd$S6XK07%sf(RSGFc)yR-HoQR;kvH&c0XE|OYeA24Wg61VCw=hJ~ zX?nq{nlH_=1raq+t6Slv1Ow@@;w{^Ov8zvWiZSH-Ohb*Qi({O-0Uk8@)XE}v0djgb z)a*3Q59(YcbmvnteYFfS63Gc$(2Nn^*;{v7x7RWI2Vlf{J|cF(d(@vYQqfA5rsEb- z`fVk0DC!Ph3_5j^xh-#0DI>Ukm!0>tsQrHEr5TDVG24~Q9a1Of#Wb? z=U`##aIP^wC-BJw%rfT(v&#}ICnwnnhM`_wm1A~0esAAu&>tKqx2d5P>?&(c4)7rP zW;u(=h#~-50H&!40`jRR`n(T*@2u&w>WA|re%t|LyC)NO7O2{VOqK8jX%?X1>_DN1 zq%W1z<#`%tpYN?3jEHHc|0o`tkZ0Pvu4CRdp6Bg+Lywf10!9Nha_UE zsNG&zznf~lR=gGOgtM(gnn{9xT4^miDYoQ1>)|#1fj68Q!CMb`4lH!agoP0Qo~7w& z#h_c%wU}S9a%;tcMTsh2oTr+_Epa#6LT^x^iI=H^@GD%lrW7Ew?`|IWB~oyEuRVQj z21Wj`{fH>Js(E=}QgfN$qy;f#7yuaXR!LGESMNRRQrFLYyL%S{7)H^CuQR8H2@SUT z84zZzX}-^=36;qSU#QWLV>T*tPr#IFrsK3JFe8!YU&j_32-nEg&*u~|tdnjpwNty< z*&GpZ*8536?a<}MDD9y9r%Apuq?tf*+WyacOn!jOw*L*?^=3%iO^f#PGya0+L$7AP zgTOMZ{(=SFu1E(U&-sw_>03?x@AID=oYEgNYw;*}bjtCMPkSc3qh*?Tl81LJJq5m>7#Py8na!K)_Jndm)c4D3= zXb)Y|<^G=~Lkde=Nkkh>0~`*~;Jq&jf0L`pa=tfsOJK2NYIYtN9?y(?2=I>%Py5aK^@d9SW2U)Ef*^#P}f(Fv) z%Z7P2&KLEzSq#CSe7xDY2%BZf0XMld+S5Th^JC9fOw)3wtqbjCKZrkYrBlcXk0a$& z4gv5Ac&0+=S?;V8E7qss`r#gpMQ2`ltFOvE-~608c>mxJN0E4)&@TiOBRUyMB`{6s zxf>HGmNxemfdv+FuTkWTVv+u}|MamrVvrgM)*q23%knZS(pyJIFR!z{rF<>{k?&5S z{^otZmTVzdK1DI8s5XrOK##nRY5f4^&Efs?t}|c=#blH>|YQ)iY&(6R7+I1S0M?$`+QI&}#x+Mc{^I60H#p7rrvcevBQ1!y!FVtr~O!6j}6iro3ly90ItPx#! zI$FcAetNrDm;e04)*W2vKGl`KLTgd=!0BZhw~Pw~t<{u|;bC(*D#*3M0{F|!FmF5y z$##HXDRj6BI`~%cM4R)c!I-3D!5A>yT6__d_!}U3{4`zvhijmj(;mI>!V~qde6&)? z4?`{E+AN`#^K2U@lC`?Yx_Qgho3BT0IpdeGw^7~t3LrvzM*EhNdQjpuZ z9EnjAh|j_S3ep&IswA2;Wolz{Kxe->SiYWu#NjGO^xNvxQY1Aita{-;6MI(k?T za%y!uxAe}^X@j8K>0;bZGwm^RpiUyIv6-}aGNS?iKSw*hE43;YTvo$4!Q_yTa&0Hq zi=LA|HPNA&a_OmRM{3%A|HioNz@N*J(fHLH^ck{6Q7@AyH*FkKAykdA0ihIYmH{z4 zD6#>qKfcl~*p_&xj5-_j!$o8N{Np1o*rsDaq34RDwC7?;w5mA2Urb5m!j1g~sQl9B zX=?#$^A&!(u($HuHQaEf4S*Bn=Bnnz!&{PndNrXOsgYg(=_&AtOSjj6A&IZW(dK|{ zW2U4*r{L^yd{)&pA6HWpSzfQuoX2mN^Uqo{jn3GAun`1dum% z_ze;0g9JKoh0!xyNbQ{7pP4LjKSY;%CHv^8D|4F@AX}AaV6$92T8R%iJ!c*|{m?!1 zwBk8SbT1;G{pf4DwC2Pt|C=Ng&Gi2aTt7A3d16^pnZdGh@B+nQuz63EjG?++nTs&Q z(5~H$^B(a=9j>qMn|8S@H3@m&q+S4p7Pp}v3i@iWfSds-rvd3@w#!Pb#yCvjo5n0j zv133xurG@6wXy&De7QrG9)KC&UN{mK`FT7z^Y2lqm!Q}1I`$e(g zJ$GCqtENGpla_cgvP+`5V3bMOVS*5?84+WM_7_V*YY zc)S!G4hL-L8Oz+P_o(CkJMP!@AV&I~%`&h`2T5RdRA~P7&_|UHrw$4W0zwfZl`f}) zc_A)B$3+n;ir*F%BI->~!55vEAsa!G=iyGTLrT^iUfli^VbKHzvxO9JFg6NB*S)|? z33m-I@H+-Co4?U1)ic-esX9BZ0K3HF=HZ z(yfS-MOyfes}p)o#;0?e`J@nuq;Utn+Xy>HN5^@@!d}z9m>AL0dHg`j^J}6&L5Q^7 z9Rv^fWDMusED^~tDV+0GuBDS1T@P!+2@0Z-zb2OjX`xB30Vq?*bc!HBu=zZLSA9+V z<-Xe#Md05BcsD$0f{4;Ki?W_Y$(kB0XM&N)*$FSg{;5+ZXi`8(Y&Hu zILmG`6&u^0IOC%rP(!t&d2cnPu@#@R$4t$MjK7mlmLCeL8Mpg3>SsDJ9Sh4UfZEXF zpg$oVr-K(LMv!t1KAxbIeJxGn3X5Zh{K<(%KnIa}6MhW*o`M?%$*rNH?rJf<=t#nq z2%X(7T>aUUFnkQkP(JPc!yM`k*x*MVm>UuN-jjyj=X-=Lb)-6v8OC3OyPe)L-VJTm zG$B1m7H0}qRB4)3`DtpeiIiv(KllaIO+xs-Y*&;t{_6WNXokcf@UTFN6rC;Z%ZJF8yW>p1w_&mb}2}{qyMDsR%$hJrY2dB z7~TS`p0X<878hh%ho`AWOLP6^F<4JZHxnXvNZ3$dir#=Osh=QP2poF9yV=u&wR`{k zT0nv#(W2qmeG5^V+&e6g&iTua$6p?Kq1<1WZNogyXNv~!Kif>$dUYuf0zaHa_k%7C z0)OWX>GBt}{MS>vB)e60ksVJ(rbN+1S<3ao4KA%@g z08a!kYISy5BY+$?@?ifTtZ4ATfvw+08M7ZD2?9C+eTG9-l027A+T=lLSHp(a%o3GI z48(OVC$?r}xU(8)9ibf_9l6dfr@$I&JN<;SeMKvkPU_oiKC?DC`fjS!v~z(0Jyl8@ zb9EhX#$QNh_PBMcLT&?dtK!>U+1D{KH&1*O`TW`NC(s*fS`E`o02KUQp5=i9q{ zZ||$rPqsd|{64YmIQ%BO5Bb3G^byhjg;o7aQ@~vj19loySM$G?rU)00=;7c6TSf2;Rar)#?}mA4h--V3@^lNrX6A}MRLQF)zQrtnY*=3 zZ?2m;8qE(;<{ywh-#^`qQp6#9^$Hxh{C9rb|4g5=Qyu4QDLNoE?BV-1d?_zz0^@*5 zodm{e&hl>nfT%BFn+d)`780|aMRmK4I*ISl!< z=8cq7#=54zv@h@A5q16jLysWIf7QpYaF?DREM1I5udFTY9w>u&nTAK`>Top$YWvh^ z^5j3(&yV_~CGW${eJx2{!}-@T zR2%7?qvrhLoWd>y(Tur3>J>y6`v^Op{#47M^A=-AH<2&|D~M zhv23<9u>w70ry8pqOrl!XXvxW2&F$kZehG%slv%*&P7n>D`IA`pt9q&Tq-Q;+(Djh zV#+TO=L()wO)hVi`t>3S&Miq7rKWn2xm<_lcyyYO$WU=B6XfSWkWAG@fKL#Qs9}4o zAMD5b)qC%nt@>i(x)E2Y+FU(1i$&Z+G&imR$^f`Li5doeTz1L?{QI+AY)Znd4s7>B zQ1i#h=A|D$Y)`F@qh49Hub&`VZYv&-Hp#HyUX0c@Jo*P!l0uI3%bp9%GFaALsMHHySRvE8O4M)t zoY7}jA<;Y#)?eT3f5aoFcp3cF{Bm*;&`+(MyYb!ib$bOf zaNegCiReCYpn_X5;0i$45M2n4pP(LanGn9cJ5f9BD2c$(wSz}A+4vNG}VUZ1EbZ|Ceo?4J+8nErq}%( z7xHHJzlqlme8XNv#VhmHv>b1S zEI(P_RnWOzZUBtWAOm{o^QL~ud~&tEeUj)fCGf+Ev+p9oF!$~Iz+bEX6*R){11%l` z8wK8&5o|qBvq{*|b_IpakD>q*vN{;!ae}d)5|198`bCh73;5Dui(AYIavJkiwdG_w|r$z+|&uTGO3MH6+dhVj#ag} z$;12qr0}D4nuIZ9*R}PhHQ>a3_c9 z^Hwho$GYI5gT4Xx&4JCHd!KeJwHqV9!1`Lh&?L!Uh6)^JXZ?NxE3z0iFWMLQtmAT* z8J4hcL&zs97(CZHFz~(8)Eoiq1)DJFHNIp&Jiwz+zqzCy`H$Lur@Cy#S)(gx%VT4b zmcrJ?hHqQ~#HwTJX)LBuO5h&GkB$I;5e&k@9?e1qVf{gf)3|%VP9Hj0_mw{frfxV2 zlPv^3^T4^*Fvx>Md1OH$GFMMaX4d`fmSTD3UwavqG95ks!YbR80pAFnm7})W8_!?6 zH;%|~gvZ}}!?;E=*?O*vQb>ATw;FL-NEBQg)X>QL>qk1{;@qO3*T9zH2NtN{56`ai z`-CA0rZ8c{0|s^)Z1*E~fr{i#kGl8C4oox8In` z?VsEUX#0E<27U%?={|e-{rcOF$0Zc*4H;6e4e0FYF}C^1H8DX`N7mnddfx7PAe{fJ z@I6zPmypvt0W7oTI*d-Q=E#NEMgroFhRGi}H3K>*K%9#qYd}brzgIVRbi=%y16s0K zJ3>cJI;6-wk=%j!b*4SK4wxH5X5ln5ol%F9bmq{9p-X(wVz93FeJDbx>J89<&u@n> zFa!X(Fjpr&U!@RG?ldyuiEmyCEqM`7ckZh}zR@Qr4a?C+;Paa8@-98TCp0HP)7Otw zD{eQ#_lb(pz2;*VtS$e@$?~Q;LyTqP=eh^WuKkvMLQA2Y)U}yicW|wUV^(Ne#uXNl>Q`mWdTWO`n01%GamZ>Owf$?So&T{2px;X;F zQHGAE`nSTzC5vxoWSsK}p4HME*Y9i1yTzPdDivjUv;sciExHdi)`%5SR!w)+vpOQ2=QGQ$+PS_ zW`F_SjY#r-zA5RZ;yUS%o6~mZlaxS_(W$zun}kAcz?hduR%;A33fLw&(l5() z+9w?8n*U-#a3DU;^Flnsb)nums&HW`LPnU&{@yjZb@jX5OnuI!9*~vwvvC&+=N9pg zv&0od)W2@`SlbLH?<5}M^dbpvxkw}42Y14fm!w_KG2Y)dr2Oi2H*-hY!yVN`*}@-1 zwV6skd{JUX{LI8Zk58Qe zg5VMxgkvp!_-U2|4fBb9ezjcFv^HbBlrd9;_iO&eiW%Us3G(1B*pMr}4P`7xa3dyU zuA_QUp#j5WyI>xV2FseCo*eZ1Q{*WAcw6SKq|h&SwF92p_Y;Kx zEH>yQ>VVLMg($IE3pmZBHPaCVA3fGYy{!nrVFRA;*8nRvdxeY-m;vk!jbjXH(oA_* zrT^vYtY=6Z@>QM~l1Wlknvj+mE2z+&KLrc*9i(CL@=YLtgC4idU+^!yjkjX0s0*lY zU|ypeL9KB5U`~3}%})1s&5KAh2$?U{lW*{ko><@E4ENcso1wXHVDR?kQwRvF4YwA7 zNA=L=)np`@Xttiu|8AOS5-xV|{vMf={{w6!Z%nz4>^e~kb~~8qM&w z+~x4=weTBdK6Zni_u1ATFezdVZYeTNaFZgbdlrS;yy}*mEVtA=28wOdr0imewMS=6 zI)QH6x#^!XbuR_{FyrSla0iimwpaOTjshhkI1Li0=Cy7RCT-B<(LAx$859%Yr2%{# zHwgUj7$XgBakC>F8uT0m$?66Emg=czBski^Zv00;{Bw$K?F8IBt&QP@A1Mwqalgr; zJQp5EBh_991aWcY9-CsHn_qxCTf}-EyfrM~zdXF)3T9!*X6tBY#6As%-|JDfUuUT9 znD;+fyS>p&7nT)%{A~N!K?EOmz2UH{MGjxVLiWC|11M#ABrsY%KNZ+C|2q|7p^5avUz%}1yi>D<#v<4q4 zPNFkV52Rk}x|^&p8VC7&@WnrdzX!M@UrJS&Lp#Xpk4xs>4!B9`-SZB?ZFgO#Of2?_ zL{?)m#2D(S*YR)tgQfm4?yh=`#L9sL6S9QolySe%i)At0GrW!4xE&=3=;xm;1{GW`7$eCS(Bn(Y z&Z)Ds6Qh|yiYlo4iv}bU$IlE7PyD_rbz~m$@^m#+ud6ZbI_PkV67owu*=PBwU!BCU zP(;~(r`-E1Y_#UlNG5ZF#W2 zcnq*$QYkN{k^D3l>YAoZ@B0wwt@f2AizxU*o!{*_3or#-=pV)#p})ZXytSv~j8#T5 zj}7#V-h(If%BeA|GfEkn&p_Psy%Zt94KzYD7FHwB0vo8uh3e~IX!7%_Kkvyw1=V26hpOQ zc#5=XXWO7SiZN=Lc0SItc3Cs;fR) z_vy3mExnsL-X08iS=F`-{a z%zRJI_}Z+N61X^VfC=2LivA?oY>=aeafBHPWe60U@KAP_tOOU%3#`=}_MTQT;{lI2 zb%{4PlVEr;m;`Yd&Rvcm7V#J8GiKNq{PDTTieph%qIsR=%^r>m=X|G79-uM&-`18m ziln>?Cgi=!i*631tPF)MEG#oqMzKvV_WDGIY<_fK^r_N>oJ#Q@ur{-QTamoSI&XhS zzh9R5=+{m4$!)_3s)aOGeP3j7iKViZW&G?w>4b=@LS0`{Q0UBU^L=v-afy=|*z*zR zFJ$`zbrxDC7uk6`Oni~ai0~`gB*oj0w|MRI+D9O}5X@LeApl4Rl7!^7LNGbuQao#q zoZfb!GbHIF0teo;W3DE%{QH}d-V{$WRAzIn!#wW#)&GSR9aW1AveNQ?NzCm_zzVfPv-H`J{CHkt@!n58w~IL;hHd zBi!3|Sk8UFm=hSIU{{AMO-)egL%LX^fk{G|l|L@;I{Ssa?7l_QB{R8U{tO*%&RdLQ zPv61Ap8^zt>Wp>Y(ljIw9?mg4CJ)m_bK9zbOaw92bOWnEFpdS5QBR|C_2Kh8M$EBU z=?}2aHG@ksLUB>jUeRWb67EaNdD$sEQ~$ufV^arzK>gbaAnn&tG=v=Y_=;yGmXwe5 z1_ULkp}xDj%vTiLfY)NcW^m)pTbrceKkx(v4e0z=^OsirfL_qPk8yU2^9y#om5}#X zrX;#j{U2yRJOS;=Q}o@Goo*{edH2q%VxO2Y;7>PpVIVdb;A=5G zhwd|f+`zEcSH-418XDTFhLtbz69-2OaQZorhNY<-d$+ZJp(t z{LoESdTBM_oKszjX{kj13QMbwL+_-2MEW{ww9=HCesF38t@1bQurww!%AWSdrD3^< z0+X&Q3gL@RLm3lCVUJ2H3^Tq~=y2c0KW4WLXrtQfAxcFs8(_aGToBVI#dno8pdh`@ zTQ?$~i*5f#$<}i1ApHLjP3JHibS z6((&9lWal{*80sK35DN*&a=YbGvwTZicHZnwENH{`8%Iw^B2^^pG@7UU>pWiD`o#z zuh_$19TR=m&QdE^Ain0!c$?fWBadgkR%(iQC46a1>*753Zh{p!ml!WPi_*d1Fy9-O zito5k6`;6H!UB1uhr^8oUNS?>r}iHZg2V?p*nyPadOao2g$f~|F9K*ahCYS=lcMIr z{wzo_dx1@o?{B2(3X;g@z~(FS5dYv~qj6(RM}7p47N}hGUev@TMUny!EyIr}!mXX(4>Wn=kGmGq zubRB$heda=n!%#e6gIpOUvTARddAJX^imJFSJpoV$|c_&k)z_g4dEG!=1)7m_~IDQ z@po>|0(gJm{&Qwx*t-Atp7LM%#B6^m6j~=Qvp#rrA0bN2?|o8A`+vK zE@AY$_aE4^&vT#q+}CsNbH0~r&-@q7lAzs|pl8>nMb1SiPAe6EP&(5`I8(2Eqkv~* z#+|Lb%fv-(^!#z6X)9p0`+Kb>SceW_N_2)xP{retflXYu3GqH7HTWqs#41-!^dAkM zj+XFOiOE5%6IEw2Uf?Ow_9^Sv86Er7Whs^EQcn3|8p^OPHwB5@J41z9pXy~flH|=Y zt9Dfa*#5u=9EmLP`0LbN){6RscmMRcOuE$|hiV&@q}DQ;M8ISzXl@Y^5Cv781l=A6 z<}-OQ(4a4%Zu|p|pfWn5ntav`r6XjBRo#HgS(@f|OZC09u6sb)f2#i4gS4lExLoY^ zm0IbnumZ+U1};J5x4@XF%Fx-dsI5Qnnm^@|m3eLl#J%8%Ji`W{>g36ees1@;?muO; zm^7cil`2xl9RUUkSKq4EAG-FM@xmXUq_L0r2;z!s6CSE_$Cg%`Rlg+oS?lI*y&sHd~qUM?rSy7)J^TsU+EVV`R- zc3WA_N#x=EmTG#b7vl3O%pUhQ+8Y#l250UyQ1r^d=^?NnAQSc48?nfVB5diXx59Sh z@9Uhlh7dfs_x1!)zbURl%xefJ1b(gAl7>7Q=&)URBLX&8W}< zqy=pRF7z^c4Jf2aGQ?K!IbGII00m;{p{%myrbT~ z-aMo~Nb^j$4SToWv6oQhbX6;XHTDPHcL%mp>Sr*det;r!7>(atl=b40I+(q z4s-a0fA=kb5dkpi@8P9xI&I5_i{6`z#W^_x4EqVER!y+aBGaV&5FB4JZuxl`(+k^s zxi4Xmb>ABdH%SlQr>|(eiA$6}sHJ5)8ybz{2-&TwZ8vlSj*WY4_x(!9Q^mLg%~R6J zGB&UU?}D(v=z<<_XZYeUXqsHMrvw0c3L6f$K%LhEjJ>{($|TahjP<3U%9uwa*?kZ8 z`5>P2o?|1rhyG(sBnGhXRj$*48{tkLf#u1NKo_fyQt|V6ZS?C=lQt7616qZ!lvy(Q z!v}Hz{||KfrdVax3=Z3q=_DtiChTv;~X}RL}*fox16F<%Ec> z6lX>z41o+j=ZJMsi>G8L(oi@66zoFF+l(7AcPDYqQJp7w=I7O3FM{u9@B0_W>){{J zjoOOV3FT%{)CB?kICfuz+_&n=k{P`PC{5O0)%D`L&HCL3XFUZR|B_+-Ly{FUpCFP@ZUQDdW+10uOq5-7u@IBKV#XNwh&k>9)(sLID>hKv%$TD+&lkfdIia@ZU-mlk-ixMzYvK6K_fHPS zH2-Xq(tRDS-uG};HC+^Rcid*1D+AAcx^0_E;Q-psDx%`e2{9~}3Ca6}3$mqYbA3&= zXD~afab`~D#)@wNfP}tD3Wah88hA+=@V#{jP_8>4Y)mTQJy!nyH23+?323Tn{V3(- z{h&Q}7;+<$!3e&&e3o~&(UbhEA~Q`vN%R8~i-e=U1o{azOfNwO=LXdL`N2z7qfy}u zz#ku2h@g+RYwETOKQ*#M^A9|#J+vHqgRHtTf5G+sKiu}$+qvWO5}kngL0X~b~YQhdNMSKUXLujF?J?~tH45a`Ycey@%ZXFW-#5BqS z(_$Cs0WtzK6_0bS%%r15@7{Fag0$m~_SU!{2?1OgH$hbw{j>EO@+=gpT(dhj8Kqk% z7oy>m5**CTI;v5Tx!$U()Zg4iFwDi(AUOyzU^@IQx^ilnu!rsl$9k4P;Bwk{(8cu<4FK5Et9i$DrqWO?R9q z6?l)x6i}#3Qn|Y+xQC(vkMm$MG$QH-vz`0NaB3Ytdy6h;PFIzov=7g7r#)}_#2kEm zKTmId=`ZhN*xLyi{C5|u74+oaGyabl+_tTLN5WrJv|bW{r78uar<`LP%m}3kND0PL zQ5+uQWvO&-)VPB`KkyQrcJ_DoLMN}}?sS@)%B-phQ)CFBnb9+SLoo~H@8{U}rFU(> zRH`UYq4ZFa+(G4$EXKoT=Mw`BZtJMBp|C}xO%9h>XRhnvQEJj(T z5ophW5SgL~E*B>{7peDJSo2ITmV-ullPRf-NbU#?$9PSGRg^6}#m-KLqMJF^-}l ze+yAK3lMwXLKEe&?C)EPO7ax@Wh?3R<-I!ZVq|g)0OBM9qm~y@1z&T3rz5Xcn(DPz zxOdmnR2%B(6Zt0Vfc=g6v=-1`HfvE$luy)*#n4)|iIAbK@FiDbZ?G&C(&B!=zJW&H zsr~C5!Q4IkO$(56O&-n+G@D~*_XoH5N0!+bD+Pk-NSU!lH{jwj$YOm?a9Yaht&hh^7rln z%dF1tnSwvj4xK-7#WEwrLs3e*C{>>)mQ$$P`DvK@UOPg>p@R(CQd&})0I}bKN-Dg- zydGkrylb2Ynvz1xp@Xq4w9^D5+?x`hHm!i&N6;YfZPJ~3F+hxl?-1!iKMc_O`~dfZbXg+1u;mpCIZEDf^XKl(`di8}?lIIkHB z1!h{TL9;;+;D7YB2QS%o@7DqKh-?3D+@QKX--?dA3Sfj%8Oovs(DWdWrVpc7f^G_k zC+&cM4+D6k4%D9oza#gAo_TGCV^IM|j;X`)1D@-y*>^!x^2CHzZIEX7UOlA3l&3pL z1N4H?i#kGP0x~2SAwc&!6^EyZKd?UPIXI`}tHGF1RKy{s(|PVtWqE@3m1}Ik{sxi3 z3Sk0ur2x7=ALMStz$hcbA*nf?OH@V7t7Lo`5wiP@f!F|F z^v^#6ReXRpxD)<-WHdk3SP5txMxcF+9s)T~$U$@iwGPChiz+!J6{D(yia)TCYA$L# zWQEog5p=}}+>v8cqfO{G#Lzv08ECt0o{w~YsQWb`P!j0x%n6YvS2H=A;$%`731M&b zC3vEfrLegbhZ{D>RF%(3s^)4oZ>=t0KtzyH!!W+x+cj@+lzx_A;mwZ>`-0@y*yg8= zCalH@19x001{h@u08iX{*o76KK(HqI!2c}cPa$=174e7em8@6@x}7twPYTYA{)y)W ze4w;2W*X(-om;r?L}{f^5KlxMbB^AI6Z&61dX{4UK&s;wtu{w$F;Lr^Tgs3pnF!wX z`}K>J)%#ja1qGiqI((KQkl2KtrZ|MzZa&!klMy9~FZh*w?*_4d=PAe3Y=7OV>`O}L zhItE+*%`BlH7(Z}8ozLAaJ%bYH0}KAeo^SL+NV?9D6?mrI19MPyf~&4dgM;zxQDTi zY)j;88WKqq3-?!Ykom`Q~KYnRcZ~ur)k5Hua zz#|lKN4JICuoYm>sk60Nd9E@nf;g-v6>iU3OcEIy-ZVlcg7yVy1aeggub~6 z{(dJBBqv1{fOPNwM1wm%ljXRT!aeaWuH>9X)zr8*={S*aB{mI#N$DDe-awRoiO{_$ zJ?rq3tYM3~1YK`b*EOP2GDL$b{G0mZIs%(?7gJ43l8q{yAFZ8QHC+Qw$7sY@UC%E6H`A-=02TERhK=Pc-85*nl4d)h7L(alT z(CANsK8^}mLq&Ro-_ zM~7bVkCmwGZ;*F)I8c=J4I@L_A9T0;fXI6?4R%kM->5KM+cB&FCN>yy!k7UCa^A7$ zL{g=agHT>Z7R}bhRzPbJfLfaIFS;717X&=!>>X0`+?9v-fnF%W1z$}Gv0#VG2x|R7LNNDCFE8mvO*3=bb4g@PB>go(!ro01`nxTn)3E#02>F^MjgaN!t|j;= zYghk*)&roGvaBPa@dXO9IGT!kO}+I8J&Hp{J5e3B;*20Ly8m9Fo4+Xa`I+j4{FUVC z^?aj;|NU2mh7fQLqacl1LOrto{t*qa&x1MJ?R}yAsleSVqv`vxh8`r2Y(+og8LsM) z1^UpELrO1dOqi`3PI(xuJMmA+`kNz5A*Xv)(apc2nY5CG6y=M%dZBIbC+T=pDoD;- z#!>_447&C_CQ^@_Bnhxv*O3IvtFPwad4NFX(TW~#N*d_W!!^GyKSVzz9W640J~cSN z^&%x6g$qSZlv*d>w7LKlUuhrq<8j%5NRU3G%zR)P;KF;YKEaj(h19NgMip|>(Mo4% z19^dgh+_OrDmcH!rVM#^zNAC0(brey4c9x;r=O*6S3Be|6{%q_6?)Z z1=8EOm4C%%31geUa0-PpnQ5jlrow1yH7v@(YxBi>xF|8Aw2+&LE{P)}0ozHf!!|xf zQAgeNnJQUKL8kGtr|uJwv%@s7=G6EImP9b5PGvz;Vj3Y(pi^*a*RFqbElkzN{Gk(q^c*tRQ=XBMF770u;ZJT5NRGQ|^k!@$H`_jUIJb=wx3}KZA z_!EtZn(^+3lLaIYrP2TGXEGBF#hMo19bu^{{>I z)6?q$(w8!4`5QJr0OWI;d{#U0<+-r+lF*6dSIxGos=y4CDIiO_Q#G$o#8+5fqg!mF z22c$-H7@wAU<(|D=C07EymvT!}h zv1_N0KKdDN90xua)wDGw#I{s_`(?IlxQieXVG8RROh`Rfhu=*(*$zcsmYgR+ z4nuv}$mG#QO~MPabJ=ZCw;F&0#egJc1D`SI6^L?>iFK~X@4-#Rs>{$g+VQd^z!A&} zLCm8M&>n+z%*Zi|@~DOHStRNI(k5yh#Ypi1*OlZ&9%xX8VG)I26|1}EWh5U#9mq6$5rTT_o_W?6O^Vsb}co+Na zXZ7haWCPPOEIe%zgO)|}va$+AW{54PZ0y}?PMKTn=!dZ>c4@5cEuW6J9P*D8%c|1!TYg9-q*3CHRw~**@9vVZ}`IkwAM_8c{+7zZ`QTJEVt2ovBVv#Y6F-+x&$7_w5}#2j=H&YT;?gP!CEsz zH-n~+wZ@pj&0K-abk{a^q8t1zFqxj$<}~4msH6}>~|i+Y}#-qXB+9?Y*Dp|(`)~s2`UrF0I>vd?DEo=+F_|N$@qGh25*L>#yVPq9|v`c|m#f@=eHfx<=s>dDmv6~qBh1U%eUh12)!X~_74 zKg(f9n7oS_X`1DTsDr_LHt6~F^kn=X_XfIi^bVX0ts^3Vrc+2P=rYhRi^xJTwe|eG z1%D9=3Cls4+_+M+-KpTWvM8NjsP2Buz!2l0@Ep8nr@H|{05YO&hWkDBc=ToZoE!>!+ zt}CAIIO?@gVbnY*EUskvVfpnW>d=4xUc@ z5n~_zWWqXQZmWGBZegqqiNHD1^s-ab;_`FkctPEeuTH;^P!$Hph~JT&^8sw1+G=9B zXsF}-Tm}G8vuj|BMDb_q&D8lS$HG;U72v|0Z6ofne5C4S#*bZI?Eq zNWc0q4KZ<~*f;T^_3#jSRZH@v_AOG;W)2xE&x+|&0n~Ku_Q+U?P!6!}`dQIVo~i!5 zMr+X-RGmUu_2U6dht*KJ{|UXwxQGnyZ8J9L7K;iu%dyLm=oCS?NCTH(7OKuQrrWwI z8WH=Zx#K*iAym~V?#c0uUxJL+|6D2@JaO=-yU-+hW}h^cG2wQ@cGx4hfuu$#mKRiG z0E@(M_WyY*)MQprBr`!}OqU2LIaFt+0Yx8a@bf#fXh*^<<5Xy4*C}?$gd1O6+15y& z!2!LCN;tZ&9l*MT$WSgu`gTdg@!4;k@BZpO|9EU^a&B3`<9q|mm!jU?ZZCY8+z(*2 z?sr;KE(H2&ZC#bkp>9FsB>*4UQzeKk?_i=}+%w%8>5o>u&oS)+EZsY20&)L{_&3|G zpPy>~SXRqH>z_h-U-I?lHZi?bQF{9mZ?V7J(NF8S?eBV;Jcdlj&GkEWCN z{0$57#~BlD-l*wa!j2CIu6Z6#xOCIR+FV@xZk+(i4-K-YEtyH^L(+F#V~U?6pQ-y_ z!}lG1wD~CgV)xC7AYZh%$h!|B2Vx$=(J7M7&7D{TUBacKI*9)|LeDhni!LKjHqX#T7ExZ2FczuS7yI_UqWwF+)W zIhh=OeP(p~SJ+<1@~A~K{*L_JX3TM_281s2*+dLk_SYPG7@ie|5avvizp}m zqBA+H0hZ|x;K=(iB!;-)x%!O{mAve`+Z6iu-QD*uHJBl=#-kBw%k%PE)E2TqA8D>0 zfYNRN{cfVAQNKQ5cxW5^kCCtN5g#D4v<`aPZ!8jX6VbZ;s+TV3A6M=BqgN*gWTp`9 z@z63c{l~)iqd{;+kZ<+2JPQ(TcKnVdKGc-7!G#4+QvXm^cKh#QF{$*G?B!O0koG+A zA(l8i!y;cmMeV$*YQpPahA^ap9Ex@YaP6|e)S;S`NKlEDfFktaITR<6HAeiifrXt4H8pM`cCqr6wws6;g`le~+Hf5WKIbcl%Fw z4L&TD*n}S5s|&mMF=#Hd$EHF29N1$PE?&j-nN{ta+*GFKAewQUEH3DrEYy$i#ivMw znF~RiP<+fSr6vnEaohzqWgfU-$py;Q&p?UJ=_muxi*rz9HT$3Ft!8`?svpf5#z_Z4r>rJ~_|;Sl=CT|aRB`d?-vLtGI!19=gjt#eI zlRGDI&#|am8-BTYkyaUqfQn9T<*>441aG^F&g@Q4KTxi$`(>z2_V|qrQy-H~299xL z^CW!f94YX$?hr$=A!EaD-s7k-`%qz$7$BRrhihSrHnV?8y=1jtQ?|v%V^*s`8wWv>Ka+tto+!HX^2ATg8Ar0nDB*mU%T$R+QnPZ z$5oDj^B~PCKPuC+CpWe=kK3Q)Y#G)1a98SM5#&D5MiH2=OsCoyfO+`ekj2dqTfZwx;9IZEnX^O~*iTDsF&)mn*c8qd!iJ8jt_ zKRcE92qG1=_MZ$7Q@w;1tXq~bR6?-nMCn~?Je|#U^eYJ_)A{`V+zWBB^S%3G6RxI2 zssTx59YVI{sZ+JVBfSVKKx)13NzAn{+q3?bJqiN9vFz!^CI`p6V0W~|z?mDi{Uk;l z(ke0uLIl}-VPI{u+7JDT)^1S0t#oQa z=s7-={St^SR>9^loOjvuD z$0l7;Oas-{rn)7T_yT=LZoIPD1y}{k)QS8pudoldE^EMpdR*|M@Tak=t zHJu^ls}_s`HXHk6E9aw?Ax=cr~aW=m@H6m5MqzVahxYW7U1FN+5+;*EN zw|rO9$m)6+-Zu!39uaO`m0OW z7SgU%f=X@J%s;^AZ{{gwop!c%wMcBmhe6D5G)oNqN}qvo!XHQ zT)!Utlk|PQx^m%4ZB7Xuw%)6!bZWZ?>xUiPJ%9MMGHhDp4S@f9->5`uA}WD$E$!5W zWZRk0H&?qn_jNn1H>*1E`6}r#`sCLPP$%lc+7*v+^`EHJ1FcG4Nvz|{z(WihMS7pk zdvOXdo(oo;rD;v>LXbE?Qr^`#k)Q1>p$zeN|}z`S~ z`B`7*;)CKV!Tp`Fe?l-o_KrM9Y`CRt%~RNfeOGMwD%TkTYAhi^r?k|O0RT0t9*eJ0 zL3Vj|<|zIN?i91BoO>CJZ1r6qZ;K%x;-Mt} z5yj;LR9chHoADe~gve_8^W2FYdLymJI-% zaeRMDiYgb5V^G$B)w#Hwd*>~7so6&A=ROU!cI(R<5|G;}@_{0xcAw`oHeJXm<7-R? z39{x>rI~^AA-+xIF#U4(V10dkw9HJg!c=S}w8dr3oa)h6^R354#v0dhbj`vVO>Ufi zvi`OawaMgt_7^uG*Nu6%!v!2;+;X6Fj%^U9@1&c;&gLvv z&Cpv^r|$BVSJuQmqJW^7Pwv-DzJXabg>evb7Yg6L0<2N6}2Bn%ekxifF5vEpuDSjEq>(#ecf98L9Cy1G->0DdtG>cw9dT7-G7_BCPzQeM^3a{4yAo&YMik3 z8VZn$Z=J=o$4*4eb!tS=uJC_{>zb6oJRQR86o0iHsr+TnH@}Gs@jbbHc=w^t$&cyt z_1Yh0-!mCbFuwSRs_>7qLqnam$(wx}-TJ=_#pZujM%x&-o!Z@2`TlMJl%YC48B6+R ztWpbkX6x0*;5B0!_wX$mjTm5=w>g}3&Y()dEQ4ePg+&HFb}*r zQwcAWoX|Ti{s@i_n>xoke%%`T)UNZpMdo2pA%HE7>taX{Q7XoFe|i7K^6rwGC%>Zh z-q4rmuF|N($IW#R5Iw2wCVj@cPWw7N3EOpO}8&x(xbpN0wVm$j1EJRKxtu+T>H87n9kfA7L~r!q!fKH;%;S zs6i$6K!;p8Wi@i0rAr6G!PI1@gpHzH+wC{1X~yH)ZshdcRXy8}?uo=a;usJ=+-hgi z>LB$#;>(T==@tIRd)8d#8wV&LH5!1#o}T_SYOHYT2_HQE`U=)N=iuSqC)$S&C)WS) zGtN-D)7H|WtaM}g&+jtxo4S|Qoi5w_?3pi=-AW@P=+BBk3pR0o#$v7>`+Nl4!E(GX zCR7&-qQ!Vcpb0Vxk5hGxd2b`+rKzIYKQdDEK6MPwW&nx^z;9g@y$O!H&-&C3daPk8 zZ}>`(`27BiUvki`DMuEUK2hq=`f=0Qla|Y~oBXG97uz+))vr!|Uw!o7R!-u!Wlm3$ z4JEQ6)8#D5e3!w;X1$hf_BS`eU%O;|jiTl&`N%0T#$fwJvoJO~nz2Yt?W}S6faW-W zZf+VcDDZo8c(1Pm!yLr2+_)N)JgFj%#C%WkQOdEAl9DR6JB|!0XmFl`zo9;IWK920 zzTx<3l$|_3qAoY^&F)P{n~L;JNi9ZTIT)dsmZCd2#@%a zX>itM1N#uG`}<1M$|u&5o%-VPn6S_?*6U|Wz_4HpkwH0HX92{SW;_xSp2CSq1G$@d8bL%GwR+HX|r?EXbg&OV(QJN`=go4;d! zQjrtUx&-7~(8g<^XAg+Gq*a^Hw>FQzOm6*l6Pn%br8@#8mXt|yx%!rY%^uZ|za|M|1r79rlq-2DT~hb2J%b0?(6 zs-dspS622$Yvl1hqEJ5GHOIjXVb}>L%g%q2-~+%7nBOU^sYiORlJm^<+%^EJeOUa8 zo<7ZWnD<<`mnkl6Z3LW|M}D)OJ1Yrup{Nw$@wh}ldJ`K6wR-jX>brH#^yHtJH@OPw zOf($XT};sTwoY>bj1;E7gKbN=;@>^j4aW>(nulgyUH|&PF!_|Ger!k<*e?RTBJdbG zoB_Au{_Yb>TeQ$YU59nItg!nOmr8@s&`+PyI>0iB%t}bxD73p$a7{4(L|IbNqUsI7 z_<=X)%Vz-<-=;r3BbI07Sn0|H?K2{*&?r{PAJ%!ZGfB*H0=-I)Z4H>D67Q(w%U!93 z*3^D7FHhi?SfQb&og=6^p7q{XsXYn)*kSow=&Zza_CtDnpwUN*vR~ByUbLH~qLzHb zSKofKaNKG|=C8QE49oc-@2`q^O!e^xHg9eU^88mErUV%tU!(II^Gs(jVW0g)DJCVZ z=5XwfTMmG)Cm~FXQpdN&vwQM8%Jd>piT`H(XdR3?E5vr}v)GNl!1>uP$AKC%JBRdN zF2?3tTL=3t+^%sYn_YJnYYS=i>1+RHpaL-C%FC@8oBaL9bz9!D-mKiLx^bO?*ZzZr z$ZLr8zbOyb#^ztsE^=kd`$B7MqwB$2KFw|I?SfOxU(Vdj%agL|mn0>_HY#Uy6T?(2 z-M@gW#tk~(X^@$pn?RK|d(d+kj&u$x{?}B`4NK$1l(F0-UwA1Iq^MOHk#EkW<+~rk zcls9PvuWwwKT+VoYaK}HGhd(;vHFMI&_?#oSt=VXzG}-XDyCP|n#+DaB0cQXlm0-8 ze4{>B=5am~pp6sJnVy=RVr9p@X>62_!dBblVldVpJo@+hS1T&bk`a@$D4ScxykFum z0hoTs^N(GOLWYOCDwJ^>d{5m-mde;2;k-FxE!K2d(BSmx0~m!2nNEJ&i${<6W> zFGV~qr_q_gP3?WghXD;+uM++%kHknG`ho%~c6QgEL4r5bqY7)zRs$yI!jv3;Qdjw$ zJov;R%lI$FIiUbM_JKCS7W9#itkhoe=88sR{W&klU)T{$5GwFLTXgCc`ueD2{7U>M zTEH9QKKUDd^Vj2h4W>u4tLl^rg1;6XX^h+;po#X@N zhQ=mt_zp9xytUC6E~#EU$6;Q*7619}&6a`&>pugR^0y<~uTDD^e-KeWwWHeZ!AV`W zq>@=FZqrOqs>a}biqf>XHs`;*LM;8Dbm#u}%{=tWI!&nDvx_I(*bjIP4v#n8Fe@WMWoO1Z84w^UQ3DY=j@-gMj)nt^qw#t8_%pLnR0dY|pt9(O5K zS0BZCHAEzB*tsPP9vt{?yQ`dHsV0lAF5 zbvvgAI|eg}G(yNq=Mu;4sl>WM3t>GSz9Kll*=__JSoA#NQlGPzL1dM!(!Ph&dH=V0 zlAG8vgyQSd?&#X!)Y&br;yK`-&i?J{h=bcTwVuk{(6=$IZuhl#BVRDiZ*NxKPHMb) zlkYHJS;gIC0!Z4*5xTFP2$12$rXZa8Y&XD)NJc1Fz20{FRTp*KeHQOKbhj!1W}~k_ z*-=lfAF9AMzpx}~gJ%;}*Y4=JJy!p@e@o5M@zh#HSW>TkPJ`}}>++w}2r^9Kd;0^q z(LXnq6En!Gt5W*tyS4-k1FQ$k!^yO!PUKZo4bRO-ze??|o}h~I43P{c0+<9LYN#W? z?WQ|Y%7nv{sT~E8kTkDo1^zn{4$4WLhi3jcB4q@WP7+z&mJBDEs@6gJ-q?~0nR+_e!*@@CkNG-IyL zpUqvgYD=AYC7vkQ=Jz#PG7AHg3mkuknVq81nDHs z0e^&csmSB<{a0^(dj813reWf#*;j8n$@Qy>tu*B)1E z0!xCsR2wx%=W`VuhYYjCf0>oH$Trn##IN%P`Lus)Rw4zG`S0>ww;Sn>Va9q0HB zun`*+bW5~UBDYh4@wP*py4^A)1RZ>!MkR#p=I=Xn8L~K0spDt9w^;%K2J+IiTnwy< z`ac=dKFj)1@_=l73cjoZbG^5jEvdV3+^^5_NqkYzfp}wil1Pv5v^n2Dh~q_Pf?zl_ z0*;!jhb(zbN+tx1hhJuu*}@+o3*!@s2me0LBO+o6F|Lw*US6rRZjS^*L`E zK$nJzYf9#Yu+z%ymWbAOE*uxNQBF6;rPry)or-W@6x4{QuuG9Zj4Dz0C)mzX3@u`6 zD}&Ig*?{zvnP-YPTR)RawCt2K3h3$B$J@ST=ChO$(cwjpphl}Ho}VuI8!V)J*ii9~ z_dJY=xYB!jj=P-}w(q0R)Y`Tx80L1#;r+*ZBE6U_R5CD`DerQ0;BGwmy)ZuJl}l%& zsxCbGk%JX~x0c~Dp z+H)Q!^(7zwJ{%sU@e>};lW+T8gzZ|mL>7xlNs^abtWZpzmUm0@hc~y7gW1??39w7hitZlOG~J>Qn$_D}`wcS5+Bc!R`VQ z)zRUeSv)R~-Z?U);<~&(gEt_8=H=_tSQ{*suw(T2=E*)>o(xkz%=4w&@@1YoTg2|l zKMvi0*fwum^i#>|RP-w5dc|$jy=H%Akd2d{V}dLx>GVZX7O^V&R9<~z5a=hS>Ld@fC4!~GWm<#&gbuWJJFPQtrwtSN3Xfg;C{ zsXzhsYkVN($&0&{PX)RpdC*zOL8@w%5vJ|t3$st$8%7-BD|I?cs~^1k;Uwy+mRmQR z@u|G|mI@siN5`sVD21unc*muMt|*vCQ!XD ztGt#OdiLsX)FL>DUb+gJ>}DkJI~!|GnXjB^txBD${#2auuc9DMM#6*zTSWKzc=6%G z;q%{5hLj`lEBy|joJ$F}i;l%$fhR|6uf}(*Bz!0=D(1R-+cQJhJHD;x{c{rRmKM{k zd+0GV+vT@6z54 z$eIIZjE$@pM**BG&Wy3XdecS@TV|~(?W%|Yb&cxw&>ifQZEa!I9oGkS` z^e-EbzP05!VLtzaKdG!T(g@eW}Rd2bd27xy*s_O9QqI$i8XY0}N z*}U{w$30Ih8lU;&RH!i%{#Xa@^Z7XNGpoZOEG@mt3GsXlq?`f?O(^_R#GQSJSZy>; z+6px?N~trQk#sPp<6QzjdBWC<;V&^ld>eOusTx5uWW2NO6dI_E@m7_ZKB(xkl~Eda z2fc@+{G*AhvDv(+yPb^Pd42IpxcL(t($=~IZU6Hp1*LeX#W76ax4bVr}prD}4NCTlnX3Fmii9B5Ot(eJ;oy*k|V z0dOuK{bJu_0JDcb;?fjb5}gws5!)*vX)8&y29-<0DZeGly_YEY^d;b0mXznVGLJVu zb@Xk8nf|-&PpHm&jvwr{H|Hcx8RXbzOaAmL$pGD1jZ zq2jGYLKiH!pu(v0?NETuw;fu$I?`r6O;hi8R$A=E#=p34)MWbg zZrL3x=D#_^tmeORbMU+%JKqn9Sbr}m@QIFb{h!6=pl&!lgE}`=Vg&WWa9e?ud%?6} zuF$Fu^wLEv9yOHyzs}A)8Va|I|oYdP(3LOV=Xlhz2f-@n7?tFl*xK^xpVu8W5aXvzHjylCX}2huG}fQ55>Q=rAT6> zjU6fYDbsfL{!?VesIK~jOfAg3M{5&|cplA{2;}6~5#GOpm4@jS`RM*RlIUUTS91R| zJUTgT!Q~`~pv-?s79byshnX+KT~#ynZW2XpyOfy(!UWj_&{bVOG`66 zpR|l9ERvFyS1$ftcs)D|q)%h3{PG?+ny;a-wH6RqA>@;XbLY?2=U|G-U*mizR(Rym znM+X{-hv(vrtn#iXLq(R{^;Gs9FbIRZQ^QiiiKfnuh+WhbSE$FW<}G3TC~)byBSeamO@Me?cIVA zz5M%~DnD#t5NvWD*S<;cTJ+S>-4Mu|$Xm7LI&GrgwwQ%_oNk>FobPZWP5DF2JojJXm z<-<#ymo zTRHo}8-#*R2G5Qdhr2zBm*=zERyFgu?gFO7tuptQ=;esy4@X=_+()O)G!-lYLoOBc zt~;OpMaGTl@%K#bQ@~V`3AlyA=8*(5Ve+l&?A9?L$Xgi})MgqYVqP2Xv3gor*HensIzfHn6ZYwXrDZj9KaLVlRmF zaq8}9TF=1CO>O5115%;2i)+exf1bWX?5VodtqK`m*@mEJbSUo;XxU;R0iI8tns|5@ zFdgrQ9V%_McG%#uReZq~_}c55lR;&n@J5y1RaU;rG5Wsqz&|4Q9mtqo0YQuv+8 ze!|Mci@R*E|8~fH&v|5STMCux{vLC~mpa^EwC)I!U65AER^6?rWN&AmM#d6pf{Rdo8c_o{RH zJ~?uav5sqn-#xl=!>T(zs4rv))ayBG9HKTAeF$%|z*xxhwor5-LUEmj^rquMm96I< z@Aif{S$S;Yj6+?bHdH*{?~FPgK^1pg-@q~IV51u9l+IR`hoaTCtm>1^2K6nkVT$kl zEBuXqpfVx6UXoui6Kxsat&}5?ulpP&`nhp1tp%`vrQ8xA_a79{L%`2&y6b-Y;mWdy zGBltbHW=7L>{fc@_^_e(uaoF%uic{>N`IOB6;Ua>X~-kr&{?RFb{)gaB|42NS^c0S zaaGV-yijuJN0lBy`a;yyTP+6MmVR*}8Rhi(kQB%LLvpcuwPKF?pvJ^f*UAX-?hP0*FM{Tn|##HOR>?)-0)FLZ`sH2DSum)xd`-> zNcDy0#P52H5uj&Hm0q^M ziJ_hc5Axm2ZUNn@4!ccUWcYnSrW<|a2p3(Ba0gAj3baBfiG?(lCXZ|r36z5QYD>(& z48neoK+o-0&bNI5wE6(2-_3Q1qAntu9o!;mr(B&1E_Y!)343Weh9?nC>tz_I$l}A05yNjzpPwE$W z*X}gftpYB#-x1tHh##20%Bx6lemHaiWFnYk1u`bOTfcI~g!jPHHaoaBo&Zp^o%awV z#sr^39ch>G?0v;?(+2sgCHcnHo;qfntN{}2sjIk52Xh(4 zZ8366wN9^6EZUDS6tFz`-DfqXg8IEKO7FRpP_T|HMH-R{z4>e7hLy8=v<7N>ktRuX~>f54i&7IRYE9$-oT2rJVs zNRcq7pNZE}Kx*D7(jr{HTQQhO5{(0i(Iy5mGqAur<)=gM&%zZT*wDTX0mmoBeQSs` zIj(a^8M8v+v*)^*w9r4?p6ath%aj24pCGoG_L`koNhUpO><4!k8GR=VHuxhiHjNl1IsfapZNP5`BRRR>Ys^7*{tNX z>&Jevi;Q_Nk-oNiD??%JQ42qPYT`IcA3sK5M`Fs+1`NnSZe;3?8q{;{Jr^L9a(kJ-22b82}FY zV1U+|BsJfIqe|Mn3$EODKCUYV>uqxllUnxk-DAzXI8qkA+LjtB-cuuhI`iMQvD%6G zXE*7@Te`IT|2EFB0Lgziizicn|C>@?J|Yel{KEnKKA8eu{)hNK78l_bb^hny&@Y4j OIGDi94XdCoQU3u6KgfFk diff --git a/wip-packages/rspress-app/docs/public/rspress-light-logo.png b/wip-packages/rspress-app/docs/public/rspress-light-logo.png deleted file mode 100644 index 1e3442eec5b42eac4d0bae484e4c2eebd1ea9e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6379 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 diff --git a/wip-packages/rspress-app/package.json b/wip-packages/rspress-app/package.json deleted file mode 100644 index 877b22c..0000000 --- a/wip-packages/rspress-app/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "rspress-doc-template", - "version": "1.0.0", - "private": true, - "type": "module", - "scripts": { - "dev": "rspress dev", - "build": "rspress build", - "preview": "rspress preview" - }, - "dependencies": { - "@rspress/core": "^2.0.0-rc.4" - }, - "devDependencies": { - "@types/node": "^16.18.95" - } -} diff --git a/wip-packages/rspress-app/rspress.config.ts b/wip-packages/rspress-app/rspress.config.ts deleted file mode 100644 index 5d55822..0000000 --- a/wip-packages/rspress-app/rspress.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress Plugins', - description: 'Rspack-based Static Site Generator', - icon: '/rspress-icon.png', - logo: { - light: '/rspress-light-logo.png', - dark: '/rspress-dark-logo.png', - }, - themeConfig: { - socialLinks: [ - { icon: 'github', mode: 'link', content: 'https://github.com/web-infra-dev/rspress' }, - ], - }, -}); diff --git a/wip-packages/rspress-app/tsconfig.json b/wip-packages/rspress-app/tsconfig.json deleted file mode 100644 index fb91f14..0000000 --- a/wip-packages/rspress-app/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "jsx": "react-jsx", - "esModuleInterop": true - } -} diff --git a/wip-packages/rspress-plugin-comment/README.md b/wip-packages/rspress-plugin-comment/README.md deleted file mode 100644 index fbb652e..0000000 --- a/wip-packages/rspress-plugin-comment/README.md +++ /dev/null @@ -1 +0,0 @@ -# rspress-plugin-obsidian diff --git a/wip-packages/rspress-plugin-comment/docs/index.md b/wip-packages/rspress-plugin-comment/docs/index.md deleted file mode 100644 index 67e36f4..0000000 --- a/wip-packages/rspress-plugin-comment/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -# RSPress diff --git a/wip-packages/rspress-plugin-comment/package.json b/wip-packages/rspress-plugin-comment/package.json deleted file mode 100644 index 94329e2..0000000 --- a/wip-packages/rspress-plugin-comment/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "rspress-plugin-comment", - "version": "1.0.0", - "main": "dist/index.js", - "type": "module", - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "@giscus/react": "^3.0.0", - "rspress-plugin-devkit": "workspace:^" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - } -} diff --git a/wip-packages/rspress-plugin-comment/rspress.config.ts b/wip-packages/rspress-plugin-comment/rspress.config.ts deleted file mode 100644 index 85bbb55..0000000 --- a/wip-packages/rspress-plugin-comment/rspress.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import comment from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x Comment Example', - plugins: [ - comment({ - id: 'comments', - repo: 'linbudu599/rspress-plugins', - repoId: 'R_kgDOLoSJ5Q', - mapping: 'pathname', - }), - ], -}); diff --git a/wip-packages/rspress-plugin-comment/src/Giscus.tsx b/wip-packages/rspress-plugin-comment/src/Giscus.tsx deleted file mode 100644 index df9fe6c..0000000 --- a/wip-packages/rspress-plugin-comment/src/Giscus.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default, type GiscusProps } from '@giscus/react'; diff --git a/wip-packages/rspress-plugin-comment/src/index.ts b/wip-packages/rspress-plugin-comment/src/index.ts deleted file mode 100644 index 0cd94cf..0000000 --- a/wip-packages/rspress-plugin-comment/src/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -import path from 'node:path'; - -import { - PresetConfigMutator, - RemarkInsertComponentPluginFactory, -} from 'rspress-plugin-devkit'; - -import type { RspressPlugin } from '@rspress/core'; -import type { GiscusProps } from '@giscus/react'; - -export interface RspressPluginGiscusOptions extends GiscusProps {} - -export default function rspressPluginGiscus( - props: RspressPluginGiscusOptions, -): RspressPlugin { - const remarkInsertGiscus = new RemarkInsertComponentPluginFactory({ - components: [ - { - position: 'post', - componentPath: path.join(__dirname, './Giscus.tsx'), - propsProvider: () => props, - }, - ], - }); - - return { - name: 'rspress-plugin-comment', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, - markdown: { - remarkPlugins: [remarkInsertGiscus.remarkPlugin], - globalComponents: remarkInsertGiscus.mdxComponents, - }, - builderConfig: remarkInsertGiscus.builderConfig, - }; -} diff --git a/wip-packages/rspress-plugin-comment/tsconfig.json b/wip-packages/rspress-plugin-comment/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-comment/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-plugin-pwa/README.md b/wip-packages/rspress-plugin-pwa/README.md deleted file mode 100644 index fbd9174..0000000 --- a/wip-packages/rspress-plugin-pwa/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# rspress-plugin-mermaid ![NPM Version](https://img.shields.io/npm/v/rspress-plugin-mermaid) - -Rspress plugin to render mermaid diagrams in markdown files. - -Write mermaid as code blocks in markdown files and they will be rendered as SVGs: - -````markdown -```mermaid -flowchart TD - A[Christmas] -->|Get money| B(Go shopping) - B --> C{Let me think} - C -->|One| D[Laptop] - C -->|Two| E[iPhone] - C -->|Three| F[fa:fa-car Car] -``` -```` - -
- sample -
- -## Usage - -```bash -npm i rspress-plugin-mermaid -pnpm add rspress-plugin-mermaid -``` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import mermaid from 'rspress-plugin-mermaid'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [mermaid()], -}); -``` - -## Configure - -### mermaidConfig - -Mermaid configuration options, will be passed to `mermaid.initialize` function. See [mermaid documentation](https://mermaid.js.org/config/schema-docs/config.html) for more details. - -- Type: `object` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import mermaid from 'rspress-plugin-mermaid'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [mermaid({ - mermaidConfig: { - theme: 'forest', - }, - })], -}); -``` \ No newline at end of file diff --git a/wip-packages/rspress-plugin-pwa/docs/index.md b/wip-packages/rspress-plugin-pwa/docs/index.md deleted file mode 100644 index c974a87..0000000 --- a/wip-packages/rspress-plugin-pwa/docs/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# RSPress x Mermaid - -```mermaid -flowchart TD - A[Christmas] -->|Get money| B(Go shopping) - B --> C{Let me think} - C -->|One| D[Laptop] - C -->|Two| E[iPhone] - C -->|Three| F[fa:fa-car Car] -``` diff --git a/wip-packages/rspress-plugin-pwa/image.png b/wip-packages/rspress-plugin-pwa/image.png deleted file mode 100644 index bae38b5e27b85ef26cec2a643d0cf9f29a16a87d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54070 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 HqnG~&qA2o7 diff --git a/wip-packages/rspress-plugin-pwa/package.json b/wip-packages/rspress-plugin-pwa/package.json deleted file mode 100644 index 0acf36d..0000000 --- a/wip-packages/rspress-plugin-pwa/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "rspress-plugin-pwa", - "version": "0.1.0", - "description": "Rspress plugin to render mermaid diagrams", - "type": "module", - "keywords": [ - "rspress", - "plugin", - "mermaid" - ], - "homepage": "https://github.com/linbudu599/rspress-plugins/tree/main/packages/rspress-plugin-mermaid#readme", - "bugs": { - "url": "https://github.com/linbudu599/rspress-plugins/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/linbudu599/rspress-plugins.git" - }, - "license": "MIT", - "author": "Linbudu (https://github.com/linbudu599)", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "publishConfig": { - "access": "public" - }, - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "mermaid": "^10.9.0", - "rspress-plugin-devkit": "workspace:^" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "typescript": "^5.4.4" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - } -} diff --git a/wip-packages/rspress-plugin-pwa/rspress.config.ts b/wip-packages/rspress-plugin-pwa/rspress.config.ts deleted file mode 100644 index 72ad8a5..0000000 --- a/wip-packages/rspress-plugin-pwa/rspress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import mermaid from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x Mermaid Example', - plugins: [mermaid()], -}); diff --git a/wip-packages/rspress-plugin-pwa/src/index.ts b/wip-packages/rspress-plugin-pwa/src/index.ts deleted file mode 100644 index 83b0fc8..0000000 --- a/wip-packages/rspress-plugin-pwa/src/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import path from 'node:path'; - -import { - PresetConfigMutator, - RemarkCodeBlockToGlobalComponentPluginFactory, -} from 'rspress-plugin-devkit'; - -import type { RspressPlugin } from '@rspress/core'; - -interface RspressPluginSiteMapOptions {} - -export default function rspressPluginSiteMap( - options: RspressPluginSiteMapOptions = {}, -): RspressPlugin { - return { - name: 'rspress-plugin-sitemap', - }; -} diff --git a/wip-packages/rspress-plugin-pwa/tsconfig.json b/wip-packages/rspress-plugin-pwa/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-pwa/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-plugin-search-page/README.md b/wip-packages/rspress-plugin-search-page/README.md deleted file mode 100644 index f65e14e..0000000 --- a/wip-packages/rspress-plugin-search-page/README.md +++ /dev/null @@ -1 +0,0 @@ -# rspress-plugin-search-page diff --git a/wip-packages/rspress-plugin-search-page/docs/index.md b/wip-packages/rspress-plugin-search-page/docs/index.md deleted file mode 100644 index 215c3d1..0000000 --- a/wip-packages/rspress-plugin-search-page/docs/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# RSPress - -:search-page[]{} diff --git a/wip-packages/rspress-plugin-search-page/package.json b/wip-packages/rspress-plugin-search-page/package.json deleted file mode 100644 index 2439908..0000000 --- a/wip-packages/rspress-plugin-search-page/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "rspress-plugin-search-page", - "version": "1.0.0", - "main": "dist/index.js", - "type": "module", - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "rspress-plugin-devkit": "workspace:^" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - } -} diff --git a/wip-packages/rspress-plugin-search-page/rspress.config.ts b/wip-packages/rspress-plugin-search-page/rspress.config.ts deleted file mode 100644 index 7eb202b..0000000 --- a/wip-packages/rspress-plugin-search-page/rspress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import SearchPage from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x SearchPage Example', - plugins: [SearchPage()], -}); diff --git a/wip-packages/rspress-plugin-search-page/src/SearchPage/index.less b/wip-packages/rspress-plugin-search-page/src/SearchPage/index.less deleted file mode 100644 index e69de29..0000000 diff --git a/wip-packages/rspress-plugin-search-page/src/SearchPage/index.tsx b/wip-packages/rspress-plugin-search-page/src/SearchPage/index.tsx deleted file mode 100644 index bd53b6d..0000000 --- a/wip-packages/rspress-plugin-search-page/src/SearchPage/index.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { usePageData, useDark, useSearchParams } from '@rspress/core/runtime'; -import { - DefaultMatchResult, - MatchResult, - useFullTextSearch, -} from '@rspress/core/theme'; - -import './index.less'; - -const DefaultSearchQueryKey = 'q'; - -export default function SearchPage() { - const dark = useDark(); - - const data = usePageData(); - - const [imperativeSearchRes, setImperativeSearchRes] = useState( - [], - ); - - const [params] = useSearchParams(); - const searchQuery = params.get(DefaultSearchQueryKey); - - const { initialized, search } = useFullTextSearch(); - - useEffect(() => { - if (!searchQuery) return; - if (!initialized) return; - - search(searchQuery) - .then((res) => { - console.log('res: ', res); - setImperativeSearchRes(res); - }) - .catch((err) => { - setImperativeSearchRes([]); - }); - }, [initialized, searchQuery]); - - return ( -

-

SearchPage

-

Search query: {searchQuery}

- {imperativeSearchRes.length > 0 && ( -
    - {imperativeSearchRes.map((res: DefaultMatchResult) => { - return ( -
      - {res.result.map((res) => { - return ( -
    • - {res.title} -
    • - ); - })} -
    - ); - })} -
- )} -
- ); -} diff --git a/wip-packages/rspress-plugin-search-page/src/index.ts b/wip-packages/rspress-plugin-search-page/src/index.ts deleted file mode 100644 index 0a36825..0000000 --- a/wip-packages/rspress-plugin-search-page/src/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import path from 'node:path'; - -import type { RspressPlugin } from '@rspress/core'; -import { PresetConfigMutator } from 'rspress-plugin-devkit'; - -export const componentsPath = path.join(__dirname, './components'); - -export default function rspressPluginSearchPage(): RspressPlugin { - return { - name: 'rspress-plugin-search-page', - config(config) { - return new PresetConfigMutator(config).toConfig(); - }, - addPages(config, isProd) { - return [ - { - routePath: '/search', - filepath: path.join(__dirname, './SearchPage', 'index.tsx'), - }, - ]; - }, - async routeGenerated(routes, isProd) { - console.log('routes: ', routes); - // 这里可以拿到 routes 数组,执行一些操作 - }, - }; -} diff --git a/wip-packages/rspress-plugin-search-page/tsconfig.json b/wip-packages/rspress-plugin-search-page/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-search-page/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-plugin-sitemap/README.md b/wip-packages/rspress-plugin-sitemap/README.md deleted file mode 100644 index fbd9174..0000000 --- a/wip-packages/rspress-plugin-sitemap/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# rspress-plugin-mermaid ![NPM Version](https://img.shields.io/npm/v/rspress-plugin-mermaid) - -Rspress plugin to render mermaid diagrams in markdown files. - -Write mermaid as code blocks in markdown files and they will be rendered as SVGs: - -````markdown -```mermaid -flowchart TD - A[Christmas] -->|Get money| B(Go shopping) - B --> C{Let me think} - C -->|One| D[Laptop] - C -->|Two| E[iPhone] - C -->|Three| F[fa:fa-car Car] -``` -```` - -
- sample -
- -## Usage - -```bash -npm i rspress-plugin-mermaid -pnpm add rspress-plugin-mermaid -``` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import mermaid from 'rspress-plugin-mermaid'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [mermaid()], -}); -``` - -## Configure - -### mermaidConfig - -Mermaid configuration options, will be passed to `mermaid.initialize` function. See [mermaid documentation](https://mermaid.js.org/config/schema-docs/config.html) for more details. - -- Type: `object` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import mermaid from 'rspress-plugin-mermaid'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [mermaid({ - mermaidConfig: { - theme: 'forest', - }, - })], -}); -``` \ No newline at end of file diff --git a/wip-packages/rspress-plugin-sitemap/docs/index.md b/wip-packages/rspress-plugin-sitemap/docs/index.md deleted file mode 100644 index c974a87..0000000 --- a/wip-packages/rspress-plugin-sitemap/docs/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# RSPress x Mermaid - -```mermaid -flowchart TD - A[Christmas] -->|Get money| B(Go shopping) - B --> C{Let me think} - C -->|One| D[Laptop] - C -->|Two| E[iPhone] - C -->|Three| F[fa:fa-car Car] -``` diff --git a/wip-packages/rspress-plugin-sitemap/image.png b/wip-packages/rspress-plugin-sitemap/image.png deleted file mode 100644 index bae38b5e27b85ef26cec2a643d0cf9f29a16a87d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54070 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 HqnG~&qA2o7 diff --git a/wip-packages/rspress-plugin-sitemap/package.json b/wip-packages/rspress-plugin-sitemap/package.json deleted file mode 100644 index a78a318..0000000 --- a/wip-packages/rspress-plugin-sitemap/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "rspress-plugin-sitemap", - "version": "0.1.0", - "description": "Rspress plugin to render mermaid diagrams", - "type": "module", - "keywords": [ - "rspress", - "plugin", - "mermaid" - ], - "homepage": "https://github.com/linbudu599/rspress-plugins/tree/main/packages/rspress-plugin-mermaid#readme", - "bugs": { - "url": "https://github.com/linbudu599/rspress-plugins/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/linbudu599/rspress-plugins.git" - }, - "license": "MIT", - "author": "Linbudu (https://github.com/linbudu599)", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "publishConfig": { - "access": "public" - }, - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "mermaid": "^10.9.0", - "rspress-plugin-devkit": "workspace:^" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "typescript": "^5.4.4" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - } -} diff --git a/wip-packages/rspress-plugin-sitemap/rspress.config.ts b/wip-packages/rspress-plugin-sitemap/rspress.config.ts deleted file mode 100644 index 72ad8a5..0000000 --- a/wip-packages/rspress-plugin-sitemap/rspress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import mermaid from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x Mermaid Example', - plugins: [mermaid()], -}); diff --git a/wip-packages/rspress-plugin-sitemap/src/index.ts b/wip-packages/rspress-plugin-sitemap/src/index.ts deleted file mode 100644 index 83b0fc8..0000000 --- a/wip-packages/rspress-plugin-sitemap/src/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import path from 'node:path'; - -import { - PresetConfigMutator, - RemarkCodeBlockToGlobalComponentPluginFactory, -} from 'rspress-plugin-devkit'; - -import type { RspressPlugin } from '@rspress/core'; - -interface RspressPluginSiteMapOptions {} - -export default function rspressPluginSiteMap( - options: RspressPluginSiteMapOptions = {}, -): RspressPlugin { - return { - name: 'rspress-plugin-sitemap', - }; -} diff --git a/wip-packages/rspress-plugin-sitemap/tsconfig.json b/wip-packages/rspress-plugin-sitemap/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-sitemap/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-theme-geist/README.md b/wip-packages/rspress-theme-geist/README.md deleted file mode 100644 index c0bc183..0000000 --- a/wip-packages/rspress-theme-geist/README.md +++ /dev/null @@ -1 +0,0 @@ -# rspress-theme-geist \ No newline at end of file diff --git a/wip-packages/rspress-theme-geist/docs/index.md b/wip-packages/rspress-theme-geist/docs/index.md deleted file mode 100644 index 5a51d38..0000000 --- a/wip-packages/rspress-theme-geist/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -# Hi! \ No newline at end of file diff --git a/wip-packages/rspress-theme-geist/package.json b/wip-packages/rspress-theme-geist/package.json deleted file mode 100644 index d378ed9..0000000 --- a/wip-packages/rspress-theme-geist/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "rspress-theme-geist", - "version": "1.0.0", - "main": "dist/index.js", - "sideEffects": true, - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "rspress-plugin-devkit": "workspace:^" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - } -} \ No newline at end of file diff --git a/wip-packages/rspress-theme-geist/rspress.config.ts b/wip-packages/rspress-theme-geist/rspress.config.ts deleted file mode 100644 index 895304b..0000000 --- a/wip-packages/rspress-theme-geist/rspress.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress Theme', -}); diff --git a/wip-packages/rspress-theme-geist/src/index.ts b/wip-packages/rspress-theme-geist/src/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/wip-packages/rspress-theme-geist/theme/index.tsx b/wip-packages/rspress-theme-geist/theme/index.tsx deleted file mode 100644 index ec88104..0000000 --- a/wip-packages/rspress-theme-geist/theme/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; - -import { usePageData, Content } from '@rspress/core/runtime'; - -function Layout() { - return ( -

- Custom Theme Layout - -
- ); -} - -const setup = () => {}; - -export { Layout, setup }; diff --git a/wip-packages/rspress-theme-geist/tsconfig.json b/wip-packages/rspress-theme-geist/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-theme-geist/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} From 5d1e426a5ec114530769d581cee328cfcea07194 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 05:13:13 +0800 Subject: [PATCH 12/15] chore: remove some pkgs --- packages/rspress-plugin-toc/CHANGELOG.md | 23 ---- packages/rspress-plugin-toc/README.md | 113 ------------------ packages/rspress-plugin-toc/README.zh-CN.md | 111 ----------------- .../components/TocList.less | 90 -------------- .../rspress-plugin-toc/components/TocList.tsx | 22 ---- packages/rspress-plugin-toc/docs/index.mdx | 29 ----- packages/rspress-plugin-toc/image.png | Bin 89513 -> 0 bytes packages/rspress-plugin-toc/package.json | 51 -------- packages/rspress-plugin-toc/rspress.config.ts | 13 -- packages/rspress-plugin-toc/src/index.ts | 31 ----- .../src/remark-plugins/remark-toc.ts | 98 --------------- packages/rspress-plugin-toc/src/shared.ts | 10 -- packages/rspress-plugin-toc/tsconfig.json | 8 -- .../rspress-plugin-contentful/README.md | 1 - .../rspress-plugin-contentful/docs/index.md | 1 - .../rspress-plugin-contentful/package.json | 28 ----- .../rspress.config.ts | 9 -- .../rspress-plugin-contentful/src/index.ts | 41 ------- .../rspress-plugin-contentful/tsconfig.json | 8 -- .../README.md | 1 - .../docs/index.md | 5 - .../package.json | 28 ----- .../rspress.config.ts | 9 -- .../src/components/GraphQLPlayground.tsx | 16 --- .../src/index.ts | 34 ------ .../tsconfig.json | 8 -- 26 files changed, 788 deletions(-) delete mode 100644 packages/rspress-plugin-toc/CHANGELOG.md delete mode 100644 packages/rspress-plugin-toc/README.md delete mode 100644 packages/rspress-plugin-toc/README.zh-CN.md delete mode 100644 packages/rspress-plugin-toc/components/TocList.less delete mode 100644 packages/rspress-plugin-toc/components/TocList.tsx delete mode 100644 packages/rspress-plugin-toc/docs/index.mdx delete mode 100644 packages/rspress-plugin-toc/image.png delete mode 100644 packages/rspress-plugin-toc/package.json delete mode 100644 packages/rspress-plugin-toc/rspress.config.ts delete mode 100644 packages/rspress-plugin-toc/src/index.ts delete mode 100644 packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts delete mode 100644 packages/rspress-plugin-toc/src/shared.ts delete mode 100644 packages/rspress-plugin-toc/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-contentful/README.md delete mode 100644 wip-packages/rspress-plugin-contentful/docs/index.md delete mode 100644 wip-packages/rspress-plugin-contentful/package.json delete mode 100644 wip-packages/rspress-plugin-contentful/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-contentful/src/index.ts delete mode 100644 wip-packages/rspress-plugin-contentful/tsconfig.json delete mode 100644 wip-packages/rspress-plugin-graphql-playground/README.md delete mode 100644 wip-packages/rspress-plugin-graphql-playground/docs/index.md delete mode 100644 wip-packages/rspress-plugin-graphql-playground/package.json delete mode 100644 wip-packages/rspress-plugin-graphql-playground/rspress.config.ts delete mode 100644 wip-packages/rspress-plugin-graphql-playground/src/components/GraphQLPlayground.tsx delete mode 100644 wip-packages/rspress-plugin-graphql-playground/src/index.ts delete mode 100644 wip-packages/rspress-plugin-graphql-playground/tsconfig.json diff --git a/packages/rspress-plugin-toc/CHANGELOG.md b/packages/rspress-plugin-toc/CHANGELOG.md deleted file mode 100644 index 8442c62..0000000 --- a/packages/rspress-plugin-toc/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -# rspress-plugin-toc - -## 0.3.0 - -### Minor Changes - -- 4001d0c: release latest - -### Patch Changes - -- Updated dependencies [4001d0c] - - rspress-plugin-devkit@0.3.0 - -## 0.2.0 - -### Minor Changes - -- b2062fa: initial release - -### Patch Changes - -- Updated dependencies [b2062fa] - - rspress-plugin-devkit@0.2.0 diff --git a/packages/rspress-plugin-toc/README.md b/packages/rspress-plugin-toc/README.md deleted file mode 100644 index 6da3443..0000000 --- a/packages/rspress-plugin-toc/README.md +++ /dev/null @@ -1,113 +0,0 @@ -# rspress-plugin-toc ![NPM Version](https://img.shields.io/npm/v/rspress-plugin-toc) - -[简体中文](./README.zh-CN.md) - -Rspress plugin that injects a table of contents into the page. - -
- sample -
- -## Compares to built-in Toc component - -Rspress provides a built-in [``](https://rspress.dev/zh/api/client-api/api-components.html#table-of-contents) component that can be used to generate a table of contents. So, what are the situations where you would need this plugin? - -- ✅ You want to be able to set the max depth of the headings that present in the Toc component → See [maxDepth](#maxdepth). -- ✅ You want to automatically insert the Toc component for every page, instead of importing it manually → See [useOfficialComponent](#useofficialcomponent). -- ✅ You want to inject the Toc component with a toc heading(like `## Table of Contents`) → See [tocHeading](#tocheading). - -**The Toc component inserted by this plugin exactly replicates the style of the rspress built-in Toc component.**(Huge thanks to the rspress team for creating such a beautiful component!) - -## Usage - -```bash -npm i rspress-plugin-toc -pnpm add rspress-plugin-toc -``` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [toc()], -}); -``` - -## Configure - -### useOfficialComponent - -Whether to use the built-in Toc component provided by rspress. - -- Type: `boolean` -- Default: `false` - -If this option is enabled, the plugin will simply automatically inject the `import { Toc } from 'rspress/theme'` import statement before each file and place the `` component in the appropriate place. - -**Also, options other than `tocHeading` will be ignored.** - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [ - toc({ - useOfficialComponent: true, - }), - ], -}); -``` - -### tocHeading - -The heading to display before the table of contents, set to `false` to prevent the heading from being displayed. - -- Type: `string | boolean` -- Default: `Table of Contents` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [ - toc({ - tocHeading: '内容导航', - }), - ], -}); -``` - -### maxDepth - -Max heading level to display in the table of contents. - -- Type: `number` -- Default: `4` - -See [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) for more information. - -### skip - -Ignore these headings when generating the table of contents. - -- Type: `string` - -See [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) for more information. - -### tight - -Whether to use tight list items in the table of contents. - -- Type: `boolean` -- Default: `true` - -See [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) for more information. diff --git a/packages/rspress-plugin-toc/README.zh-CN.md b/packages/rspress-plugin-toc/README.zh-CN.md deleted file mode 100644 index 934db38..0000000 --- a/packages/rspress-plugin-toc/README.zh-CN.md +++ /dev/null @@ -1,111 +0,0 @@ -# rspress-plugin-toc ![NPM Version](https://img.shields.io/npm/v/rspress-plugin-toc) - -自动为你的文档页面生成内容导航。 - -
- sample -
- -## 对比内置的 Toc 组件 - -Rspress 提供了内置的 [``](https://rspress.dev/zh/api/client-api/api-components.html#table-of-contents) 组件,可以用于生成内容导航。那么,你会在什么情况下需要这个插件? - -- ✅ 你想要在内容导航前插入一个标题(如 `## 内容导航`) → 查看 [tocHeading](#tocheading)。 -- ✅ 你想要自动为每个页面插入 Toc 组件,而不是手动在页面上导入。 → 查看 [useOfficialComponent](#useofficialcomponent)。 -- ✅ 你想要设置内容导航中显示的标题的最大深度 → 查看 [maxDepth](#maxdepth)。 - -**此插件插入的 Toc 组件完全复制了 rspress 内置的 Toc 组件的样式。**(非常感谢 rspress 团队创建了这样一个高大上的组件!) - -## Usage - -```bash -npm i rspress-plugin-toc -pnpm add rspress-plugin-toc -``` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [toc()], -}); -``` - -## 配置 - -### useOfficialComponent - -是否使用 rspress 提供的内置 Toc 组件。 - -- Type: `boolean` -- Default: `false` - -如果启用此选项,插件将只会简单地在每个文件之前自动注入 `import { Toc } from 'rspress/theme'` 导入语句,并将 `` 组件放在适当的位置。 - -**此外,除了 `tocHeading` 之外的选项将被忽略。** - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [ - toc({ - useOfficialComponent: true, - }), - ], -}); -``` - -### tocHeading - -显示在内容导航前的标题,设置为 `false` 来禁用标题插入。 - -- Type: `string | boolean` -- Default: `Table of Contents` - -```ts -import * as path from 'path'; -import { defineConfig } from 'rspress/config'; -import toc from 'rspress-plugin-toc'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - plugins: [ - toc({ - tocHeading: '内容导航', - }), - ], -}); -``` - -### maxDepth - -展示在内容导航中的标题的最大深度。 - -- Type: `number` -- Default: `4` - -查看 [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) 获取更多信息。 - -### skip - -忽略生成内容导航时的这些标题。 - -- Type: `string` - -查看 [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) 获取更多信息。 - -### tight - -是否在内容导航中使用紧凑的列表项。 - -- Type: `boolean` -- Default: `true` - -查看 [mdast-util-toc#options](https://github.com/syntax-tree/mdast-util-toc?tab=readme-ov-file#options) 获取更多信息。 diff --git a/packages/rspress-plugin-toc/components/TocList.less b/packages/rspress-plugin-toc/components/TocList.less deleted file mode 100644 index 9a04618..0000000 --- a/packages/rspress-plugin-toc/components/TocList.less +++ /dev/null @@ -1,90 +0,0 @@ -@rp-toc-container: ~'rp-toc-container'; - -@rp-toc-heading-color-light: ~'rgba(60, 60, 60, 0.66)'; - -@rp-toc-heading-hover-color-light: #213547; -@rp-toc-heading-hover-bg-color-light: #f1f1f1; - -@rp-toc-heading-color-dark: ~'rgba(235, 235, 235, 0.56)'; - -@rp-toc-heading-hover-color-dark: rgba(255, 255, 255, 0.87); -@rp-toc-heading-hover-bg-color-dark: #3a3a3a; - -.@{rp-toc-container} { - @media print { - display: none; - } - - ul, - ol { - list-style: none; - margin: 0; - padding: 0; - - li { - margin-top: 0 !important; - - a { - display: block; - border-radius: 0.5rem; - transition: all 0.3s; - font-size: 0.875rem; - line-height: 1.25rem; - - font-weight: 400 !important; - - padding: 6px 12px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - transition: all 0.2s ease-in-out; - border-radius: 0.5rem; - - border-bottom: none !important; - - color: @rp-toc-heading-color-dark; - - &:hover { - background-color: @rp-toc-heading-hover-bg-color-dark; - color: @rp-toc-heading-hover-color-dark; - } - } - - & > ul { - padding-left: 12px; - } - } - } -} - -.@{rp-toc-container}-dark { - ul, - ol { - li { - a { - color: @rp-toc-heading-color-dark; - - &:hover { - background-color: @rp-toc-heading-hover-bg-color-dark; - color: @rp-toc-heading-hover-color-dark; - } - } - } - } -} - -.@{rp-toc-container}-light { - ul, - ol { - li { - a { - color: @rp-toc-heading-color-light; - - &:hover { - background-color: @rp-toc-heading-hover-bg-color-light; - color: @rp-toc-heading-hover-color-light; - } - } - } - } -} diff --git a/packages/rspress-plugin-toc/components/TocList.tsx b/packages/rspress-plugin-toc/components/TocList.tsx deleted file mode 100644 index adf8883..0000000 --- a/packages/rspress-plugin-toc/components/TocList.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import { useDark } from '@rspress/core/runtime'; - -import './TocList.less'; - -export interface TocComponentProps extends React.PropsWithChildren {} - -const Toc: React.FC = (props) => { - const dark = useDark(); - - return ( -
- {props.children} -
- ); -}; - -export default Toc; diff --git a/packages/rspress-plugin-toc/docs/index.mdx b/packages/rspress-plugin-toc/docs/index.mdx deleted file mode 100644 index 9577b4d..0000000 --- a/packages/rspress-plugin-toc/docs/index.mdx +++ /dev/null @@ -1,29 +0,0 @@ -import { Toc } from 'rspress/theme'; - -# RSPress x TOC - - - -## Introduction - -### What is RSPress x TOC? - -#### Heading 4 - -##### Heading 5 - -###### Heading 6 - -### Features - -## Installation - -### Install via npm - -### Install via yarn - -## Usage - -### Code block usage - -## License diff --git a/packages/rspress-plugin-toc/image.png b/packages/rspress-plugin-toc/image.png deleted file mode 100644 index fb444e7183c4240fbb57e8b50385c5686906ef05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89513 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 z 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 Fe*nk94w(P| diff --git a/packages/rspress-plugin-toc/package.json b/packages/rspress-plugin-toc/package.json deleted file mode 100644 index 62cf8a9..0000000 --- a/packages/rspress-plugin-toc/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "rspress-plugin-toc", - "version": "0.3.0", - "description": "Rspress plugin that add a table of contents to your document page.", - "type": "module", - "files": [ - "dist", - "components" - ], - "keywords": [ - "rspress", - "plugin", - "table of contents", - "toc" - ], - "homepage": "https://github.com/linbudu599/rspress-plugins/tree/main/packages/rspress-plugin-toc#readme", - "bugs": { - "url": "https://github.com/linbudu599/rspress-plugins/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/linbudu599/rspress-plugins.git" - }, - "license": "MIT", - "author": "Linbudu (https://github.com/linbudu599)", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "publishConfig": { - "access": "public" - }, - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "mdast-util-toc": "^7.1.0", - "rspress-plugin-devkit": "workspace:^" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - } -} diff --git a/packages/rspress-plugin-toc/rspress.config.ts b/packages/rspress-plugin-toc/rspress.config.ts deleted file mode 100644 index 943fe06..0000000 --- a/packages/rspress-plugin-toc/rspress.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import toc from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x Toc Example', - plugins: [ - toc({ - useOfficialComponent: false, - }), - ], -}); diff --git a/packages/rspress-plugin-toc/src/index.ts b/packages/rspress-plugin-toc/src/index.ts deleted file mode 100644 index dc677de..0000000 --- a/packages/rspress-plugin-toc/src/index.ts +++ /dev/null @@ -1,31 +0,0 @@ -import path from 'node:path'; - -import { PresetConfigMutator } from 'rspress-plugin-devkit'; - -import remarkTocPluginFactory, { - type RemarkTocOptions, -} from './remark-plugins/remark-toc'; - -import type { RspressPlugin } from '@rspress/core'; -import type { TocOptions } from './shared'; - -export interface RspressPluginTocOptions extends TocOptions {} - -export default function rspressPluginToc( - options: RspressPluginTocOptions = {}, -): RspressPlugin { - const { useOfficialComponent = false } = options; - - return { - name: 'rspress-plugin-toc', - // config not needed for Rspress V2 - markdown: { - remarkPlugins: [ - [remarkTocPluginFactory(), options satisfies RemarkTocOptions], - ], - globalComponents: useOfficialComponent - ? [] - : [path.join(__dirname, '../components/TocList.tsx')], - }, - }; -} diff --git a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts b/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts deleted file mode 100644 index ff98885..0000000 --- a/packages/rspress-plugin-toc/src/remark-plugins/remark-toc.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { - MDASTNodeFactory, - MdxJsxElementFactory, - type RemarkPluginFactory, -} from 'rspress-plugin-devkit'; - -import { toc } from 'mdast-util-toc'; - -import type { TocOptions } from '../shared'; - -export interface RemarkTocOptions extends TocOptions {} - -export default function remarkTocPluginFactory(): RemarkPluginFactory { - return (options) => { - const { - maxDepth = 4, - tight = true, - ordered = false, - tocHeading = true, - useOfficialComponent = false, - skip, - } = options; - - const enableInjectTocHeading = tocHeading !== false; - - const tocHeadingText = - typeof tocHeading === 'string' - ? tocHeading - : tocHeading === true - ? 'Table of Contents' - : ''; - - return (tree, vfile) => { - const firstH1Heading = tree.children.findIndex((c) => { - return c.type === 'heading' && c.depth === 1; - }); - - if (enableInjectTocHeading) { - tree.children.splice( - firstH1Heading + 1, - 0, - MDASTNodeFactory.createHeadingNode(tocHeadingText, 2), - ); - } - - if (useOfficialComponent) { - tree.children.splice( - enableInjectTocHeading ? firstH1Heading + 2 : firstH1Heading + 1, - 0, - MdxJsxElementFactory.createMdxJsxFlowElementNode({}, 'Toc'), - ); - - tree.children.unshift( - MdxJsxElementFactory.createMdxJsxImportStatementNode( - ['Toc'], - '@rspress/core/theme', - ), - ); - - return; - } - - // @ts-ignore - mdast-util-toc types incompatible with mdast v4 - const result = toc(tree, { - maxDepth, - tight, - ordered, - skip, - heading: tocHeadingText, - }); - - if ( - result.endIndex === undefined || - result.endIndex === -1 || - result.index === undefined || - result.index === -1 || - !result.map - ) { - return; - } - - // @ts-ignore - mdast types version mismatch - tree.children = [ - ...tree.children.slice(0, result.index!), - MdxJsxElementFactory.createMdxJsxFlowElementNode( - {}, - { - componentName: 'TocList', - childrenProvider: () => { - return result.map ? [result.map] : []; - }, - }, - ), - ...tree.children.slice(result.endIndex!), - ]; - }; - }; -} diff --git a/packages/rspress-plugin-toc/src/shared.ts b/packages/rspress-plugin-toc/src/shared.ts deleted file mode 100644 index ed9b481..0000000 --- a/packages/rspress-plugin-toc/src/shared.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Rank } from 'mdast-util-toc/lib/search'; - -export interface TocOptions { - useOfficialComponent?: boolean; - maxDepth?: Rank; - skip?: string; - tight?: boolean; - ordered?: boolean; - tocHeading?: string | boolean; -} diff --git a/packages/rspress-plugin-toc/tsconfig.json b/packages/rspress-plugin-toc/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/packages/rspress-plugin-toc/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-plugin-contentful/README.md b/wip-packages/rspress-plugin-contentful/README.md deleted file mode 100644 index 05a73b3..0000000 --- a/wip-packages/rspress-plugin-contentful/README.md +++ /dev/null @@ -1 +0,0 @@ -# rspress-plugin-contentful diff --git a/wip-packages/rspress-plugin-contentful/docs/index.md b/wip-packages/rspress-plugin-contentful/docs/index.md deleted file mode 100644 index 2b242bc..0000000 --- a/wip-packages/rspress-plugin-contentful/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -# RSPress x Contentful diff --git a/wip-packages/rspress-plugin-contentful/package.json b/wip-packages/rspress-plugin-contentful/package.json deleted file mode 100644 index 0b59428..0000000 --- a/wip-packages/rspress-plugin-contentful/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "rspress-plugin-contentful", - "version": "1.0.0", - "main": "dist/index.js", - "type": "module", - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "contentful": "^10.8.7", - "contentful-management": "^11.24.3", - "dotenv": "^16.4.5", - "rspress-plugin-devkit": "workspace:^" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - } -} diff --git a/wip-packages/rspress-plugin-contentful/rspress.config.ts b/wip-packages/rspress-plugin-contentful/rspress.config.ts deleted file mode 100644 index e4ee71f..0000000 --- a/wip-packages/rspress-plugin-contentful/rspress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import contentful from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x Contentful Example', - plugins: [contentful()], -}); diff --git a/wip-packages/rspress-plugin-contentful/src/index.ts b/wip-packages/rspress-plugin-contentful/src/index.ts deleted file mode 100644 index 676c9a2..0000000 --- a/wip-packages/rspress-plugin-contentful/src/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import path from 'node:path'; - -import * as contentful from 'contentful'; -import contentfulManagement from 'contentful-management'; - -import { config } from 'dotenv'; - -config(); - -import type { RspressPlugin } from '@rspress/core'; -import { PresetConfigMutator } from 'rspress-plugin-devkit'; - -export const componentsPath = path.join(__dirname, './components'); - -export default function rspressPlugincontentful(): RspressPlugin { - return { - name: 'rspress-plugin-contentful', - config(config) { - return new PresetConfigMutator(config).toConfig(); - }, - async addPages(config, isProd) { - const { CONTENTFUL_SPACE_ID, CONTENTFUL_DELIVERY_AT } = process.env; - - const client = contentful.createClient({ - space: CONTENTFUL_SPACE_ID, - accessToken: CONTENTFUL_DELIVERY_AT, - }); - - const entries = await client.getEntries(); - - return entries.items.map((entry) => { - return { - routePath: entry.sys.id, - // TODO: RICHTEXT TO MARKDOWN - // content: entry.fields['body'], - content: '# Content from contentful!', - }; - }); - }, - }; -} diff --git a/wip-packages/rspress-plugin-contentful/tsconfig.json b/wip-packages/rspress-plugin-contentful/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-contentful/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} diff --git a/wip-packages/rspress-plugin-graphql-playground/README.md b/wip-packages/rspress-plugin-graphql-playground/README.md deleted file mode 100644 index 29b6b81..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/README.md +++ /dev/null @@ -1 +0,0 @@ -# rspress-plugin-graphql-playground diff --git a/wip-packages/rspress-plugin-graphql-playground/docs/index.md b/wip-packages/rspress-plugin-graphql-playground/docs/index.md deleted file mode 100644 index dcdaa92..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/docs/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# Oops - -```graphql -ddd -``` diff --git a/wip-packages/rspress-plugin-graphql-playground/package.json b/wip-packages/rspress-plugin-graphql-playground/package.json deleted file mode 100644 index cc97639..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "rspress-plugin-graphql-playground", - "version": "1.0.0", - "main": "dist/index.js", - "type": "module", - "scripts": { - "build": "tsc --declarationMap false", - "dev": "tsc -w", - "docs:build": "rspress build", - "docs:dev": "rspress dev" - }, - "dependencies": { - "@geist-ui/core": "^2.3.8", - "graphql-playground-react": "^1.7.28", - "react-redux": "^9.1.0", - "rspress-plugin-devkit": "workspace:^" - }, - "peerDependencies": { - "@rspress/core": "^2.0.0-rc.4 || ^2.0.0" - }, - "devDependencies": { - "@types/node": "^20.12.5", - "@types/react": "^18.2.74", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.4.4" - } -} diff --git a/wip-packages/rspress-plugin-graphql-playground/rspress.config.ts b/wip-packages/rspress-plugin-graphql-playground/rspress.config.ts deleted file mode 100644 index 1fa6fd9..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/rspress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from '@rspress/core'; -import graphql from './src'; - -export default defineConfig({ - root: path.join(__dirname, 'docs'), - title: 'Rspress x GraphQL Playground Example', - plugins: [graphql()], -}); diff --git a/wip-packages/rspress-plugin-graphql-playground/src/components/GraphQLPlayground.tsx b/wip-packages/rspress-plugin-graphql-playground/src/components/GraphQLPlayground.tsx deleted file mode 100644 index 8861940..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/src/components/GraphQLPlayground.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { Provider } from 'react-redux'; -import { Playground, store } from 'graphql-playground-react'; - -const GraphQLPlayground: React.FC = () => { - return ( -

- GraphQL Playground - - - -

- ); -}; - -export default GraphQLPlayground; diff --git a/wip-packages/rspress-plugin-graphql-playground/src/index.ts b/wip-packages/rspress-plugin-graphql-playground/src/index.ts deleted file mode 100644 index 10aeecd..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/src/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import path from 'node:path'; - -import { - PresetConfigMutator, - RemarkCodeBlockToGlobalComponentPluginFactory, -} from 'rspress-plugin-devkit'; - -import type { RspressPlugin } from '@rspress/core'; - -export const componentsPath = path.join(__dirname, './components'); - -export default function rspressPluginGraphQLPlayground(): RspressPlugin { - const remarkInsertGraphQLPlayground = - new RemarkCodeBlockToGlobalComponentPluginFactory({ - components: [ - { - lang: 'graphql', - componentPath: path.join(componentsPath, './GraphQLPlayground.tsx'), - }, - ], - }); - - return { - name: 'rspress-plugin-graphql-playground', - config(config) { - return new PresetConfigMutator(config).disableMdxRs().toConfig(); - }, - markdown: { - remarkPlugins: [remarkInsertGraphQLPlayground.remarkPlugin], - globalComponents: remarkInsertGraphQLPlayground.mdxComponents, - }, - builderConfig: remarkInsertGraphQLPlayground.builderConfig, - }; -} diff --git a/wip-packages/rspress-plugin-graphql-playground/tsconfig.json b/wip-packages/rspress-plugin-graphql-playground/tsconfig.json deleted file mode 100644 index 6be36b2..0000000 --- a/wip-packages/rspress-plugin-graphql-playground/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"], - "extends": "../../tsconfig.base.json" -} From 732b475c60fa9129c97f170114caa5b4c06fc6d8 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 23:31:23 +0800 Subject: [PATCH 13/15] docs(changeset): feat: Compatible with V2 Rspress --- .changeset/old-moose-teach.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/old-moose-teach.md diff --git a/.changeset/old-moose-teach.md b/.changeset/old-moose-teach.md new file mode 100644 index 0000000..a5c7746 --- /dev/null +++ b/.changeset/old-moose-teach.md @@ -0,0 +1,17 @@ +--- +"rspress-plugin-google-analytics": major +"rspress-plugin-vercel-analytics": major +"rspress-plugin-reading-time": major +"rspress-plugin-align-image": major +"rspress-plugin-back-to-top": major +"rspress-plugin-directives": major +"rspress-plugin-file-tree": major +"rspress-plugin-gh-pages": major +"rspress-plugin-supersub": major +"rspress-plugin-mermaid": major +"rspress-plugin-devkit": major +"rspress-plugin-live2d": major +"rspress-plugin-katex": major +--- + +feat: Compatible with V2 Rspress From d9dd0383fcd566644c3f35837fb1f411c88e50a9 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 23:31:43 +0800 Subject: [PATCH 14/15] RELEASING: Releasing 13 package(s) Releases: rspress-plugin-google-analytics@1.0.0 rspress-plugin-vercel-analytics@1.0.0 rspress-plugin-reading-time@1.0.0 rspress-plugin-align-image@1.0.0 rspress-plugin-back-to-top@1.0.0 rspress-plugin-directives@1.0.0 rspress-plugin-file-tree@1.0.0 rspress-plugin-gh-pages@1.0.0 rspress-plugin-supersub@1.0.0 rspress-plugin-mermaid@1.0.0 rspress-plugin-devkit@1.0.0 rspress-plugin-live2d@1.0.0 rspress-plugin-katex@1.0.0 [skip ci] --- .changeset/old-moose-teach.md | 17 ----------------- .../rspress-plugin-align-image/CHANGELOG.md | 11 +++++++++++ .../rspress-plugin-align-image/package.json | 2 +- .../rspress-plugin-back-to-top/CHANGELOG.md | 11 +++++++++++ .../rspress-plugin-back-to-top/package.json | 2 +- packages/rspress-plugin-devkit/CHANGELOG.md | 6 ++++++ packages/rspress-plugin-devkit/package.json | 2 +- packages/rspress-plugin-directives/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-directives/package.json | 2 +- packages/rspress-plugin-file-tree/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-file-tree/package.json | 2 +- packages/rspress-plugin-gh-pages/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-gh-pages/package.json | 2 +- .../CHANGELOG.md | 11 +++++++++++ .../package.json | 2 +- packages/rspress-plugin-katex/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-katex/package.json | 2 +- packages/rspress-plugin-live2d/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-live2d/package.json | 2 +- packages/rspress-plugin-mermaid/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-mermaid/package.json | 2 +- .../rspress-plugin-reading-time/CHANGELOG.md | 11 +++++++++++ .../rspress-plugin-reading-time/package.json | 2 +- packages/rspress-plugin-supersub/CHANGELOG.md | 11 +++++++++++ packages/rspress-plugin-supersub/package.json | 2 +- .../CHANGELOG.md | 11 +++++++++++ .../package.json | 2 +- 27 files changed, 151 insertions(+), 30 deletions(-) delete mode 100644 .changeset/old-moose-teach.md diff --git a/.changeset/old-moose-teach.md b/.changeset/old-moose-teach.md deleted file mode 100644 index a5c7746..0000000 --- a/.changeset/old-moose-teach.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"rspress-plugin-google-analytics": major -"rspress-plugin-vercel-analytics": major -"rspress-plugin-reading-time": major -"rspress-plugin-align-image": major -"rspress-plugin-back-to-top": major -"rspress-plugin-directives": major -"rspress-plugin-file-tree": major -"rspress-plugin-gh-pages": major -"rspress-plugin-supersub": major -"rspress-plugin-mermaid": major -"rspress-plugin-devkit": major -"rspress-plugin-live2d": major -"rspress-plugin-katex": major ---- - -feat: Compatible with V2 Rspress diff --git a/packages/rspress-plugin-align-image/CHANGELOG.md b/packages/rspress-plugin-align-image/CHANGELOG.md index d23c8d2..16bbc5a 100644 --- a/packages/rspress-plugin-align-image/CHANGELOG.md +++ b/packages/rspress-plugin-align-image/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-align-image +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-align-image/package.json b/packages/rspress-plugin-align-image/package.json index ec62053..18527b1 100644 --- a/packages/rspress-plugin-align-image/package.json +++ b/packages/rspress-plugin-align-image/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-align-image", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin for aligning images", "type": "module", "keywords": [ diff --git a/packages/rspress-plugin-back-to-top/CHANGELOG.md b/packages/rspress-plugin-back-to-top/CHANGELOG.md index 08bbe72..65c90d3 100644 --- a/packages/rspress-plugin-back-to-top/CHANGELOG.md +++ b/packages/rspress-plugin-back-to-top/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-back-to-top +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-back-to-top/package.json b/packages/rspress-plugin-back-to-top/package.json index 192f88b..c586998 100644 --- a/packages/rspress-plugin-back-to-top/package.json +++ b/packages/rspress-plugin-back-to-top/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-back-to-top", - "version": "0.3.0", + "version": "1.0.0", "files": [ "dist" ], diff --git a/packages/rspress-plugin-devkit/CHANGELOG.md b/packages/rspress-plugin-devkit/CHANGELOG.md index 9236a2e..d8c1262 100644 --- a/packages/rspress-plugin-devkit/CHANGELOG.md +++ b/packages/rspress-plugin-devkit/CHANGELOG.md @@ -1,5 +1,11 @@ # rspress-plugin-devkit +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-devkit/package.json b/packages/rspress-plugin-devkit/package.json index ed6f958..c05fd76 100644 --- a/packages/rspress-plugin-devkit/package.json +++ b/packages/rspress-plugin-devkit/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-devkit", - "version": "0.3.0", + "version": "1.0.0", "files": [ "dist" ], diff --git a/packages/rspress-plugin-directives/CHANGELOG.md b/packages/rspress-plugin-directives/CHANGELOG.md index 49623af..8ade781 100644 --- a/packages/rspress-plugin-directives/CHANGELOG.md +++ b/packages/rspress-plugin-directives/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-directives +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-directives/package.json b/packages/rspress-plugin-directives/package.json index 6e581bf..662ef16 100644 --- a/packages/rspress-plugin-directives/package.json +++ b/packages/rspress-plugin-directives/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-directives", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin for custom directives transformation.", "type": "module", "files": [ diff --git a/packages/rspress-plugin-file-tree/CHANGELOG.md b/packages/rspress-plugin-file-tree/CHANGELOG.md index c2d9ab2..0682038 100644 --- a/packages/rspress-plugin-file-tree/CHANGELOG.md +++ b/packages/rspress-plugin-file-tree/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-file-tree +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.4.0 ### Minor Changes diff --git a/packages/rspress-plugin-file-tree/package.json b/packages/rspress-plugin-file-tree/package.json index a2669c9..3f289fd 100644 --- a/packages/rspress-plugin-file-tree/package.json +++ b/packages/rspress-plugin-file-tree/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-file-tree", - "version": "0.4.0", + "version": "1.0.0", "description": "Rspress plugin that add support for file tree component.", "files": [ "dist" diff --git a/packages/rspress-plugin-gh-pages/CHANGELOG.md b/packages/rspress-plugin-gh-pages/CHANGELOG.md index 21850fe..37ed623 100644 --- a/packages/rspress-plugin-gh-pages/CHANGELOG.md +++ b/packages/rspress-plugin-gh-pages/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-gh-pages +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-gh-pages/package.json b/packages/rspress-plugin-gh-pages/package.json index f86348e..c2eff9b 100644 --- a/packages/rspress-plugin-gh-pages/package.json +++ b/packages/rspress-plugin-gh-pages/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-gh-pages", - "version": "0.3.0", + "version": "1.0.0", "files": [ "dist" ], diff --git a/packages/rspress-plugin-google-analytics/CHANGELOG.md b/packages/rspress-plugin-google-analytics/CHANGELOG.md index 72db42b..751227b 100644 --- a/packages/rspress-plugin-google-analytics/CHANGELOG.md +++ b/packages/rspress-plugin-google-analytics/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-google-analytics +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-google-analytics/package.json b/packages/rspress-plugin-google-analytics/package.json index 5735506..e4d952e 100644 --- a/packages/rspress-plugin-google-analytics/package.json +++ b/packages/rspress-plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-google-analytics", - "version": "0.3.0", + "version": "1.0.0", "description": "rspress plugin for google analytics", "type": "module", "files": [ diff --git a/packages/rspress-plugin-katex/CHANGELOG.md b/packages/rspress-plugin-katex/CHANGELOG.md index ab73b88..8e737e4 100644 --- a/packages/rspress-plugin-katex/CHANGELOG.md +++ b/packages/rspress-plugin-katex/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-katex +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-katex/package.json b/packages/rspress-plugin-katex/package.json index c1ff673..ccd88a9 100644 --- a/packages/rspress-plugin-katex/package.json +++ b/packages/rspress-plugin-katex/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-katex", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin to render math with KaTeX", "type": "module", "files": [ diff --git a/packages/rspress-plugin-live2d/CHANGELOG.md b/packages/rspress-plugin-live2d/CHANGELOG.md index a110a77..eb02466 100644 --- a/packages/rspress-plugin-live2d/CHANGELOG.md +++ b/packages/rspress-plugin-live2d/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-live2d +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-live2d/package.json b/packages/rspress-plugin-live2d/package.json index 8829775..cf92d48 100644 --- a/packages/rspress-plugin-live2d/package.json +++ b/packages/rspress-plugin-live2d/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-live2d", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin with live 2d.", "type": "module", "files": [ diff --git a/packages/rspress-plugin-mermaid/CHANGELOG.md b/packages/rspress-plugin-mermaid/CHANGELOG.md index 16a9237..3978d67 100644 --- a/packages/rspress-plugin-mermaid/CHANGELOG.md +++ b/packages/rspress-plugin-mermaid/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-mermaid +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-mermaid/package.json b/packages/rspress-plugin-mermaid/package.json index ebdbe8b..87e4e48 100644 --- a/packages/rspress-plugin-mermaid/package.json +++ b/packages/rspress-plugin-mermaid/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-mermaid", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin to render mermaid diagrams", "type": "module", "files": [ diff --git a/packages/rspress-plugin-reading-time/CHANGELOG.md b/packages/rspress-plugin-reading-time/CHANGELOG.md index ffd7c18..bff0768 100644 --- a/packages/rspress-plugin-reading-time/CHANGELOG.md +++ b/packages/rspress-plugin-reading-time/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-reading-time +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-reading-time/package.json b/packages/rspress-plugin-reading-time/package.json index a02de93..30a4fb5 100644 --- a/packages/rspress-plugin-reading-time/package.json +++ b/packages/rspress-plugin-reading-time/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-reading-time", - "version": "0.3.0", + "version": "1.0.0", "type": "module", "files": [ "dist", diff --git a/packages/rspress-plugin-supersub/CHANGELOG.md b/packages/rspress-plugin-supersub/CHANGELOG.md index 8406e0e..ff6d4d5 100644 --- a/packages/rspress-plugin-supersub/CHANGELOG.md +++ b/packages/rspress-plugin-supersub/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-supersub +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-supersub/package.json b/packages/rspress-plugin-supersub/package.json index 7c305d1..2cc76ef 100644 --- a/packages/rspress-plugin-supersub/package.json +++ b/packages/rspress-plugin-supersub/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-supersub", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin that add support for superscript and subscript", "type": "module", "files": [ diff --git a/packages/rspress-plugin-vercel-analytics/CHANGELOG.md b/packages/rspress-plugin-vercel-analytics/CHANGELOG.md index 112b45a..7308cbf 100644 --- a/packages/rspress-plugin-vercel-analytics/CHANGELOG.md +++ b/packages/rspress-plugin-vercel-analytics/CHANGELOG.md @@ -1,5 +1,16 @@ # rspress-plugin-vercel-analytics +## 1.0.0 + +### Major Changes + +- 732b475: feat: Compatible with V2 Rspress + +### Patch Changes + +- Updated dependencies [732b475] + - rspress-plugin-devkit@1.0.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/rspress-plugin-vercel-analytics/package.json b/packages/rspress-plugin-vercel-analytics/package.json index fac96a5..be47ea1 100644 --- a/packages/rspress-plugin-vercel-analytics/package.json +++ b/packages/rspress-plugin-vercel-analytics/package.json @@ -1,6 +1,6 @@ { "name": "rspress-plugin-vercel-analytics", - "version": "0.3.0", + "version": "1.0.0", "description": "Rspress plugin for vercel analytics", "type": "module", "files": [ From a57daa2c5a262da2c8096bc2785421f1aab76909 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Wed, 7 Jan 2026 23:53:04 +0800 Subject: [PATCH 15/15] chore: remove some pkgs --- pnpm-lock.yaml | 3008 ++---------------------------------------------- 1 file changed, 120 insertions(+), 2888 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cfea5b3..218d578 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -414,34 +414,6 @@ importers: specifier: ^5.4.4 version: 5.4.4 - packages/rspress-plugin-toc: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - mdast-util-toc: - specifier: ^7.1.0 - version: 7.1.0 - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - packages/rspress-plugin-vercel-analytics: dependencies: '@rspress/core': @@ -464,206 +436,6 @@ importers: specifier: ^5.4.4 version: 5.4.4 - wip-packages/rspress-app: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 - version: 2.0.0-rc.4(@types/react@18.2.74) - devDependencies: - '@types/node': - specifier: ^16.18.95 - version: 16.18.95 - - wip-packages/rspress-plugin-comment: - dependencies: - '@giscus/react': - specifier: ^3.0.0 - version: 3.0.0(react-dom@18.2.0)(react@18.2.0) - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-plugin-contentful: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - contentful: - specifier: ^10.8.7 - version: 10.8.7 - contentful-management: - specifier: ^11.24.3 - version: 11.24.3 - dotenv: - specifier: ^16.4.5 - version: 16.4.5 - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-plugin-graphql-playground: - dependencies: - '@geist-ui/core': - specifier: ^2.3.8 - version: 2.3.8(react-dom@18.2.0)(react@18.2.0) - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - graphql-playground-react: - specifier: ^1.7.28 - version: 1.7.28(@babel/core@7.24.4)(@types/node@20.12.5) - react-redux: - specifier: ^9.1.0 - version: 9.1.0(@types/react@18.2.74)(react@18.2.0) - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-plugin-pwa: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - mermaid: - specifier: ^10.9.0 - version: 10.9.0 - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-plugin-search-page: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-plugin-sitemap: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - mermaid: - specifier: ^10.9.0 - version: 10.9.0 - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - typescript: - specifier: ^5.4.4 - version: 5.4.4 - - wip-packages/rspress-theme-geist: - dependencies: - '@rspress/core': - specifier: ^2.0.0-rc.4 || ^2.0.0 - version: 2.0.0-rc.4(@types/react@18.2.74) - rspress-plugin-devkit: - specifier: workspace:^ - version: link:../../packages/rspress-plugin-devkit - devDependencies: - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 - '@types/react': - specifier: ^18.2.74 - version: 18.2.74 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - typescript: - specifier: ^5.4.4 - version: 5.4.4 - packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -677,15 +449,7 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - - /@ardatan/sync-fetch@0.0.1: - resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} - engines: {node: '>=14'} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: false + dev: true /@ast-grep/napi-darwin-arm64@0.37.0: resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} @@ -789,146 +553,17 @@ packages: dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - - /@babel/compat-data@7.24.4: - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/core@7.24.4: - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator@7.24.4: - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: false - - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false + dev: true /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/highlight@7.24.2: resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} @@ -938,6 +573,7 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 + dev: true /@babel/parser@7.24.4: resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} @@ -945,49 +581,14 @@ packages: hasBin: true dependencies: '@babel/types': 7.24.0 - - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: false + dev: true /@babel/runtime@7.24.4: resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 - - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - dev: false - - /@babel/traverse@7.24.1(supports-color@5.5.0): - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - debug: 4.3.4(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} @@ -996,6 +597,7 @@ packages: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1188,11 +790,6 @@ packages: prettier: 2.8.8 dev: true - /@contentful/rich-text-types@16.3.5: - resolution: {integrity: sha512-ZLq6p5uyQXg+i1XGDFu4tAc2VYS12S1KA/jIOyyZjNgC1DvDajsi1JzuiBuOuMEhi1sKEUy6Ry3Yr9jsQtOKuQ==} - engines: {node: '>=6.0.0'} - dev: false - /@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4): resolution: {integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==} engines: {node: ^14 || ^16 || >=18} @@ -1253,20 +850,6 @@ packages: tslib: 2.8.1 optional: true - /@emotion/is-prop-valid@0.8.8: - resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} - dependencies: - '@emotion/memoize': 0.7.4 - dev: false - - /@emotion/memoize@0.7.4: - resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - dev: false - - /@emotion/unitless@0.7.5: - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - dev: false - /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} @@ -1494,7 +1077,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 espree: 10.0.1 globals: 14.0.0 ignore: 5.3.1 @@ -1511,253 +1094,12 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@geist-ui/core@2.3.8(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OKwGgTA4+fBM41eQbqDoUj4XBycZbYH7Ynrn6LPO5yKX7zeWPu/R7HN3vB4/oHt34VTDQI5sDNb1SirHvNyB5w==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.24.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /@giscus/react@3.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-hgCjLpg3Wgh8VbTF5p8ZLcIHI74wvDk1VIFv12+eKhenNVUDjgwNg2B1aq/3puyHOad47u/ZSyqiMtohjy/OOA==} - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - dependencies: - giscus: 1.5.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /@graphql-tools/batch-execute@8.5.22(graphql@15.8.0): - resolution: {integrity: sha512-hcV1JaY6NJQFQEwCKrYhpfLK8frSXDbtNMoTur98u10Cmecy1zrqNKSqhEyGetpgHxaJRqszGzKeI3RuroDN6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - dataloader: 2.2.2 - graphql: 15.8.0 - tslib: 2.6.2 - value-or-promise: 1.0.12 - dev: false - - /@graphql-tools/delegate@9.0.35(graphql@15.8.0): - resolution: {integrity: sha512-jwPu8NJbzRRMqi4Vp/5QX1vIUeUPpWmlQpOkXQD2r1X45YsVceyUUBnktCrlJlDB4jPRVy7JQGwmYo3KFiOBMA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/batch-execute': 8.5.22(graphql@15.8.0) - '@graphql-tools/executor': 0.0.20(graphql@15.8.0) - '@graphql-tools/schema': 9.0.19(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - dataloader: 2.2.2 - graphql: 15.8.0 - tslib: 2.6.2 - value-or-promise: 1.0.12 - dev: false - - /@graphql-tools/executor-graphql-ws@0.0.14(graphql@15.8.0): - resolution: {integrity: sha512-P2nlkAsPZKLIXImFhj0YTtny5NQVGSsKnhi7PzXiaHSXc6KkzqbWZHKvikD4PObanqg+7IO58rKFpGXP7eeO+w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - '@repeaterjs/repeater': 3.0.4 - '@types/ws': 8.5.10 - graphql: 15.8.0 - graphql-ws: 5.12.1(graphql@15.8.0) - isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.2 - ws: 8.13.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@graphql-tools/executor-http@0.1.10(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-hnAfbKv0/lb9s31LhWzawQ5hghBfHS+gYWtqxME6Rl0Aufq9GltiiLBcl7OVVOnkLF0KhwgbYP1mB5VKmgTGpg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - '@repeaterjs/repeater': 3.0.5 - '@whatwg-node/fetch': 0.8.8 - dset: 3.1.3 - extract-files: 11.0.0 - graphql: 15.8.0 - meros: 1.3.0(@types/node@20.12.5) - tslib: 2.6.2 - value-or-promise: 1.0.12 - transitivePeerDependencies: - - '@types/node' - dev: false - - /@graphql-tools/executor-legacy-ws@0.0.11(graphql@15.8.0): - resolution: {integrity: sha512-4ai+NnxlNfvIQ4c70hWFvOZlSUN8lt7yc+ZsrwtNFbFPH/EroIzFMapAxM9zwyv9bH38AdO3TQxZ5zNxgBdvUw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - '@types/ws': 8.5.10 - graphql: 15.8.0 - isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.2 - ws: 8.13.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@graphql-tools/executor@0.0.20(graphql@15.8.0): - resolution: {integrity: sha512-GdvNc4vszmfeGvUqlcaH1FjBoguvMYzxAfT6tDd4/LgwymepHhinqLNA5otqwVLW+JETcDaK7xGENzFomuE6TA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) - '@repeaterjs/repeater': 3.0.5 - graphql: 15.8.0 - tslib: 2.6.2 - value-or-promise: 1.0.12 - dev: false - - /@graphql-tools/graphql-file-loader@7.5.17(graphql@15.8.0): - resolution: {integrity: sha512-hVwwxPf41zOYgm4gdaZILCYnKB9Zap7Ys9OhY1hbwuAuC4MMNY9GpUjoTU3CQc3zUiPoYStyRtUGkHSJZ3HxBw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/import': 6.7.18(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - globby: 11.1.0 - graphql: 15.8.0 - tslib: 2.6.2 - unixify: 1.0.0 - dev: false - - /@graphql-tools/import@6.7.18(graphql@15.8.0): - resolution: {integrity: sha512-XQDdyZTp+FYmT7as3xRWH/x8dx0QZA2WZqfMF5EWb36a0PiH7WwlRQYIdyYXj8YCLpiWkeBXgBRHmMnwEYR8iQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - graphql: 15.8.0 - resolve-from: 5.0.0 - tslib: 2.6.2 - dev: false - - /@graphql-tools/json-file-loader@7.4.18(graphql@15.8.0): - resolution: {integrity: sha512-AJ1b6Y1wiVgkwsxT5dELXhIVUPs/u3VZ8/0/oOtpcoyO/vAeM5rOvvWegzicOOnQw8G45fgBRMkkRfeuwVt6+w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - globby: 11.1.0 - graphql: 15.8.0 - tslib: 2.6.2 - unixify: 1.0.0 - dev: false - - /@graphql-tools/load@7.8.14(graphql@15.8.0): - resolution: {integrity: sha512-ASQvP+snHMYm+FhIaLxxFgVdRaM0vrN9wW2BKInQpktwWTXVyk+yP5nQUCEGmn0RTdlPKrffBaigxepkEAJPrg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/schema': 9.0.19(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - graphql: 15.8.0 - p-limit: 3.1.0 - tslib: 2.6.2 - dev: false - - /@graphql-tools/merge@8.4.2(graphql@15.8.0): - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - graphql: 15.8.0 - tslib: 2.6.2 - dev: false - - /@graphql-tools/schema@9.0.19(graphql@15.8.0): - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/merge': 8.4.2(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - graphql: 15.8.0 - tslib: 2.6.2 - value-or-promise: 1.0.12 - dev: false - - /@graphql-tools/url-loader@7.17.18(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-ear0CiyTj04jCVAxi7TvgbnGDIN2HgqzXzwsfcqiVg9cvjT40NcMlZ2P1lZDgqMkZ9oyLTV8Bw6j+SyG6A+xPw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.35(graphql@15.8.0) - '@graphql-tools/executor-graphql-ws': 0.0.14(graphql@15.8.0) - '@graphql-tools/executor-http': 0.1.10(@types/node@20.12.5)(graphql@15.8.0) - '@graphql-tools/executor-legacy-ws': 0.0.11(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - '@graphql-tools/wrap': 9.4.2(graphql@15.8.0) - '@types/ws': 8.5.10 - '@whatwg-node/fetch': 0.8.8 - graphql: 15.8.0 - isomorphic-ws: 5.0.0(ws@8.16.0) - tslib: 2.6.2 - value-or-promise: 1.0.12 - ws: 8.16.0 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - utf-8-validate - dev: false - - /@graphql-tools/utils@9.2.1(graphql@15.8.0): - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) - graphql: 15.8.0 - tslib: 2.6.2 - dev: false - - /@graphql-tools/wrap@9.4.2(graphql@15.8.0): - resolution: {integrity: sha512-DFcd9r51lmcEKn0JW43CWkkI2D6T9XI1juW/Yo86i04v43O9w2/k4/nx2XTJv4Yv+iXwUw7Ok81PGltwGJSDSA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-tools/delegate': 9.0.35(graphql@15.8.0) - '@graphql-tools/schema': 9.0.19(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - graphql: 15.8.0 - tslib: 2.6.2 - value-or-promise: 1.0.12 - dev: false - - /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - graphql: 15.8.0 - dev: false - /@humanwhocodes/config-array@0.12.3: resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -1815,33 +1157,28 @@ packages: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 + dev: true /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} + dev: true /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} + dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - - /@lit-labs/ssr-dom-shim@1.2.0: - resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} - dev: false - - /@lit/reactive-element@2.0.4: - resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.0 - dev: false + dev: true /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1995,10 +1332,12 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2006,32 +1345,7 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - - /@peculiar/asn1-schema@2.3.8: - resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} - dependencies: - asn1js: 3.0.5 - pvtsutils: 1.3.5 - tslib: 2.6.2 - dev: false - - /@peculiar/json-schema@1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@peculiar/webcrypto@1.4.6: - resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} - engines: {node: '>=10.12.0'} - dependencies: - '@peculiar/asn1-schema': 2.3.8 - '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.5 - tslib: 2.6.2 - webcrypto-core: 1.7.9 - dev: false + dev: true /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2040,51 +1354,6 @@ packages: dev: true optional: true - /@redux-saga/core@1.3.0: - resolution: {integrity: sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==} - dependencies: - '@babel/runtime': 7.24.4 - '@redux-saga/deferred': 1.2.1 - '@redux-saga/delay-p': 1.2.1 - '@redux-saga/is': 1.1.3 - '@redux-saga/symbols': 1.1.3 - '@redux-saga/types': 1.2.1 - typescript-tuple: 2.2.1 - dev: false - - /@redux-saga/deferred@1.2.1: - resolution: {integrity: sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==} - dev: false - - /@redux-saga/delay-p@1.2.1: - resolution: {integrity: sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==} - dependencies: - '@redux-saga/symbols': 1.1.3 - dev: false - - /@redux-saga/is@1.1.3: - resolution: {integrity: sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==} - dependencies: - '@redux-saga/symbols': 1.1.3 - '@redux-saga/types': 1.2.1 - dev: false - - /@redux-saga/symbols@1.1.3: - resolution: {integrity: sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==} - dev: false - - /@redux-saga/types@1.2.1: - resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} - dev: false - - /@repeaterjs/repeater@3.0.4: - resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} - dev: false - - /@repeaterjs/repeater@3.0.5: - resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} - dev: false - /@rollup/rollup-android-arm-eabi@4.14.1: resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} cpu: [arm] @@ -2817,25 +2086,10 @@ packages: '@types/unist': 3.0.3 dev: false - /@types/hoist-non-react-statics@3.3.5: - resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} - dependencies: - '@types/react': 18.2.74 - hoist-non-react-statics: 3.3.2 - dev: false - /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/json-patch@0.0.30: - resolution: {integrity: sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==} - dev: false - - /@types/json-schema@7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - dev: false - /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: @@ -2856,10 +2110,6 @@ packages: resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} dev: true - /@types/lru-cache@4.1.3: - resolution: {integrity: sha512-QjCOmf5kYwekcsfEKhcEHMK8/SvgnneuSDXFERBuC/DPca2KJIO/gpChTsVb35BoWLBpEAJWz1GFVEArSdtKtw==} - dev: false - /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: @@ -2895,14 +2145,11 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.18.95: - resolution: {integrity: sha512-z9w+CcR7ahc7UhsKe+PGB25nmPmCERQBAdLdFHhoZ6+FfgSr7gUvdQI0eLH2t7ue8u5wKsLdde6cHKPjhC8vGg==} - dev: true - /@types/node@20.12.5: resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} dependencies: undici-types: 5.26.5 + dev: true /@types/node@25.0.3: resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} @@ -2946,15 +2193,6 @@ packages: /@types/prop-types@15.7.12: resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - /@types/react-redux@7.1.33: - resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} - dependencies: - '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.2.74 - hoist-non-react-statics: 3.3.2 - redux: 4.2.1 - dev: false - /@types/react@18.2.74: resolution: {integrity: sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw==} dependencies: @@ -2979,14 +2217,6 @@ packages: resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} dev: true - /@types/trusted-types@2.0.7: - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - dev: false - - /@types/ungap__structured-clone@1.2.0: - resolution: {integrity: sha512-ZoaihZNLeZSxESbk9PUAPZOlSpcKx81I1+4emtULDVmBLkYutTcMlCj2K9VNlf9EWODxdO6gkAqEaLorXwZQVA==} - dev: false - /@types/unist@2.0.10: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: false @@ -2998,16 +2228,6 @@ packages: /@types/unist@3.0.3: resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - /@types/use-sync-external-store@0.0.3: - resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} - dev: false - - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - dependencies: - '@types/node': 20.12.5 - dev: false - /@ungap/structured-clone@1.3.0: resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} dev: false @@ -3043,7 +2263,7 @@ packages: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 @@ -3084,58 +2304,20 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@whatwg-node/events@0.0.3: - resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} - dev: false - - /@whatwg-node/fetch@0.8.8: - resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} - dependencies: - '@peculiar/webcrypto': 1.4.6 - '@whatwg-node/node-fetch': 0.3.6 - busboy: 1.6.0 - urlpattern-polyfill: 8.0.2 - web-streams-polyfill: 3.3.3 - dev: false - - /@whatwg-node/node-fetch@0.3.6: - resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} - dependencies: - '@whatwg-node/events': 0.0.3 - busboy: 1.6.0 - fast-querystring: 1.1.2 - fast-url-parser: 1.1.3 - tslib: 2.6.2 - dev: false - - /@wry/equality@0.1.11: - resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: - tslib: 1.14.1 - dev: false + tinyspy: 2.2.1 + dev: true - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: false + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -3144,22 +2326,11 @@ packages: dependencies: acorn: 8.11.3 - /acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: false - /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: true - /acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: false - /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} @@ -3202,6 +2373,7 @@ packages: engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -3228,64 +2400,6 @@ packages: picomatch: 2.3.1 dev: false - /apollo-link-http-common@0.2.16(graphql@15.8.0): - resolution: {integrity: sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-link: 1.2.14(graphql@15.8.0) - graphql: 15.8.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - dev: false - - /apollo-link-http@1.5.17(graphql@15.8.0): - resolution: {integrity: sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-link: 1.2.14(graphql@15.8.0) - apollo-link-http-common: 0.2.16(graphql@15.8.0) - graphql: 15.8.0 - tslib: 1.14.1 - dev: false - - /apollo-link-ws@1.0.20(graphql@15.8.0)(subscriptions-transport-ws@0.9.19): - resolution: {integrity: sha512-mjSFPlQxmoLArpHBeUb2Xj+2HDYeTaJqFGOqQ+I8NVJxgL9lJe84PDWcPah/yMLv3rB7QgBDSuZ0xoRFBPlySw==} - peerDependencies: - subscriptions-transport-ws: ^0.9.0 - dependencies: - apollo-link: 1.2.14(graphql@15.8.0) - subscriptions-transport-ws: 0.9.19(graphql@15.8.0) - tslib: 1.14.1 - transitivePeerDependencies: - - graphql - dev: false - - /apollo-link@1.2.14(graphql@15.8.0): - resolution: {integrity: sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==} - peerDependencies: - graphql: ^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-utilities: 1.3.4(graphql@15.8.0) - graphql: 15.8.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - zen-observable-ts: 0.8.21 - dev: false - - /apollo-utilities@1.3.4(graphql@15.8.0): - resolution: {integrity: sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - '@wry/equality': 0.1.11 - fast-json-stable-stringify: 2.1.0 - graphql: 15.8.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - dev: false - /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -3293,6 +2407,7 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true /array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} @@ -3302,10 +2417,6 @@ packages: is-array-buffer: 3.0.4 dev: true - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: false - /array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} @@ -3316,6 +2427,7 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: true /array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} @@ -3351,15 +2463,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /asn1js@3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} - dependencies: - pvtsutils: 1.3.5 - pvutils: 1.1.3 - tslib: 2.6.2 - dev: false - /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -3374,16 +2477,13 @@ packages: hasBin: true dev: false - /async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - dev: false - /async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: false /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true /available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} @@ -3392,42 +2492,6 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - - /babel-plugin-styled-components@2.1.4(@babel/core@7.24.4)(styled-components@4.4.1): - resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} - peerDependencies: - styled-components: '>= 2' - dependencies: - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - lodash: 4.17.21 - picomatch: 2.3.1 - styled-components: 4.4.1(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - dev: false - - /babel-runtime@6.26.0: - resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.11.1 - dev: false - - /backo2@1.0.2: - resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==} - dev: false - /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -3445,56 +2509,15 @@ packages: is-windows: 1.0.2 dev: true - /bfj@6.1.2: - resolution: {integrity: sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==} - engines: {node: '>= 6.0.0'} - dependencies: - bluebird: 3.7.2 - check-types: 8.0.3 - hoopy: 0.1.4 - tryer: 1.0.1 - dev: false - /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} dev: false - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: false - - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /body-scroll-lock@4.0.0-beta.0: resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} dev: false - /boom@7.3.0: - resolution: {integrity: sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A==} - deprecated: This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues. - dependencies: - hoek: 6.1.3 - dev: false - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -3519,41 +2542,10 @@ packages: wcwidth: 1.0.1 dev: true - /browser-fingerprint@0.0.1: - resolution: {integrity: sha512-b8SXP7yOlzLUJXF8WUvIjmbJzkJC0X6OHe7J9a/SHqEBC7a9Eglag6AANSTJz82h5U582kuxm/5TPudnD68EPA==} - dev: false - - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001762 - electron-to-chromium: 1.4.729 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: false - - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: false - /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - /calculate-size@1.1.1: - resolution: {integrity: sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA==} - dev: false - /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -3563,10 +2555,12 @@ packages: function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 + dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -3582,14 +2576,6 @@ packages: engines: {node: '>=6'} dev: true - /camelize@1.0.1: - resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - dev: false - - /caniuse-lite@1.0.30001762: - resolution: {integrity: sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==} - dev: false - /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false @@ -3614,6 +2600,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -3653,10 +2640,6 @@ packages: get-func-name: 2.0.2 dev: true - /check-types@8.0.3: - resolution: {integrity: sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==} - dev: false - /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -3681,10 +2664,6 @@ packages: engines: {node: '>=8'} dev: true - /classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - dev: false - /clipboardy@4.0.0: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} @@ -3716,11 +2695,6 @@ packages: engines: {node: '>=0.8'} dev: true - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} - dev: false - /clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} @@ -3735,46 +2709,6 @@ packages: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} dev: false - /codemirror-graphql@0.11.6(@types/node@20.12.5)(codemirror@5.65.16)(graphql@15.8.0): - resolution: {integrity: sha512-/zVKgOVS2/hfjAY0yoBkLz9ESHnWKBWpBNXQSoFF4Hl5q5AS2DmM22coonWKJcCvNry6TLak2F+QkzPeKVv3Eg==} - peerDependencies: - codemirror: ^5.26.0 - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 - dependencies: - codemirror: 5.65.16 - graphql: 15.8.0 - graphql-language-service-interface: 2.10.2(@types/node@20.12.5)(graphql@15.8.0) - graphql-language-service-parser: 1.10.4(@types/node@20.12.5)(graphql@15.8.0) - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /codemirror-graphql@0.12.4(@types/node@20.12.5)(codemirror@5.65.16)(graphql@15.8.0): - resolution: {integrity: sha512-gWxmLk2OzPVzvwAXO0K52MtU1n6ylMNbKp0LtZHioK0NEUwLnSL5iPKVXn8MgvYqS8Yos/CG5WrP9Y7RWTO4mg==} - peerDependencies: - codemirror: ^5.54.0 - graphql: ^14.0.0 || ^15.0.0 - dependencies: - codemirror: 5.65.16 - graphql: 15.8.0 - graphql-language-service-interface: 2.10.2(@types/node@20.12.5)(graphql@15.8.0) - graphql-language-service-parser: 1.10.4(@types/node@20.12.5)(graphql@15.8.0) - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /codemirror@5.65.16: - resolution: {integrity: sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg==} - dev: false - /collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} dev: false @@ -3783,6 +2717,7 @@ packages: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -3793,6 +2728,7 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3807,6 +2743,7 @@ packages: engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + dev: true /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -3817,10 +2754,6 @@ packages: engines: {node: '>=16'} dev: false - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: false - /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -3847,76 +2780,9 @@ packages: engines: {node: ^14.18.0 || >=16.10.0} dev: true - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: false - - /contentful-management@11.24.3: - resolution: {integrity: sha512-vgbjt/3efD+vLxQlLRhGFcqVLkRmQM53fdPTMc4utAbKAj9JkhyfF4wSV4lIrbwyOXTU5HMrxDbRUIAAEsLiHQ==} - engines: {node: '>=18'} - dependencies: - '@contentful/rich-text-types': 16.3.5 - '@types/json-patch': 0.0.30 - axios: 1.6.8 - contentful-sdk-core: 8.1.2 - fast-copy: 3.0.2 - lodash.isplainobject: 4.0.6 - type-fest: 4.15.0 - transitivePeerDependencies: - - debug - dev: false - - /contentful-resolve-response@1.8.1: - resolution: {integrity: sha512-VXGK2c8dBIGcRCknqudKmkDr2PzsUYfjLN6hhx71T09UzoXOdA/c0kfDhsf/BBCBWPWcLaUgaJEFU0lCo45TSg==} - engines: {node: '>=4.7.2'} - dependencies: - fast-copy: 2.1.7 - dev: false - - /contentful-sdk-core@8.1.2: - resolution: {integrity: sha512-XZvX2JMJF4YiICXLrHFv59KBHaQJ6ElqAP8gSNgnCu4x+pPG7Y1bC2JMNOiyAgJuGQGVUOcNZ5PmK+tsNEayYw==} - engines: {node: '>=12'} - dependencies: - fast-copy: 2.1.7 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - p-throttle: 4.1.1 - qs: 6.12.0 - dev: false - - /contentful@10.8.7: - resolution: {integrity: sha512-BkHspZUmeaqCkJXljBJBZ+WnMVU/3N1rYIxVuwH3X/0Q88zF8hb02dsZupmecm5LOHSYWg7lKKrbKit6Q0JL2A==} - engines: {node: '>=18'} - dependencies: - '@contentful/rich-text-types': 16.3.5 - axios: 1.6.8 - contentful-resolve-response: 1.8.1 - contentful-sdk-core: 8.1.2 - json-stringify-safe: 5.0.1 - type-fest: 4.15.0 - transitivePeerDependencies: - - debug - dev: false - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false + dev: true /cookie@1.1.1: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} @@ -3929,17 +2795,6 @@ packages: toggle-selection: 1.0.6 dev: false - /core-js@1.2.7: - resolution: {integrity: sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - dev: false - - /core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - requiresBuild: true - dev: false - /core-js@3.47.0: resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} requiresBuild: true @@ -3950,16 +2805,6 @@ packages: layout-base: 1.0.2 dev: false - /cosmiconfig@8.0.0: - resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: false - /cosmiconfig@9.0.0(typescript@5.4.4): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -3976,13 +2821,6 @@ packages: typescript: 5.4.4 dev: true - /create-react-class@15.7.0: - resolution: {integrity: sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - dev: false - /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: @@ -4011,32 +2849,11 @@ packages: which: 2.0.2 dev: true - /cryptiles@4.1.2: - resolution: {integrity: sha512-U2ALcoAHvA1oO2xOreyHvtkQ+IELqDG2WVWRI1GH/XEmmfGIOalnM5MU5Dd2ITyWfr3m6kNqXiy8XuYyd4wKJw==} - engines: {node: '>=8.9.0'} - deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). - dependencies: - boom: 7.3.0 - dev: false - - /css-color-keywords@1.0.0: - resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} - engines: {node: '>=4'} - dev: false - /css-functions-list@3.2.1: resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} engines: {node: '>=12 || >=16'} dev: true - /css-to-react-native@2.3.2: - resolution: {integrity: sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==} - dependencies: - camelize: 1.0.1 - css-color-keywords: 1.0.0 - postcss-value-parser: 3.3.1 - dev: false - /css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -4076,15 +2893,6 @@ packages: stream-transform: 2.1.3 dev: true - /cuid@1.3.8: - resolution: {integrity: sha512-MoL67ZZuBetDMxzrZtO+Iq1ATajFACQCP52QRinBgd3yTjYdv54mJO8ibUrh06fojKCoX5P2i7KkEatm4VTIOQ==} - deprecated: Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead. - dependencies: - browser-fingerprint: 0.0.1 - core-js: 1.2.7 - node-fingerprint: 0.0.2 - dev: false - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: @@ -4413,26 +3221,11 @@ packages: is-data-view: 1.0.1 dev: true - /dataloader@2.2.2: - resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} - dev: false - /dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: false - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: false - - /debug@4.3.4(supports-color@5.5.0): + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -4442,7 +3235,6 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 5.5.0 /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -4463,11 +3255,6 @@ packages: character-entities: 2.0.2 dev: false - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: false - /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -4504,6 +3291,7 @@ packages: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 + dev: true /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} @@ -4523,21 +3311,12 @@ packages: /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false + dev: true /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false - /detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -4563,19 +3342,7 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - - /dom-helpers@3.4.0: - resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} - dependencies: - '@babel/runtime': 7.24.4 - dev: false - - /dom-helpers@5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dependencies: - '@babel/runtime': 7.24.4 - csstype: 3.1.3 - dev: false + dev: true /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -4608,37 +3375,9 @@ packages: domhandler: 5.0.3 dev: false - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: false - - /dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} - engines: {node: '>=4'} - dev: false - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: false - /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false - - /ejs@2.7.4: - resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: false - - /electron-to-chromium@1.4.729: - resolution: {integrity: sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==} - dev: false - /elkjs@0.9.2: resolution: {integrity: sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw==} dev: false @@ -4659,17 +3398,6 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: false - - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - dependencies: - iconv-lite: 0.6.3 - dev: false - /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -4678,18 +3406,6 @@ packages: strip-ansi: 6.0.1 dev: true - /entities@2.0.3: - resolution: {integrity: sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==} - dev: false - - /entities@2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} - dev: false - - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: false - /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -4704,6 +3420,7 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: true /error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -4767,10 +3484,12 @@ packages: engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 + dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + dev: true /es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} @@ -4855,10 +3574,7 @@ packages: /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false + dev: true /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -4907,7 +3623,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 escape-string-regexp: 4.0.0 eslint-scope: 8.0.1 eslint-visitor-keys: 4.0.0 @@ -5019,19 +3735,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: false - /eventemitter3@2.0.3: resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} dev: true - /eventemitter3@3.1.2: - resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} - dev: false - /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -5052,49 +3759,6 @@ packages: strip-final-newline: 3.0.0 dev: true - /exenv@1.2.2: - resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==} - dev: false - - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.6.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -5118,23 +3782,6 @@ packages: tmp: 0.0.33 dev: true - /extract-files@11.0.0: - resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} - engines: {node: ^12.20 || >= 14.13} - dev: false - - /fast-copy@2.1.7: - resolution: {integrity: sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==} - dev: false - - /fast-copy@3.0.2: - resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -5148,26 +3795,16 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-url-parser@1.1.3: - resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} - dependencies: - punycode: 1.4.1 - dev: false - /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -5177,6 +3814,7 @@ packages: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 + dev: true /fdir@6.5.0(picomatch@4.0.3): resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} @@ -5211,32 +3849,12 @@ packages: trim-repeated: 1.0.0 dev: false - /filesize@3.6.1: - resolution: {integrity: sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==} - engines: {node: '>= 0.4.0'} - dev: false - /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} @@ -5290,16 +3908,6 @@ packages: resolution: {integrity: sha512-wSyJr1GUWoOOIISRu+X2IXiOcVfg9qqBRyCPRUdLMIGJqPzMo+jMRlvE83t14v1j0dRMEaBbER/adQjp6Du2pw==} dev: false - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false - /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -5321,16 +3929,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: false + dev: true /fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} @@ -5371,6 +3970,7 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} @@ -5386,11 +3986,6 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: false - /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -5409,6 +4004,7 @@ packages: has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 + dev: true /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} @@ -5438,12 +4034,6 @@ packages: globby: 6.1.0 dev: false - /giscus@1.5.0: - resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==} - dependencies: - lit: 3.1.2 - dev: false - /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false @@ -5499,11 +4089,6 @@ packages: which: 1.3.1 dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: false - /globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -5526,6 +4111,7 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 + dev: true /globby@6.1.0: resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} @@ -5546,6 +4132,7 @@ packages: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 + dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -5558,213 +4145,6 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /graphiql@0.17.5(@types/node@20.12.5)(graphql@15.8.0)(prop-types@15.8.1)(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-ogNsrg9qM1py9PzcIUn+C29JukOADbjIfB6zwtfui4BrpOEpDb5UZ6TjAmSL/F/8tCt4TbgwKtkSrBeLNNUrqA==} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 - prop-types: '>=15.5.0' - react: ^15.6.0 || ^16.0.0 - react-dom: ^15.6.0 || ^16.0.0 - dependencies: - codemirror: 5.65.16 - codemirror-graphql: 0.11.6(@types/node@20.12.5)(codemirror@5.65.16)(graphql@15.8.0) - copy-to-clipboard: 3.3.3 - entities: 2.2.0 - graphql: 15.8.0 - markdown-it: 10.0.0 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - regenerator-runtime: 0.13.11 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /graphql-config@4.5.0(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-x6D0/cftpLUJ0Ch1e5sj1TZn6Wcxx4oMfmhaG9shM0DKajA9iR+j1z86GSTQ19fShbGvrSSvbIQsHku6aQ6BBw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - cosmiconfig-toml-loader: ^1.0.0 - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - cosmiconfig-toml-loader: - optional: true - dependencies: - '@graphql-tools/graphql-file-loader': 7.5.17(graphql@15.8.0) - '@graphql-tools/json-file-loader': 7.4.18(graphql@15.8.0) - '@graphql-tools/load': 7.8.14(graphql@15.8.0) - '@graphql-tools/merge': 8.4.2(graphql@15.8.0) - '@graphql-tools/url-loader': 7.17.18(@types/node@20.12.5)(graphql@15.8.0) - '@graphql-tools/utils': 9.2.1(graphql@15.8.0) - cosmiconfig: 8.0.0 - graphql: 15.8.0 - jiti: 1.17.1 - minimatch: 4.2.3 - string-env-interpolation: 1.0.1 - tslib: 2.6.2 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - utf-8-validate - dev: false - - /graphql-language-service-interface@2.10.2(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-RKIEBPhRMWdXY3fxRs99XysTDnEgAvNbu8ov/5iOlnkZsWQNzitjtd0O0l1CutQOQt3iXoHde7w8uhCnKL4tcg==} - deprecated: this package has been merged into graphql-language-service - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 - dependencies: - graphql: 15.8.0 - graphql-config: 4.5.0(@types/node@20.12.5)(graphql@15.8.0) - graphql-language-service-parser: 1.10.4(@types/node@20.12.5)(graphql@15.8.0) - graphql-language-service-types: 1.8.7(@types/node@20.12.5)(graphql@15.8.0) - graphql-language-service-utils: 2.7.1(@types/node@20.12.5)(graphql@15.8.0) - vscode-languageserver-types: 3.17.5 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /graphql-language-service-parser@1.10.4(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA==} - deprecated: this package has been merged into graphql-language-service - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 - dependencies: - graphql: 15.8.0 - graphql-language-service-types: 1.8.7(@types/node@20.12.5)(graphql@15.8.0) - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /graphql-language-service-types@1.8.7(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-LP/Mx0nFBshYEyD0Ny6EVGfacJAGVx+qXtlJP4hLzUdBNOGimfDNtMVIdZANBXHXcM41MDgMHTnyEx2g6/Ttbw==} - deprecated: this package has been merged into graphql-language-service - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 - dependencies: - graphql: 15.8.0 - graphql-config: 4.5.0(@types/node@20.12.5)(graphql@15.8.0) - vscode-languageserver-types: 3.17.5 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /graphql-language-service-utils@2.7.1(@types/node@20.12.5)(graphql@15.8.0): - resolution: {integrity: sha512-Wci5MbrQj+6d7rfvbORrA9uDlfMysBWYaG49ST5TKylNaXYFf3ixFOa74iM1KtM9eidosUbI3E1JlWi0JaidJA==} - deprecated: this package has been merged into graphql-language-service - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 - dependencies: - '@types/json-schema': 7.0.9 - graphql: 15.8.0 - graphql-language-service-types: 1.8.7(@types/node@20.12.5)(graphql@15.8.0) - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - utf-8-validate - dev: false - - /graphql-playground-react@1.7.28(@babel/core@7.24.4)(@types/node@20.12.5): - resolution: {integrity: sha512-YPR33Ph9kuKlFOMpc8mKGsL/fOiX0ltgzV1BokXYNsBLtTVQnhdCSKQuZg80CcxWKD8syNuWXDkGZSAdFkwmRg==} - dependencies: - '@types/lru-cache': 4.1.3 - apollo-link: 1.2.14(graphql@15.8.0) - apollo-link-http: 1.5.17(graphql@15.8.0) - apollo-link-ws: 1.0.20(graphql@15.8.0)(subscriptions-transport-ws@0.9.19) - calculate-size: 1.1.1 - codemirror: 5.65.16 - codemirror-graphql: 0.12.4(@types/node@20.12.5)(codemirror@5.65.16)(graphql@15.8.0) - copy-to-clipboard: 3.3.3 - cryptiles: 4.1.2 - cuid: 1.3.8 - escape-html: 1.0.3 - graphiql: 0.17.5(@types/node@20.12.5)(graphql@15.8.0)(prop-types@15.8.1)(react-dom@16.14.0)(react@16.13.1) - graphql: 15.8.0 - immutable: 4.3.5 - isomorphic-fetch: 2.2.1 - js-yaml: 3.14.1 - json-stable-stringify: 1.1.1 - keycode: 2.2.1 - lodash: 4.17.21 - lodash.debounce: 4.0.8 - lru-cache: 6.0.0 - markdown-it: 12.3.2 - prettier: 2.0.2 - prop-types: 15.8.1 - query-string: 5.1.1 - react: 16.13.1 - react-addons-shallow-compare: 15.6.3 - react-codemirror: 1.0.0(react-dom@16.14.0)(react@16.13.1) - react-copy-to-clipboard: 5.1.0(react@16.13.1) - react-display-name: 0.2.5 - react-dom: 16.14.0(react@16.13.1) - react-helmet: 5.2.1(react@16.13.1) - react-input-autosize: 2.2.2(react@16.13.1) - react-modal: 3.16.1(react-dom@16.14.0)(react@16.13.1) - react-redux: 7.2.9(react-dom@16.14.0)(react@16.13.1) - react-router-dom: 4.3.1(react@16.13.1) - react-sortable-hoc: 0.8.4(react-dom@16.14.0)(react@16.13.1) - react-transition-group: 2.9.0(react-dom@16.14.0)(react@16.13.1) - react-virtualized: 9.22.5(react-dom@16.14.0)(react@16.13.1) - redux: 4.2.1 - redux-actions: 2.6.5 - redux-immutable: 4.0.0(immutable@4.3.5) - redux-localstorage: 1.0.0-rc5 - redux-localstorage-debounce: 0.1.0 - redux-localstorage-filter: 0.1.1 - redux-saga: 1.3.0 - reselect: 4.1.8 - seamless-immutable: 7.1.4 - styled-components: 4.4.1(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0) - subscriptions-transport-ws: 0.9.19(graphql@15.8.0) - utility-types: 1.1.0 - webpack-bundle-analyzer: 3.9.0 - zen-observable: 0.7.1 - transitivePeerDependencies: - - '@babel/core' - - '@types/node' - - bufferutil - - cosmiconfig-toml-loader - - encoding - - react-native - - supports-color - - utf-8-validate - dev: false - - /graphql-ws@5.12.1(graphql@15.8.0): - resolution: {integrity: sha512-umt4f5NnMK46ChM2coO36PTFhHouBrK9stWWBczERguwYrGnPNxJ9dimU6IyOBfOkC6Izhkg4H8+F51W/8CYDg==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' - dependencies: - graphql: 15.8.0 - dev: false - - /graphql@15.8.0: - resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} - engines: {node: '>= 10.x'} - dev: false - /gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -5775,14 +4155,6 @@ packages: strip-bom-string: 1.0.0 dev: false - /gzip-size@5.1.1: - resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} - engines: {node: '>=6'} - dependencies: - duplexer: 0.1.2 - pify: 4.0.1 - dev: false - /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -5795,6 +4167,7 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -5805,14 +4178,17 @@ packages: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 + dev: true /has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} + dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: true /has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} @@ -5826,6 +4202,7 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 + dev: true /hast-util-from-dom@5.0.0: resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} @@ -6012,41 +4389,10 @@ packages: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: false - /history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - dependencies: - '@babel/runtime': 7.24.4 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 - dev: false - - /hoek@6.1.3: - resolution: {integrity: sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==} - deprecated: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues. - dev: false - - /hoist-non-react-statics@2.5.5: - resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} - dev: false - - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - dependencies: - react-is: 16.13.1 - dev: false - /hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} dev: false - /hoopy@0.1.4: - resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} - engines: {node: '>= 6.0.0'} - dev: false - /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -6087,17 +4433,6 @@ packages: entities: 4.5.0 dev: false - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true @@ -6112,6 +4447,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -6123,10 +4459,7 @@ packages: /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - - /immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - dev: false + dev: true /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -6134,6 +4467,7 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -6180,17 +4514,6 @@ packages: engines: {node: '>=12'} dev: false - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - dependencies: - loose-envify: 1.4.0 - dev: false - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - /is-absolute-url@4.0.1: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6217,6 +4540,7 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -6360,11 +4684,6 @@ packages: call-bind: 1.0.7 dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: false - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6404,10 +4723,6 @@ packages: call-bind: 1.0.7 dev: true - /is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - dev: false - /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -6427,40 +4742,14 @@ packages: system-architecture: 0.1.0 dev: true - /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: false - /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isomorphic-fetch@2.2.1: - resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} - dependencies: - node-fetch: 1.7.3 - whatwg-fetch: 3.6.20 - dev: false - - /isomorphic-ws@5.0.0(ws@8.13.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' - dependencies: - ws: 8.13.0 - dev: false - - /isomorphic-ws@5.0.0(ws@8.16.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' - dependencies: - ws: 8.16.0 - dev: false - /istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -6480,7 +4769,7 @@ packages: engines: {node: '>=10'} dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -6494,10 +4783,6 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /iterall@1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - dev: false - /jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -6507,17 +4792,13 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jiti@1.17.1: - resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} - hasBin: true - dev: false - /jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true /js-tokens@9.0.0: resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} @@ -6535,12 +4816,7 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: false + dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -6552,6 +4828,7 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -6565,26 +4842,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stable-stringify@1.1.1: - resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - isarray: 2.0.5 - jsonify: 0.0.1 - object-keys: 1.1.1 - dev: false - - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: false - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: false - /jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true @@ -6603,14 +4860,6 @@ packages: graceful-fs: 4.2.11 dev: false - /jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - dev: false - - /just-curry-it@3.2.1: - resolution: {integrity: sha512-Q8206k8pTY7krW32cdmPsP+DqqLgWx/hYPSj9/+7SYqSqz7UuwPbfSe07lQtvuuaVyiSJveXk0E5RydOuWwsEg==} - dev: false - /katex@0.16.10: resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} hasBin: true @@ -6618,10 +4867,6 @@ packages: commander: 8.3.0 dev: false - /keycode@2.2.1: - resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==} - dev: false - /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: @@ -6669,40 +4914,7 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - /linkify-it@2.2.0: - resolution: {integrity: sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==} - dependencies: - uc.micro: 1.0.6 - dev: false - - /linkify-it@3.0.3: - resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} - dependencies: - uc.micro: 1.0.6 - dev: false - - /lit-element@4.0.4: - resolution: {integrity: sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.0 - '@lit/reactive-element': 2.0.4 - lit-html: 3.1.2 - dev: false - - /lit-html@3.1.2: - resolution: {integrity: sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==} - dependencies: - '@types/trusted-types': 2.0.7 - dev: false - - /lit@3.1.2: - resolution: {integrity: sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==} - dependencies: - '@lit/reactive-element': 2.0.4 - lit-element: 4.0.4 - lit-html: 3.1.2 - dev: false + dev: true /load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -6749,32 +4961,6 @@ packages: resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} dev: false - /lodash._getnative@3.9.1: - resolution: {integrity: sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==} - dev: false - - /lodash.debounce@3.1.1: - resolution: {integrity: sha512-lcmJwMpdPAtChA4hfiwxTtgFeNAaow701wWUgVUqeD0XJF7vMXIN+bu/2FJSGxT0NUbZy9g9VFrlOFfPjl+0Ew==} - dependencies: - lodash._getnative: 3.9.1 - dev: false - - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: false - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: false - - /lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: false - /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -6799,6 +4985,7 @@ packages: hasBin: true dependencies: js-tokens: 4.0.0 + dev: true /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} @@ -6818,17 +5005,12 @@ packages: yallist: 2.1.2 dev: true - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: false - /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true /magic-string@0.30.9: resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} @@ -6874,28 +5056,6 @@ packages: engines: {node: '>=16'} dev: false - /markdown-it@10.0.0: - resolution: {integrity: sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==} - hasBin: true - dependencies: - argparse: 1.0.10 - entities: 2.0.3 - linkify-it: 2.2.0 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: false - - /markdown-it@12.3.2: - resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: false - /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false @@ -7148,39 +5308,14 @@ packages: '@types/mdast': 4.0.4 dev: false - /mdast-util-toc@7.1.0: - resolution: {integrity: sha512-2TVKotOQzqdY7THOdn2gGzS9d1Sdd66bvxUyw3aNpWfcPXCLYSJCCgfPy30sEtuzkDraJgqF35dzgmz6xlvH/w==} - dependencies: - '@types/mdast': 4.0.4 - '@types/ungap__structured-clone': 1.2.0 - '@ungap/structured-clone': 1.3.0 - github-slugger: 2.0.0 - mdast-util-to-string: 4.0.0 - unist-util-is: 6.0.0 - unist-util-visit: 5.0.0 - dev: false - /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: false - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - /medium-zoom@1.1.0: resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} dev: false - /memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - dev: false - /memorystream@0.3.1: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} @@ -7208,16 +5343,6 @@ packages: yargs-parser: 18.1.3 dev: true - /merge-anything@2.4.4: - resolution: {integrity: sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==} - dependencies: - is-what: 3.14.1 - dev: false - - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false - /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -7225,6 +5350,7 @@ packages: /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + dev: true /mermaid@10.9.0: resolution: {integrity: sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==} @@ -7253,23 +5379,6 @@ packages: - supports-color dev: false - /meros@1.3.0(@types/node@20.12.5): - resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} - engines: {node: '>=13'} - peerDependencies: - '@types/node': '>=13' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 20.12.5 - dev: false - - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: false - /micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} dependencies: @@ -7795,7 +5904,7 @@ packages: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -7819,7 +5928,7 @@ packages: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -7843,7 +5952,7 @@ packages: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -7869,22 +5978,19 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: false + dev: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} @@ -7908,13 +6014,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@4.2.3: - resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 1.1.11 - dev: false - /minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -7931,10 +6030,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false - /minipass@7.0.4: resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} @@ -7945,13 +6040,6 @@ packages: engines: {node: '>= 8.0.0'} dev: true - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: false - /mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} dependencies: @@ -7966,17 +6054,9 @@ packages: engines: {node: '>=4'} dev: false - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false - /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -7987,42 +6067,10 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false - /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /node-fetch@1.7.3: - resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} - dependencies: - encoding: 0.1.13 - is-stream: 1.1.0 - dev: false - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-fingerprint@0.0.2: - resolution: {integrity: sha512-vPFfTD5EBJieQ4SI3v61fWxlV1kav3m9Dbejd6CjWhOJn8s+XMxpOOosCNAyIrUQ/jJOlPndfrZ0lSw4+RgwcA==} - dev: false - - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: false - /non-layered-tidy-tree-layout@2.0.2: resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} dev: false @@ -8036,13 +6084,6 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: false - /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -8074,10 +6115,6 @@ packages: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: false - /nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -8085,10 +6122,12 @@ packages: /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: true /object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} @@ -8104,13 +6143,6 @@ packages: resolution: {integrity: sha512-0+K48pgUrJOzo6ey16KiUCdGX/pWWogRY2JeOf4JnlYo9Rnd1RCfbzMQ4sX85aAMfavNfKfx9XGw6jEl4er9Xw==} dev: false - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: false - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -8135,11 +6167,6 @@ packages: regex-recursion: 6.0.2 dev: false - /opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - dev: false - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -8179,6 +6206,7 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-limit@5.0.0: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} @@ -8205,11 +6233,6 @@ packages: engines: {node: '>=6'} dev: true - /p-throttle@4.1.1: - resolution: {integrity: sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g==} - engines: {node: '>=10'} - dev: false - /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -8224,6 +6247,7 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} @@ -8253,6 +6277,7 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: true /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -8267,11 +6292,6 @@ packages: peberminta: 0.9.0 dev: false - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: false - /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: false @@ -8311,16 +6331,6 @@ packages: minipass: 7.0.4 dev: true - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false - - /path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - dependencies: - isarray: 0.0.1 - dev: false - /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -8331,6 +6341,7 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: true /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -8346,6 +6357,7 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -8379,6 +6391,7 @@ packages: /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + dev: true /pinkie-promise@2.0.1: resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} @@ -8432,10 +6445,6 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - dev: false - /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true @@ -8464,12 +6473,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@2.0.2: - resolution: {integrity: sha512-5xJQIPT8BraI7ZnaDwSbu5zLrB6vvi8hVV58yHQ+QK64qrY40dULy0HSRlQ2/2IdzeBpjhDkqdcFBnFeDEMVdg==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false - /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} @@ -8491,14 +6494,6 @@ packages: react-is: 18.2.0 dev: true - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - dev: false - /property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} dev: false @@ -8507,136 +6502,24 @@ packages: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} dev: false - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false - /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: false - /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true - /pvtsutils@1.3.5: - resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} - dependencies: - tslib: 2.6.2 - dev: false - - /pvutils@1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} - dev: false - - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.6 - dev: false - - /qs@6.12.0: - resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.6 - dev: false - - /query-string@5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} - dependencies: - decode-uri-component: 0.2.2 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 - dev: false - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: false - - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - - /react-addons-shallow-compare@15.6.3: - resolution: {integrity: sha512-EDJbgKTtGRLhr3wiGDXK/+AEJ59yqGS+tKE6mue0aNXT6ZMR7VJbbzIiT6akotmHg1BLj46ElJSb+NBMp80XBg==} - dependencies: - object-assign: 4.1.1 - dev: false - - /react-codemirror@1.0.0(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-pPvL8b1vwLyfX5f3EMLyqZVXYY/qAKdqURYxi3izYfjWbnUdqVaFBA7z78o9eEM+UzgxuKjI864BJkPIRVS2JA==} - peerDependencies: - react: '>=15.5 <16' - react-dom: '>=15.5 <16' - dependencies: - classnames: 2.5.1 - codemirror: 5.65.16 - create-react-class: 15.7.0 - lodash.debounce: 4.0.8 - lodash.isequal: 4.5.0 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - dev: false - - /react-copy-to-clipboard@5.1.0(react@16.13.1): - resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} - peerDependencies: - react: ^15.3.0 || 16 || 17 || 18 - dependencies: - copy-to-clipboard: 3.3.3 - prop-types: 15.8.1 - react: 16.13.1 - dev: false - - /react-display-name@0.2.5: - resolution: {integrity: sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==} - dev: false - - /react-dom@16.14.0(react@16.13.1): - resolution: {integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==} - peerDependencies: - react: ^16.14.0 - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.13.1 - scheduler: 0.19.1 - dev: false - /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -8645,6 +6528,7 @@ packages: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 + dev: true /react-dom@19.2.3(react@19.2.3): resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} @@ -8655,39 +6539,6 @@ packages: scheduler: 0.27.0 dev: false - /react-fast-compare@2.0.4: - resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} - dev: false - - /react-helmet@5.2.1(react@16.13.1): - resolution: {integrity: sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==} - peerDependencies: - react: '>=15.0.0' - dependencies: - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.13.1 - react-fast-compare: 2.0.4 - react-side-effect: 1.2.0(react@16.13.1) - dev: false - - /react-input-autosize@2.2.2(react@16.13.1): - resolution: {integrity: sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==} - peerDependencies: - react: ^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 - dependencies: - prop-types: 15.8.1 - react: 16.13.1 - dev: false - - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - dev: false - - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: false - /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true @@ -8696,25 +6547,6 @@ packages: resolution: {integrity: sha512-ONSb8gizLE5jFpdHAclZ6EAAKuFX2JydnFXPPPjoUImZlLjGtKzyBS8SJgJq7CpLgsGKh9QCZdugJyEEOVC16Q==} dev: false - /react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - dev: false - - /react-modal@3.16.1(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==} - engines: {node: '>=8'} - peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 - react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 - dependencies: - exenv: 1.2.2 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - react-lifecycles-compat: 3.0.4 - warning: 4.0.3 - dev: false - /react-reconciler@0.33.0(react@19.2.3): resolution: {integrity: sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==} engines: {node: '>=0.10.0'} @@ -8725,67 +6557,10 @@ packages: scheduler: 0.27.0 dev: false - /react-redux@7.2.9(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} - peerDependencies: - react: ^16.8.3 || ^17 || ^18 - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@types/react-redux': 7.1.33 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - react-is: 17.0.2 - dev: false - - /react-redux@9.1.0(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==} - peerDependencies: - '@types/react': ^18.2.25 - react: ^18.0 - react-native: '>=0.69' - redux: ^5.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - react-native: - optional: true - redux: - optional: true - dependencies: - '@types/react': 18.2.74 - '@types/use-sync-external-store': 0.0.3 - react: 18.2.0 - use-sync-external-store: 1.2.0(react@18.2.0) - dev: false - /react-refresh@0.18.0: resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} engines: {node: '>=0.10.0'} - /react-router-dom@4.3.1(react@16.13.1): - resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==} - peerDependencies: - react: '>=15' - dependencies: - history: 4.10.1 - invariant: 2.2.4 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 16.13.1 - react-router: 4.3.1(react@16.13.1) - warning: 4.0.3 - dev: false - /react-router-dom@7.11.0(react-dom@19.2.3)(react@19.2.3): resolution: {integrity: sha512-e49Ir/kMGRzFOOrYQBdoitq3ULigw4lKbAyKusnvtDu2t4dBX4AGYPrzNvorXmVuOyeakai6FUPW5MmibvVG8g==} engines: {node: '>=20.0.0'} @@ -8798,96 +6573,20 @@ packages: react-router: 7.11.0(react-dom@19.2.3)(react@19.2.3) dev: false - /react-router@4.3.1(react@16.13.1): - resolution: {integrity: sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==} - peerDependencies: - react: '>=15' - dependencies: - history: 4.10.1 - hoist-non-react-statics: 2.5.5 - invariant: 2.2.4 - loose-envify: 1.4.0 - path-to-regexp: 1.8.0 - prop-types: 15.8.1 - react: 16.13.1 - warning: 4.0.3 - dev: false - /react-router@7.11.0(react-dom@19.2.3)(react@19.2.3): resolution: {integrity: sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==} engines: {node: '>=20.0.0'} peerDependencies: - react: '>=18' - react-dom: '>=18' - peerDependenciesMeta: - react-dom: - optional: true - dependencies: - cookie: 1.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - set-cookie-parser: 2.7.2 - dev: false - - /react-side-effect@1.2.0(react@16.13.1): - resolution: {integrity: sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==} - peerDependencies: - react: ^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0 - dependencies: - react: 16.13.1 - shallowequal: 1.1.0 - dev: false - - /react-sortable-hoc@0.8.4(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-J9AFEQAJ7u2YWdVzkU5E3ewrG82xQ4xF1ZPrZYKliDwlVBDkmjri+iKFAEt6NCDIRiBZ4hiN5vzI8pwy/dGPHw==} - peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16.0.0 - react-dom: ^0.14.0 || ^15.0.0 || ^16.0.0 - dependencies: - babel-runtime: 6.26.0 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - dev: false - - /react-transition-group@2.9.0(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} - peerDependencies: - react: '>=15.0.0' - react-dom: '>=15.0.0' - dependencies: - dom-helpers: 3.4.0 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - react-lifecycles-compat: 3.0.4 - dev: false - - /react-virtualized@9.22.5(react-dom@16.14.0)(react@16.13.1): - resolution: {integrity: sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==} - peerDependencies: - react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - dependencies: - '@babel/runtime': 7.24.4 - clsx: 1.2.1 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 16.13.1 - react-dom: 16.14.0(react@16.13.1) - react-lifecycles-compat: 3.0.4 - dev: false - - /react@16.13.1: - resolution: {integrity: sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==} - engines: {node: '>=0.10.0'} + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 + cookie: 1.1.1 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + set-cookie-parser: 2.7.2 dev: false /react@18.2.0: @@ -8895,6 +6594,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 + dev: true /react@19.2.3: resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} @@ -9001,64 +6701,9 @@ packages: resolution: {integrity: sha512-EYtsVGAQarE8daT54cnaY1PIknF2VB78ug6Zre2rs36EsJfC40EG6hmTU2A2P1ZuXnKAt2KI0fzOGHcX7wzdPw==} dev: true - /reduce-reducers@0.4.3: - resolution: {integrity: sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==} - dev: false - - /redux-actions@2.6.5: - resolution: {integrity: sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==} - dependencies: - invariant: 2.2.4 - just-curry-it: 3.2.1 - loose-envify: 1.4.0 - reduce-reducers: 0.4.3 - to-camel-case: 1.0.0 - dev: false - - /redux-immutable@4.0.0(immutable@4.3.5): - resolution: {integrity: sha512-SchSn/DWfGb3oAejd+1hhHx01xUoxY+V7TeK0BKqpkLKiQPVFf7DYzEaKmrEVxsWxielKfSK9/Xq66YyxgR1cg==} - peerDependencies: - immutable: ^3.8.1 || ^4.0.0-rc.1 - dependencies: - immutable: 4.3.5 - dev: false - - /redux-localstorage-debounce@0.1.0: - resolution: {integrity: sha512-1SMGRkUhsH3SHp2x1yse1/4FKIlqSjxvvDP63J7ike8vGI1lWRatG8gSRyhDDcfjNagvnzhoY57P36HcvFXFqw==} - dependencies: - lodash.debounce: 3.1.1 - dev: false - - /redux-localstorage-filter@0.1.1: - resolution: {integrity: sha512-qWx0stDxleQJEO0M4n7DNCWb7VJa+FzOSpYaMPq6aUIYlmlQf9rc197+6uvbNsW3Jsc4G/SYrGPd9s8KQpP5pg==} - dev: false - - /redux-localstorage@1.0.0-rc5: - resolution: {integrity: sha512-7Vv82DGrsb3ncDJxpkEStVoT+qgI9UdrRc5Pl/l6rWsq4j1hQCyG7U+tiOsposeWgSRuqMQRyIe9scR8eED5tA==} - dev: false - - /redux-saga@1.3.0: - resolution: {integrity: sha512-J9RvCeAZXSTAibFY0kGw6Iy4EdyDNW7k6Q+liwX+bsck7QVsU78zz8vpBRweEfANxnnlG/xGGeOvf6r8UXzNJQ==} - dependencies: - '@redux-saga/core': 1.3.0 - dev: false - - /redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} - dependencies: - '@babel/runtime': 7.24.4 - dev: false - - /regenerator-runtime@0.11.1: - resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} - dev: false - - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: false - /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true /regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -9214,10 +6859,6 @@ packages: unified: 11.0.5 dev: false - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: false - /rename-keys@1.2.0: resolution: {integrity: sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==} engines: {node: '>= 0.8.0'} @@ -9237,21 +6878,15 @@ packages: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true - /reselect@4.1.8: - resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - - /resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - dev: false + dev: true /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} @@ -9265,6 +6900,7 @@ packages: /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true /rimraf@5.0.5: resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} @@ -9328,6 +6964,7 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true /rw@1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} @@ -9350,10 +6987,6 @@ packages: isarray: 2.0.5 dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - /safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -9366,17 +6999,11 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /scheduler@0.19.1: - resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - dev: false - /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 + dev: true /scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -9392,10 +7019,6 @@ packages: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} dev: false - /seamless-immutable@7.1.4: - resolution: {integrity: sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==} - dev: false - /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -9428,39 +7051,6 @@ packages: lru-cache: 6.0.0 dev: true - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false - /server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} dev: false @@ -9483,6 +7073,7 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 + dev: true /set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} @@ -9494,14 +7085,6 @@ packages: has-property-descriptors: 1.0.2 dev: true - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - dev: false - /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -9551,6 +7134,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 + dev: true /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -9568,6 +7152,7 @@ packages: /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + dev: true /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} @@ -9644,11 +7229,6 @@ packages: /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - /std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true @@ -9659,20 +7239,6 @@ packages: mixme: 0.5.10 dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /strict-uri-encode@1.1.0: - resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} - engines: {node: '>=0.10.0'} - dev: false - - /string-env-interpolation@1.0.1: - resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} - dev: false - /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -9809,32 +7375,6 @@ packages: inline-style-parser: 0.2.7 dev: false - /styled-components@4.4.1(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==} - requiresBuild: true - peerDependencies: - react: '>= 16.3.0' - react-dom: '>= 16.3.0' - dependencies: - '@babel/helper-module-imports': 7.24.3 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@emotion/is-prop-valid': 0.8.8 - '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.24.4)(styled-components@4.4.1) - css-to-react-native: 2.3.2 - memoize-one: 5.2.1 - merge-anything: 2.4.4 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 16.13.1 - stylis: 3.5.4 - stylis-rule-sheet: 0.0.10(stylis@3.5.4) - supports-color: 5.5.0 - transitivePeerDependencies: - - '@babel/core' - dev: false - /stylelint@16.3.1(typescript@5.4.4): resolution: {integrity: sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==} engines: {node: '>=18.12.0'} @@ -9850,7 +7390,7 @@ packages: cosmiconfig: 9.0.0(typescript@5.4.4) css-functions-list: 3.2.1 css-tree: 2.3.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 file-entry-cache: 8.0.0 @@ -9884,44 +7424,16 @@ packages: - typescript dev: true - /stylis-rule-sheet@0.0.10(stylis@3.5.4): - resolution: {integrity: sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==} - peerDependencies: - stylis: ^3.5.0 - dependencies: - stylis: 3.5.4 - dev: false - - /stylis@3.5.4: - resolution: {integrity: sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==} - dev: false - /stylis@4.3.1: resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} dev: false - /subscriptions-transport-ws@0.9.19(graphql@15.8.0): - resolution: {integrity: sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw==} - deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md - peerDependencies: - graphql: '>=0.10.0' - dependencies: - backo2: 1.0.2 - eventemitter3: 3.1.2 - graphql: 15.8.0 - iterall: 1.3.0 - symbol-observable: 1.2.0 - ws: 7.5.9 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -9959,11 +7471,6 @@ packages: xml-reader: 2.4.3 dev: true - /symbol-observable@1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} - dev: false - /system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} @@ -10003,14 +7510,6 @@ packages: engines: {node: '>=12.22'} dev: false - /tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - dev: false - - /tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - dev: false - /tinybench@2.6.0: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true @@ -10045,19 +7544,10 @@ packages: os-tmpdir: 1.0.2 dev: true - /to-camel-case@1.0.0: - resolution: {integrity: sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q==} - dependencies: - to-space-case: 1.0.0 - dev: false - /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - - /to-no-case@1.0.2: - resolution: {integrity: sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==} - dev: false + dev: true /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -10065,25 +7555,10 @@ packages: dependencies: is-number: 7.0.0 - /to-space-case@1.0.0: - resolution: {integrity: sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==} - dependencies: - to-no-case: 1.0.2 - dev: false - /toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} dev: false - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false - /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: false @@ -10103,21 +7578,11 @@ packages: /trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - /tryer@1.0.1: - resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} - dev: false - /ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} dev: false - /ts-invariant@0.4.4: - resolution: {integrity: sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==} - dependencies: - tslib: 1.14.1 - dev: false - /ts-morph@27.0.2: resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} dependencies: @@ -10125,14 +7590,6 @@ packages: code-block-writer: 13.0.3 dev: false - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: false - /tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -10177,19 +7634,6 @@ packages: engines: {node: '>=8'} dev: true - /type-fest@4.15.0: - resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==} - engines: {node: '>=16'} - dev: false - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -10234,32 +7678,12 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript-compare@0.0.2: - resolution: {integrity: sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==} - dependencies: - typescript-logic: 0.0.0 - dev: false - - /typescript-logic@0.0.0: - resolution: {integrity: sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==} - dev: false - - /typescript-tuple@2.2.1: - resolution: {integrity: sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==} - dependencies: - typescript-compare: 0.0.2 - dev: false - /typescript@5.4.4: resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} hasBin: true dev: true - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: false - /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true @@ -10275,6 +7699,7 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true /undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} @@ -10371,47 +7796,12 @@ packages: engines: {node: '>= 10.0.0'} dev: false - /unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} - dependencies: - normalize-path: 2.1.1 - dev: false - - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.1.1 - dev: false - /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 dev: true - /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} - dev: false - - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - react: 18.2.0 - dev: false - /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true @@ -10419,16 +7809,6 @@ packages: /util-ts-types@1.0.0: resolution: {integrity: sha512-/HXNO5CaJxhnzk5xzpOg1esDu3KHXTW76p+RnFYjIAj9S8nifzsa/BGqHCPr+8wntPJ9k5eUFf9vqOOCo8RgbQ==} - /utility-types@1.1.0: - resolution: {integrity: sha512-6PGyowB/ZDDAygpdZzdLu/9mn2EMf08/V1OOqTTc5EhADgd+/BQhinslzhD9xTVw3EWYa1jI3aBMZy5neBbSfw==} - engines: {node: '>= 4'} - dev: false - - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: false - /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -10461,20 +7841,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - dev: false - - /value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - dev: false - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} dependencies: @@ -10527,7 +7893,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 vite: 5.2.8 @@ -10609,7 +7975,7 @@ packages: '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.4.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.9 @@ -10632,16 +7998,6 @@ packages: - terser dev: true - /vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - dev: false - - /warning@4.0.3: - resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} - dependencies: - loose-envify: 1.4.0 - dev: false - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: @@ -10652,64 +8008,10 @@ packages: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false - /web-worker@1.3.0: resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} dev: false - /webcrypto-core@1.7.9: - resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} - dependencies: - '@peculiar/asn1-schema': 2.3.8 - '@peculiar/json-schema': 1.1.12 - asn1js: 3.0.5 - pvtsutils: 1.3.5 - tslib: 2.6.2 - dev: false - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false - - /webpack-bundle-analyzer@3.9.0: - resolution: {integrity: sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==} - engines: {node: '>= 6.14.4'} - hasBin: true - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - bfj: 6.1.2 - chalk: 2.4.2 - commander: 2.20.3 - ejs: 2.7.4 - express: 4.19.2 - filesize: 3.6.1 - gzip-size: 5.1.1 - lodash: 4.17.21 - mkdirp: 0.5.6 - opener: 1.5.2 - ws: 6.2.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - - /whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -10805,59 +8107,6 @@ packages: signal-exit: 4.1.0 dev: true - /ws@6.2.2: - resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dependencies: - async-limiter: 1.0.1 - dev: false - - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /xml-lexer@0.2.2: resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==} dependencies: @@ -10884,12 +8133,9 @@ packages: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: false - /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true /yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} @@ -10943,27 +8189,13 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true - /zen-observable-ts@0.8.21: - resolution: {integrity: sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==} - dependencies: - tslib: 1.14.1 - zen-observable: 0.8.15 - dev: false - - /zen-observable@0.7.1: - resolution: {integrity: sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==} - dev: false - - /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} - dev: false - /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: false