diff --git a/README.md b/README.md index 278cb5a40b4..e3712534055 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ This is the home of SubQuery documentation. All updates to docs should be added We welcome any contributions or improvements from our community, if you're looking for support we suggest starting by going to the technical support channel in SubQuery's official [Discord server](https://discord.com/invite/subquery). +**Note you should really use `pnpm` package manager when editing docs.** + ## Contributing To SubQuery Welcome and a big thank you for considering contributing to this SubQuery project! Together we can pave the way to a more decentralised future. diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index f9d5c5b2ffb..caccb6e60b8 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -52,6 +52,10 @@ export default defineUserConfig({ text: "SubQuery Indexer SDK", link: "/indexer/welcome.md", }, + { + text: "SubQuery AI Apps Framework", + link: "/ai/welcome.md", + }, { text: "SubQuery Network", link: "/subquery_network/welcome.md", @@ -193,40 +197,40 @@ export default defineUserConfig({ app.pages.map(({ path }) => [ path.replace( "/subquery_network/node_operators/indexers/", - "/subquery_network/indexers/", + "/subquery_network/indexers/" ), path, - ]), + ]) ), ...Object.fromEntries( app.pages.map(({ path }) => [ path.replace("/indexer/academy/", "/academy/"), path, - ]), + ]) ), ...Object.fromEntries( app.pages.map(({ path }) => [ path.replace("/indexer/build/", "/build/"), path, - ]), + ]) ), ...Object.fromEntries( app.pages.map(({ path }) => [ path.replace("/indexer/miscellaneous/", "/miscellaneous/"), path, - ]), + ]) ), ...Object.fromEntries( app.pages.map(({ path }) => [ path.replace("/indexer/quickstart/", "/quickstart/"), path, - ]), + ]) ), ...Object.fromEntries( app.pages.map(({ path }) => [ path.replace("/indexer/run_publish/", "/run_publish/"), path, - ]), + ]) ), }; }, diff --git a/docs/.vuepress/public/assets/img/ai/features.jpg b/docs/.vuepress/public/assets/img/ai/features.jpg new file mode 100644 index 00000000000..e2f673bf542 Binary files /dev/null and b/docs/.vuepress/public/assets/img/ai/features.jpg differ diff --git a/docs/.vuepress/public/assets/img/ai/guide-init.png b/docs/.vuepress/public/assets/img/ai/guide-init.png new file mode 100644 index 00000000000..ba035cd9fea Binary files /dev/null and b/docs/.vuepress/public/assets/img/ai/guide-init.png differ diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index f66059608f7..00f2365daee 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -737,6 +737,43 @@ export const getSidebar = (locale: string) => `${locale}/subquery_network/community.md`, `${locale}/subquery_network/glossary.md`, ], + "/ai/": [ + { + text: "Welcome", + link: `${locale}/ai/welcome.md`, + }, + { + text: "Guides", + link: `${locale}/ai/guides/fancy-greeter.md`, + children: [`${locale}/ai/guides/fancy-greeter.md`], + }, + { + text: "Build", + link: `${locale}/ai/build/app.md`, + children: [ + `${locale}/ai/build/app.md`, + `${locale}/ai/build/function_tools.md`, + `${locale}/ai/build/rag.md`, + ], + }, + { + text: "Run", + link: `${locale}/ai/run/local.md`, + children: [ + `${locale}/ai/run/local.md`, + `${locale}/ai/run/cli.md`, + `${locale}/ai/run/docker.md`, + ], + }, + { + text: "Query", + link: `${locale}/ai/query/query.md`, + }, + { + text: "Publish", + link: `${locale}/ai/publish/publish.md`, + }, + ], "/miscellaneous/": [ `${locale}/miscellaneous/contributing.md`, `${locale}/miscellaneous/social_media.md`, diff --git a/docs/.vuepress/styles/index.scss b/docs/.vuepress/styles/index.scss index fda36e493df..0331b82ccbd 100644 --- a/docs/.vuepress/styles/index.scss +++ b/docs/.vuepress/styles/index.scss @@ -1,8 +1,7 @@ // place your custom styles here @font-face { font-family: "Inter"; - src: - local("Inter-Regular"), + src: local("Inter-Regular"), url("https://static.subquery.network/design/fonts/Inter-Regular.ttf") format("truetype"); font-display: swap; @@ -10,8 +9,7 @@ @font-face { font-family: "Inter-SemiBold"; - src: - local("Inter-SemiBold"), + src: local("Inter-SemiBold"), url("https://static.subquery.network/design/fonts/Inter-SemiBold.ttf") format("truetype"); font-display: swap; @@ -19,8 +17,7 @@ @font-face { font-family: "Inter-Bold"; - src: - local("Inter-Bold"), + src: local("Inter-Bold"), url("https://static.subquery.network/design/fonts/Inter-Bold.ttf") format("truetype"); font-display: swap; @@ -147,7 +144,7 @@ iframe { .vp-sidebar-link { transition: all 0.2s linear; margin: 0; - padding: 12px 24px; + padding: 12px 16px; border-radius: 0; } diff --git a/docs/README.md b/docs/README.md index 91b144c21fd..b34bde5d6d6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -26,8 +26,12 @@ photoSwipe: false The SubQuery Data Indexer is a open-source data indexer that provides you with custom APIs for your web3 project across all of our supported - chains. + chains. + + + SubQuery AI Apps framework makes building decentralised AI Applications + fast and easy. +
@@ -51,6 +55,23 @@ photoSwipe: false
+ + +
+ + AI Apps Framework +
+ Intelligent apps with SubQuery's AI Apps + The AI App Framework allows you to build, deploy, and run production AI apps on the SubQuery Network in a trusted and decentralised environment. +
+ +
+
+
+
Our Most Popular Guides @@ -154,9 +176,9 @@ const polularGuides = computed(() => { "description": "The SubQuery Token (SQT) is a utility token that powers the SubQuery Network. Learn how to get SQT and the tokenomics of it." }, { - "path": "/indexer/run_publish/publish.html", - "title": "How to host and run your project", - "description": "SubQuery is open-source and gives a number of different options, including self-hosting, our managed service, and our decentralised network." + "path": "/ai/welcome.html", + "title": "Build and deploy AI Apps with SubQuery", + "description": "Anyone can build intelligent dApps with the SubQuery AI App framework, providing a shortcut for developers to start incorporating decentralised AI into their applications." } ]}) diff --git a/docs/ai/build/app.md b/docs/ai/build/app.md new file mode 100644 index 00000000000..271b95db64a --- /dev/null +++ b/docs/ai/build/app.md @@ -0,0 +1,160 @@ +# AI Apps + +The SubQuery AI App framework is designed with user-friendliness in mind, providing intuitive wrappers around core features. This lowers the barrier to entry for developers of all skill levels, making it easier to create, run, and deploy AI Apps. + +Building an AI application is a straightforward process that takes minutes. The SubQuery AI App framework simplifies most of this development, while allowing you to build complex applications that are ready to run on a decentralised network. + +There are a few components to an application, to get started, create a project manifest and entrypoint. + +## Project Manifest + +The project manifest is the start point for your project. It defines a set of options and references your [tools](./tools) and [rag data](./rag). The format of this file can either be in JSON or TypeScript format. It is recommended to use TypeScript as it can easily provide extra build time functionality and type safety. + +::: info Note +When you publish your app, the TypeScript manifest will be converted to JSON. +::: + +::: code-tabs + +@tab:active typescript + +```typescript +import type { ProjectManifest } from "jsr:@subql/ai-app-framework"; + +const project: ProjectManifest = { + // The version of the manifest spec, this is always 0.0.1. + specVersion: "0.0.1", + // For security reasons you must provide a list of allowed domains that your project will use + endpoints: ["gateway.subquery.network"], + // (Optional) Vector db storage for RAG data, currently only lance DB is supported + vectorStorage: { + type: "lancedb", + path: "./.db", + }, + // (Optional) Runtime configuration options, this will get passed into your project entrypoint. + // It needs to be in the JSON Schema format. We recommend using @sinclair/typebox to make this easy and provide runtime type checking. + config: { + type: "object", + properties: { + GRAPHQL_ENDPOINT: { + default: + "https://gateway.subquery.network/query/QmcoJLxSeBnGwtmtNmWFCRusXVTGjYWCK1LoujthZ2NyGP", + type: "string", + }, + BASE_RPC: { + default: "https://gateway.subquery.network/rpc/base-full", + type: "string", + }, + BASE_SQT_ADDR: { + default: "0x858c50C3AF1913b0E849aFDB74617388a1a5340d", + type: "string", + }, + }, + required: ["GRAPHQL_ENDPOINT", "BASE_RPC", "BASE_SQT_ADDR"], + }, + // The LLM model you wish to use. Currently any Ollama model is supported + model: "llama3.1", + // (Optional) The LLM model for generating vectors from text. + embeddingsModel: "nomic-embed-text", + // The path to your project entrypoint + entry: "./index.ts", +}; + +// The manifest must be the default export +export default project; +``` + +@tab json + +```json +{ + "specVersion": "0.0.1", + "endpoints": ["gateway.subquery.network"], + "vectorStorage": { + "type": "lancedb", + "path": "./.db" + }, + "config": { + "type": "object", + "properties": { + "GRAPHQL_ENDPOINT": { + "default": "https://gateway.subquery.network/query/QmcoJLxSeBnGwtmtNmWFCRusXVTGjYWCK1LoujthZ2NyGP", + "type": "string" + }, + "BASE_RPC": { + "default": "https://gateway.subquery.network/rpc/base-full", + "type": "string" + }, + "BASE_SQT_ADDR": { + "default": "0x858c50C3AF1913b0E849aFDB74617388a1a5340d", + "type": "string" + } + }, + "required": ["GRAPHQL_ENDPOINT", "BASE_RPC", "BASE_SQT_ADDR"] + }, + "model": "llama3.1", + "entry": "./index.ts" +} +``` + +::: + +### Config + +To specify or override default config values when running, you can provide them with environment variables. + +Example: + +```shell +GRAPHQL_ENDPOINT=https://some.other.endpoint subql-ai -p ./path/to/project.ts +``` + +## Project Entrypoint + +The project entrypoint is how your tools and system prompt are initialised, unlike the project manifest this is not static so you can change the behaviour based on your config spec. + +Example entrypoint: + +```typescript +import type { ProjectEntry, Project } from "jsr:@subql/ai-app-framework"; + +// This is your system prompt. It gives broad information to the LLM about what your application should to and how it should respond. +const SYSTEM_PROMPT = ` +You are an agent designed to help a user with their token delegation on the SubQuery Network. +Given an input question, use the available tools to answer the users question quickly and concisely. +Your answer must use the result of the tools available. +Do not mention that you used a tool or the name of a tool. +If you need more information to answer the question, ask the user for more details. +All token amounts are in SQT. + +If the question seems to be unrelated to the API, just return "I don't know" as the answer. +`; + +const entrypoint: ProjectEntry = async (config: Config): Promise => { + return { + // Initialise any tools you wish to provided with your app + tools: [ + new TotalDelegation(config.GRAPHQL_ENDPOINT), + new DelegatedIndexers(config.GRAPHQL_ENDPOINT), + new UnclaimedDelegatorRewards(config.GRAPHQL_ENDPOINT), + new CurrentDelegatorApy(config.GRAPHQL_ENDPOINT), + new BetterIndexerApy(config.GRAPHQL_ENDPOINT), + new TokenBalance( + new JsonRpcProvider(config.BASE_RPC), + config.BASE_SQT_ADDR + ), + new SubqueryDocs(), + ], + systemPrompt: SYSTEM_PROMPT, + }; +}; + +// The project entry must be a default export +export default entrypoint; +``` + +## Next Steps + +- [Define any additional function tools](./function_tools) +- [Add RAG data](./rag) +- Optimise your System Prompt and Tool descriptions. diff --git a/docs/ai/build/function_tools.md b/docs/ai/build/function_tools.md new file mode 100644 index 00000000000..6511d680222 --- /dev/null +++ b/docs/ai/build/function_tools.md @@ -0,0 +1,87 @@ +# Function Tools + +You can extend your AI Apps with additional function tooling, facilitating connections to external systems and tools. This capability enables rich integrations, allowing users to create versatile applications that can interact seamlessly with blockchains and other ecosystems. + +Function tools are functions that extend the functionality of the LLM. They can be used to do many things like request data from external APIs and services, perform computations or analyse structured data outputs from the AI. + +An example of a simple tool is making a GraphQL query from a specific SubQuery indexing SDK project. + +## Defining a function tool + +Function tools consist of 4 parts: + +- `name`: The name of the tool, this is used to identify the tool and must be unique amongst the provided tools. +- `description`: This is like a system prompt for the LLM to understand what the tool does and when it should be used, it should be as descriptive as possible as it allows the AI to determine when to use the tool and what it should be used for. +- `parameters`: This defines what parameters the LLM needs to gather in order to run the tool. +- `call`: This is the function implementation that takes an input that should match the defined parameters and return a string with the result. + +### Example + +This tool example makes a GraphQL request to get the amount of SQT a wallet address has delegated on the SubQuery network. + +```ts +import { FunctionTool, type IContext } from "jsr:@subql/ai-app-framework"; + +export class TotalDelegation extends FunctionTool { + constructor(readonly endpoint: string) { + super(); + } + + // The name can be inferred from the class name or if you wish to be explicit it can be done here + // name = 'total-delegation-amount'; + description = `This tool gets the total delegation amount of SQT for the given user address. +If no delegation is found it will return null.`; + parameters = { + type: "object", + required: ["account"], + properties: { + account: { + type: "string", + description: + "The account or address of the user which to get delegation information for", + }, + }, + }; + + async call( + { account }: { account: string }, + ctx: IContext + ): Promise { + try { + const res = await graphqlRequest<{ + delegator: null | { totalDelegations: Amount }; + }>( + this.endpoint, + `{ + delegator(id: "${account}") { + totalDelegations + } + }` + ); + + if (!res.delegator) { + return null; + } + + return formatEther(res.delegator.totalDelegations.valueAfter.value); + } catch (error) { + return `${error}`; + } + } +} +``` + +### Context + +Tool calls have access to a context. This provides relevant functions that a tool can use relating to the LLM and Vector DB. + +It has the following interface: + +```ts +type IContext = { + // Converts text into vector data using the nomic-embed-text model + computeQueryEmbedding: (query: string) => Promise; + // Searches the provided vector DB with vector data from computeQueryEmbedding and returns matching results + vectorSearch: (table: string, vector: number[]) => Promise; +}; +``` diff --git a/docs/ai/build/other.md b/docs/ai/build/other.md new file mode 100644 index 00000000000..80478d8dc02 --- /dev/null +++ b/docs/ai/build/other.md @@ -0,0 +1,5 @@ +# Other + +Other random bits of information that don't yet have a place + +- Don't use a `deno.json` file in your project for import maps. They won't be resolved when publishing. diff --git a/docs/ai/build/rag.md b/docs/ai/build/rag.md new file mode 100644 index 00000000000..6747bccbeae --- /dev/null +++ b/docs/ai/build/rag.md @@ -0,0 +1,122 @@ +# RAG + +By integrating RAG (Retrieval-Augmented Generation) files, your AI Apps can leverage domain-specific knowledge efficiently. With initial support for LanceDB and future compatibility with other vector databases, developers can enhance their applications' performance and accuracy. Additionally, publishing to IPFS ensures data integrity and accessibility. + +Retrieval Augmented Generation (RAG) allows developers to provide a knowledge base outside of the LLMs training data. This means that the LLM can provide specific information about a dataset or have expertise in a certain area. + +## Defining RAG + +Defining the RAG data set is largely up to the user to define. Currently only [Lance DB](https://lancedb.github.io/lancedb/) is supported. You can [review Lance DB's documentation](https://lancedb.github.io/lancedb/basic/) to determine the best way to ingest and embed your chosen RAG source data. + +We do provide an off the shelf way to create a table from markdown files. This will parse and chunk the content appropriately and use the `nomic-embed-text` model to generate vectors. + +```shell +subql-ai embed-mdx -i ./path/to/dir/with/markdown -o ./db --table your-table-name +``` + +## Adding RAG to your app + +Once you have defined your RAG dataset you need to include it in your project. + +First you will need to add it to your project manifest: + +```ts +const project: ProjectManifest = { + // ..The rest of your project manifest + vectorStorage: { + type: "lancedb", + path: "./data.lance", + }, + // Set this to the same model you use to generate your RAG db + embeddingsModel: "nomic-embed-text", +}; +``` + +In order for your project to be able to use this data you will also need to define a tool to consume it. We provide a built in RagTool which you can use, if you need more specific functionality you can extend this or build your own. + +```ts +import { RagTool } from "jsr:@subql/ai-app-framework"; + +// Add this to your array of tools in your project, +// The first argument is your table name and the second is the column you want to select +new RagTool("subql-docs", "content"); +``` + +::: details Tool implementation + +```ts +export class RagTool extends FunctionTool { + /** + * RagTool is a default implementation allowing querying RAG data + * @param tableName The name of the table to query + * @param column The column on the table to extract results from + */ + constructor(readonly tableName: string, readonly column: string) { + super(); + } + + get description(): string { + return `This tool gets relevant information from the ${this.tableName}. It returns a list of results separated by newlines.`; + } + + parameters = { + type: "object", + required: ["query"], + properties: { + account: { + type: "string", + description: "A search string, generally the users prompt", + }, + }, + }; + + async call({ query }: { query: string }, ctx: IContext): Promise { + const vector = await ctx.computeQueryEmbedding(query); + const raw = await ctx.vectorSearch(this.tableName, vector); + + const res = raw + .map((r) => r[this.column]) + .filter((c) => !!c) + .join("\n"); + + return res; + } +} +``` + +::: + +This tool does a few things: + +1. Converts the user query input into an embedded vector data. +2. Searches the specified vector db table for the closest matches. +3. Processes the raw results. In this example the data has a column called `content` that needs to be extracted and combined for the LLM to use as the answer. + +#### Add your tool to your project + +```ts +const tools: FunctionTool[] = [ + // ..The rest of your tools + new SubqueryDocs(), +]; +``` + +## Updating your data + +RAG data is generally not static, the source of this information can change and evolve. +That means from time to time it is handy to rebuild your database. + +In order to do this when you define your application the path to your Lance DB should not use a local or IPFS path. +Instead you should use any of the supported storage options that [Lance DB Supports](https://lancedb.github.io/lancedb/concepts/storage/). + +Example: + +```ts + +const project: ProjectManifest = { + // ..The rest of your project manifest + vectorStorage: { + type: "lancedb", + path: "s3://my-bucket/my-path/data.lance" +} +``` diff --git a/docs/ai/guides/fancy-greeter.md b/docs/ai/guides/fancy-greeter.md new file mode 100644 index 00000000000..cd8ad7650b0 --- /dev/null +++ b/docs/ai/guides/fancy-greeter.md @@ -0,0 +1,150 @@ +# SubQuery Fancy Greeter - Basic Example + +This basic example AI App is a good starting point to learn about prompt engineering and function tooling. It's a perfect example that shows off the key features of SubQuery's AI App Framework. + +You can follow along in the tutorial with the [example code here](https://github.com/subquery/subql-ai-app-example/tree/main/fancy-greeter). + +## Prerequisites + +You should have the following installed + +- [Docker](https://docker.com/): This tutorial will use Docker to run a local version of SubQuery's node. +- [Ollama](https://ollama.com/). An endpoint to an Ollama instance, this could be running on your local computer or a commercial endpoint online. +- [Deno](https://docs.deno.com/runtime/getting_started/installation/): A recent version of Deno, the JS engine for the SubQuery AI App Framework. + +## 1. Install the framework + +Run the following command to install the SubQuery AI framework globally on your system: + +```bash +deno install -g -f --allow-env --allow-net --allow-import --allow-read --allow-write --allow-ffi --allow-run --unstable-worker-options -n subql-ai jsr:@subql/ai-app-framework/cli +``` + +This will install the CLI and Runner. Make sure you follow the suggested instructions to add it to your path. + +You can confirm installation by running `subql-ai --help`. + +## 2. Create a new App + +You can initialise a new app using `subql-ai init`. It will ask you to provide a name and a Ollama model to use. + +![Init a new AI App](/assets/img/ai/guide-init.png) + +After you complete the initialisation process, you will see a folder with your project name created inside the directory. Please note that there should be three files, a `project.ts`, a `manifest.ts`, a `docker-compose.yml`, and a `README.md`. + +## 3. Run the AI App + +We can run the project at any time using the following command, where the `-p` is the path to the `project.ts`, and `-h` is the URL of the Ollama endpoint. + +```bash +subql-ai -p ./project.ts -h http://host.docker.internal:11434 +``` + +Once the project is running you should see the following: `Listening on http://0.0.0.0:7827/` + +You can now interact with your application. The easiest way to do that is to run the repl in another terminal. + +```shell +subql-ai repl +``` + +This will start a CLI chat. You can type `/bye` to exit. + +You should review the instructions on [running locally](../run/local.md) or via [Docker](../run/docker.md). + +## 4. Update System Prompt + +A good first place to start is by updating your system prompts in `project.ts`. System prompts are the basic way you customise the behaviour of your AI agent. + +We do this by editing the project entrypoint in the `project.ts` file, the [project entrypoint](../build/app.md#project-entrypoint) is how your tools and system prompt are initialised. + +```ts +const entrypoint: ProjectEntry = async (config: Config): Promise => { + return { + tools: [], + systemPrompt: `You are an agent designed to greet a user in the strangest way possible. + Always ask for the users name first before you greet them, once you have this information, you can greet them in a unique way. + Your greeting should be weird, perhaps a pun or dad joke with their name. Please be funny, interesting, weird, and/or unique. + If you need more information to answer to greet the user, ask the user for more details.`, + }; +}; + +export default entrypoint; +``` + +You can read more about edits to the `project.ts` [here](../build/app.md). + +## 5. Add a function tool + +Function tools are functions that extend the functionality of the LLM. They can be used to do many things like request data from external APIs and services, perform computations or analyse structured data outputs from the AI. You can [read more about function tooling here](../build/function_tools.md). + +We're going to add a simple function tool that does nothing more than take an input name, and reverse the name. For example, `alice` would become `ecila` and `bob` would remain `bob`. + +Function tools consist of 4 parts: + +- `name`: The name of the tool, this is used to identify the tool and must be unique amongst the provided tools. +- `description`: This is like a system prompt for the LLM to understand what the tool does and when it should be used, it should be as descriptive as possible as it allows the AI to determine when to use the tool and what it should be used for. +- `parameters`: This defines what parameters the LLM needs to gather in order to run the tool. +- `call`: This is the function implementation that takes an input that should match the defined parameters and return a string with the result. + +Note in the example below we have: + +- defined the function tool (`class ReverseNameTool extends FunctionTool { ... }`) +- Added the new function tool to the list of tools (`tools: [new ReverseNameTool()],`) +- Updated the system prompt to tell the AI to always reverse the name using the Reverse Name function (`ALWAYS REVERSE THEIR NAME USING THE REVERSE_NAME_TOOL BEFORE GREETING THEM!`). + +```ts +class ReverseNameTool extends FunctionTool { + description = `This tool reverses the users name.`; + parameters = { + type: "object", + required: ["name"], + properties: { + name: { + type: "string", + description: "The name of the user", + }, + }, + }; + + async call({ name }: { name: string }): Promise { + // Reverse the order of the input name + return await name.split("").reverse().join(""); + } +} + +// deno-lint-ignore require-await +const entrypoint: ProjectEntry = async (config: Config): Promise => { + return { + tools: [new ReverseNameTool()], + systemPrompt: `You are an agent designed to greet a user in the strangest way possible. + Always ask for the users name first before you greet them, once you have this information, you can greet them in a unique way. + Your greeting should be weird, perhaps a pun or dad joke with their name. Please be funny, interesting, weird, and/or unique. + ALWAYS REVERSE THEIR NAME USING THE REVERSENAMETOOL BEFORE GREETING THEM! + Do not mention that you used a tool or the name of a tool. + If you need more information to answer to greet the user, ask the user for more details.`, + }; +}; + +export default entrypoint; +``` + +Note that this is a very silly example of a function tool, but you can really do anything with function tools. For example: + +- Make an API request to retrieve or update data +- Get the balance of a user's wallet +- Log results of certain conversations to an external service +- Potentially even create a transaction on chain + +## Summary + +You now have a running SubQuery AI App that uses the latest LLMs and also incorporates a function tool. This may be a simple and rather basic example, but it's a great starting point to building complex AI Apps and agents custom built for your application. + +[**A full version of the code for this guide can be found here**](https://github.com/subquery/subql-ai-app-example/tree/main/fancy-greeter). + +From here you may want to look at the following guides: + +- Detailed documentation on the [AI App Manifest](../build/app.md). +- Enhance your AI App with [function tooling](../build/function_tools.md). +- Give your AI App more knowledge with [RAG support](../build/rag.md). +- [Publish your AI App](../publish/publish.md) so it can run on the [SubQuery Decentralised Network](https://app.subquery.network). diff --git a/docs/ai/publish/publish.md b/docs/ai/publish/publish.md new file mode 100644 index 00000000000..aeb2463757d --- /dev/null +++ b/docs/ai/publish/publish.md @@ -0,0 +1,11 @@ +# Publish your AI App + +The SubQuery AI App Framework uses a sandboxed environment for secure and efficient operations. Each AI App is encapsulated with its own manifest, enabling seamless distribution across the SubQuery Network. This ensures that scaling is not only easy but also secure, allowing developers to focus on innovation rather than infrastructure. + +:::info AI Apps are in beta + +We don't yet support publishing your AI App to the SubQuery Network, but we are working on this right now. + +You can continue to build, develop, and self host your AI Apps and soon you will be able to deploy to the decentralised network. + +::: diff --git a/docs/ai/query/query.md b/docs/ai/query/query.md new file mode 100644 index 00000000000..ce38d3ecb56 --- /dev/null +++ b/docs/ai/query/query.md @@ -0,0 +1,8 @@ +# Querying your AI App + +SubQuery AI Apps expose the industry-standard OpenAI API, ensuring compatibility with a wide range of applications and tools. This makes it easier for developers to integrate AI capabilities into their projects while adhering to established standards. + +The http interface implements OpenAPI interface methods: + +- [GET `/v1/models`](https://platform.openai.com/docs/api-reference/models) +- [POST `/v1/chat/completions`](https://platform.openai.com/docs/api-reference/chat/create) diff --git a/docs/ai/run/cli.md b/docs/ai/run/cli.md new file mode 100644 index 00000000000..be6d0e0f4e7 --- /dev/null +++ b/docs/ai/run/cli.md @@ -0,0 +1,150 @@ +# CLI Reference + +``` +Run an AI app + +Commands: + subql-ai Run an AI app [default] + subql-ai info Get information on a project + subql-ai embed-mdx Creates a Lance db table with embeddings from MDX files + subql-ai repl Creates a CLI chat with a running app + subql-ai publish Publishes a project to IPFS so it can be easily distributed + subql-ai init Create a new project skeleton + +Options: + --version Show version number [boolean] + --help Show help [boolean] + -p, --project A path to a project file [string] [required] + --ipfsEndpoint An endpoint to an IPFS gateway + [string] [default: "https://unauthipfs.subquery.network/ipfs/api/v0/"] + --ipfsAccessToken A bearer authentication token to be used with the ipfs + endpoint [string] + -h, --host The ollama RPC host + [string] [default: "http://localhost:11434"] + -i, --interface The interface to interact with the app + [string] [choices: "cli", "http"] [default: "http"] + --port The port the http service runs on + [number] [default: 7827] + --forceReload If the project is from IPFS force reload it and don't + use the cached version [boolean] [default: false] + --toolTimeout Set a limit for how long a tool can take to run, unit + is MS [number] [default: 10000] +``` + +### `subql-ai` + +Run an AI app. + +```shell +subql-ai -p ./path/to/project.ts +``` + +### `info` + +Get information on a project. + +```shell +subql-ai info -p ./path/to/project.ts +``` + +::: details Example output + +```json +Project Information: + Model: + llama3.1 + Conifg: + GRAPHQL_ENDPOINT: https://gateway.subquery.network/query/QmcoJLxSeBnGwtmtNmWFCRusXVTGjYWCK1LoujthZ2NyGP + "type": "object", + "properties": { + "GRAPHQL_ENDPOINT": { + "default": "https://gateway.subquery.network/query/QmcoJLxSeBnGwtmtNmWFCRusXVTGjYWCK1LoujthZ2NyGP", + "type": "string" + }, + "BASE_RPC": { + "default": "https://gateway.subquery.network/rpc/base-full", + "type": "string" + }, + "BASE_SQT_ADDR": { + "default": "0x858c50C3AF1913b0E849aFDB74617388a1a5340d", + "type": "string" + } + }, + "required": [ + "GRAPHQL_ENDPOINT", + "BASE_RPC", + "BASE_SQT_ADDR" + ] + } + Tools: + TotalDelegation + DelegatedIndexers + UnclaimedDelegatorRewards + CurrentDelegatorApy + BetterIndexerApy + TokenBalance + SubqueryDocs + System Prompt: + + You are an agent designed to help a user with their token delegation on the SubQuery Network. + Given an input question, use the available tools to answer the users question quickly and concisely. + You answer must use the result of the tools available. + Do not mention that you used a tool or the name of a tool. + If you need more information to answer the question, ask the user for more details. + All token amounts are in SQT. + + If the question seems to be unrelated to the API, just return "I don't know" as the answer. + + Endpoints: + gateway.subquery.network + Vector Storage: + Type: lancedb + Path: ipfs://QmbELwJY7akcah3Ds5taT3KSN3aPG8xUv5poJ8crdhXrhx + +``` + +::: + +### `embed-mdx` + +Creates a Lance db table with embeddings from MDX files + +```shell +subql-ai embed-mdx -i ./path/to/dir/with/markdown -o ./db --table your-table-name +``` + +### `repl` + +When you have a running app you can run this in another terminal as a CLI interface for chatting with the App. + +Type `/bye` to exit + +```shell +subql-ai repl +``` + +### `publish` + +Publish your project to IPFS, this is how you can distribute your project + +```shell +subql-ai publish -p ./path/to/project.ts +``` + +::: tip Info +You can use the `--silent` flag to only output the IPFS url. This is useful with CI pipelines. +::: + +::: details example output + +``` +✔ Loaded project manifest +✔ Loaded project +✔ Generated project bundle +✔ Published project code +✔ Published vector db +✔ Published project to IPFS +ipfs://QmSejMf351cHqNTEbmJDziVLJ26r3hyepq1e6wbnejvgqM +``` + +::: diff --git a/docs/ai/run/docker.md b/docs/ai/run/docker.md new file mode 100644 index 00000000000..aedd93f7c75 --- /dev/null +++ b/docs/ai/run/docker.md @@ -0,0 +1,54 @@ +# Docker + +A docker image is provided for running applications. + +## Docker Compose + +This is an example docker compose which runs an app from IPFS with the given project (`-p=ipfs://QmNaNBhXJoFpRJeNQcnTH8Yh6Rf4pzJy6VSnfnQSZHysdZ`) + +It also includes a web UI for testing purposes. +To use the web UI head to [http://localhost:8080](http://localhost:8080) and select the `subql-ai-0` model then start chatting. + +::: warning +Docker compose doesn't currently support running local projects as dependencies are not resolved. +This is something that will be fixed in the future. +::: + +```yml +services: + subql-ai: + image: subquerynetwork/subql-ai-app + ports: + - 7827:7827 + restart: unless-stopped + volumes: + - ./:/app + command: + - ${SUB_COMMAND:-} + - -p=ipfs://QmNaNBhXJoFpRJeNQcnTH8Yh6Rf4pzJy6VSnfnQSZHysdZ + - -h=http://host.docker.internal:11434 + healthcheck: + test: ["CMD", "curl", "-f", "http://subql-ai:7827/ready"] + interval: 3s + timeout: 5s + retries: 10 + + # A simple chat UI + ui: + image: ghcr.io/open-webui/open-webui:main + ports: + - 8080:8080 + restart: always + depends_on: + "subql-ai": + condition: service_healthy + environment: + - "OPENAI_API_BASE_URLS=http://subql-ai:7827/v1" + - "OPENAI_API_KEYS=foobar" + - "WEBUI_AUTH=false" + volumes: + - open-webui:/app/backend/data + +volumes: + open-webui: +``` diff --git a/docs/ai/run/local.md b/docs/ai/run/local.md new file mode 100644 index 00000000000..ace2e803e03 --- /dev/null +++ b/docs/ai/run/local.md @@ -0,0 +1,23 @@ +# Running Locally + +Now that you have made your application and built it, you can run it locally to test it out. + +To do so run the following command, where the `-p` is the path to the `project.ts`, and `-h` is the URL of the Ollama endpoint: + +```shell +subql-ai -p ./path/to/project.ts -h http://ollama.public.url +``` + +Once the project is running you should see the following: `Listening on http://0.0.0.0:7827/` + +You can now interact with your application. The easiest way to do that is to run the repl in another terminal. + +```shell +subql-ai repl +``` + +This will start a CLI chat. You can type `/bye` to exit. + +Alternatively you can [run with docker](./docker.md) to get a web UI. + +You may want to refer to the [command line arguments](../run/cli.md) used in SubQuery AI App Framework. It will help you understand the commands better. diff --git a/docs/ai/welcome.md b/docs/ai/welcome.md new file mode 100644 index 00000000000..ccf6c62bf75 --- /dev/null +++ b/docs/ai/welcome.md @@ -0,0 +1,45 @@ +# Build with SubQuery's AI App Framework + +The AI App Framework allows you to build, deploy, and run production AI apps on the SubQuery Network in a trusted and decentralised environment. + +AI apps are self contained and easily scalable AI agents that you can use to power your intelligent applications. They are sandboxed to a trusted runner and can be easily distributed and scaled horizontally across the SubQuery Network. + +## Features + +- **Effortless decentralised distribution:** The SubQuery AI App Framework uses a sandboxed environment for secure and efficient operations. Each AI App is encapsulated with its own manifest, enabling seamless distribution across the SubQuery Network. This ensures that horizontal scaling is not only easy but also secure, allowing developers to focus on innovation rather than infrastructure. +- **Empower your AI with RAGs:** By integrating [RAG (Retrieval-Augmented Generation) files](./build/rag.md), your AI Apps can leverage domain-specific knowledge efficiently. With initial support for LanceDB and future compatibility with other vector databases, developers can enhance their applications' performance and accuracy. Additionally, publishing to IPFS ensures data integrity and accessibility. +- **Your AI journey starts here:** The SubQuery AI App framework is designed with user-friendliness in mind, providing intuitive wrappers around core features. This lowers the barrier to entry for developers of all skill levels, making it easier to create, run, and deploy AI Apps. +- **Connect, create, and integrate with function tooling:** You can extend your AI Apps with additional [function tooling](./build/function_tools.md), facilitating connections to external systems and tools. This capability enables rich integrations, allowing users to create versatile applications that can interact seamlessly with blockchains and other ecosystems. +- **Choose your model:** By supporting a range of open-source LLM models, starting with Ollama-compatible ones, the SubQuery AI App Framework ensures that users can choose the best model for their applications without being locked into a specific model ecosystem. This flexibility fosters open-source innovation. +- **Proven standards for seamless integration:** SubQuery AI Apps expose the industry-standard [OpenAI API](./query/query.md), ensuring compatibility with a wide range of applications and tools. This makes it easier for developers to integrate AI capabilities into their projects while adhering to established standards. + +![AI App Framework Features](/assets/img/ai/features.jpg) + +## Getting Started + +### Setup your environment + +To use the framework there are a couple of dependencies: + +- [Deno](https://deno.land/). The SubQuery AI framework is built on Deno and is needed to build your app. +- [Ollama](https://ollama.com/). Alternatively an endpoint to an Ollama instance. + +### Install the framework + +Run the following command to install the SubQuery AI framework globally on your system: + +```bash +deno install -g -f --allow-env --allow-net --allow-import --allow-read --allow-write --allow-ffi --allow-run --unstable-worker-options -n subql-ai jsr:@subql/ai-app-framework/cli +``` + +This will install the CLI and Runner. Make sure you follow the suggested instructions to add it to your path. + +You can confirm installation by running `subql-ai --help`. + +## Create a new App + +You can initialise a new app using `subql-ai init`. It will ask you to provide a name and a Ollama model to use. + +![Init a new AI App](/assets/img/ai/guide-init.png) + +You can follow along on a [guide to create a basic SubQuery AI App with the SubQuery App framework here](./guides/fancy-greeter.md), or read the instructions on how to create an app yourself [here](./build/app.md) diff --git a/docs/indexer/academy/herocourse/module5.md b/docs/indexer/academy/herocourse/module5.md index 306529183f8..f817289331e 100644 --- a/docs/indexer/academy/herocourse/module5.md +++ b/docs/indexer/academy/herocourse/module5.md @@ -20,10 +20,6 @@ SubQuery Managed Service is our managed service solution and SubQuery Explorer i -### References - -- [What are deployment slots?](../../miscellaneous/faqs.md#how-much-does-it-cost-to-host-my-project-in-subquery-projects) - ## Lesson 3 - Exploring Projects
@@ -83,10 +79,7 @@ To understand more about how dictionaries work, refer to: #### Step 4: Understand the Slots -Slots are a feature in SubQuery's Managed Service that are the equivalent of a development environment. To learn more, visit: - -- [What are deployment slots?](../../miscellaneous/faqs.md#what-are-deployment-slots) -- [What is the advantage of a staging slot?](../../miscellaneous/faqs.md#what-is-the-advantage-of-a-staging-slot) +Slots are a feature in SubQuery's Managed Service that are the equivalent of a development environment. To learn more, visit https://managedservice.subquery.network/ #### Step 5: Access Playground @@ -107,7 +100,3 @@ It is important to keep your SubQuery projects tidy and ensure that test project To delete a project see the guide below: - [Deleting SubQuery projects](../tutorials_examples/delete-projects.md) - -### References - -- [What are deployment slots?](../../miscellaneous/faqs.md#what-are-deployment-slots) diff --git a/docs/indexer/miscellaneous/faq.md b/docs/indexer/miscellaneous/faq.md index 3eb19d71376..bae3e1dc9cd 100644 --- a/docs/indexer/miscellaneous/faq.md +++ b/docs/indexer/miscellaneous/faq.md @@ -36,7 +36,7 @@ We don't (yet) support Bitcoin. The supported networks are listed [here](https:/ ### Why SubQuery instead of the Graph? -See [Graph Migration](./graph-migration.md). Building with SubQuery is a similar developer experience, while providing up to 3.9x indexing speeds, multi-chain indexing, wider chain support, and more flexibility with mapping functions. It is so similar, you can easily migrate your existing subgraphs. +See [Graph Migration](../build/graph-migration.md). Building with SubQuery is a similar developer experience, while providing up to 3.9x indexing speeds, multi-chain indexing, wider chain support, and more flexibility with mapping functions. It is so similar, you can easily migrate your existing subgraphs. # Migrating to version 3.0 @@ -170,7 +170,7 @@ No, this feature is not currently supported. ### Subscribe to a query endpoint -Yes, take a look at the [GraphQL Subsciption](./query/subscription.md) article for more information. +Yes, take a look at the [GraphQL Subsciption](../run_publish/query/subscription.md) article for more information. ### Indexing a blockchain that consists of multiple architecture layers, such as EVM and Substrate? diff --git a/docs/indexer/run_publish/query/subgraph.md b/docs/indexer/run_publish/query/subgraph.md index 37aeb8346e8..dc4665629ef 100644 --- a/docs/indexer/run_publish/query/subgraph.md +++ b/docs/indexer/run_publish/query/subgraph.md @@ -56,7 +56,7 @@ Once installed, you can check the version by running: We recommend using the [SubQuery Native query service](./graphql.md) for the best experience. -Find out more about [differences in the GraphQL Query Interface](../build/graph-migration.md#differences-in-the-graphql-query-interface). +Find out more about [differences in the GraphQL Query Interface](../../build/graph-migration.md#differences-in-the-graphql-query-interface). ## Unsupported features diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d615ecd00f5..4a377b24910 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,32 +13,32 @@ importers: version: 14.1.0 vant: specifier: ^4.9.8 - version: 4.9.8(vue@3.4.38) + version: 4.9.8(vue@3.5.12) vue-router: specifier: ^4.3.0 - version: 4.3.0(vue@3.4.38) + version: 4.4.5(vue@3.5.12) devDependencies: '@vuepress/bundler-vite': specifier: 2.0.0-rc.14 - version: 2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8) + version: 2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6) '@vuepress/helper': specifier: 2.0.0-rc.41 - version: 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) '@vuepress/plugin-docsearch': specifier: 2.0.0-rc.39 - version: 2.0.0-rc.39(@algolia/client-search@4.22.1)(search-insights@2.13.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.39(@algolia/client-search@5.12.0)(search-insights@2.17.2)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) '@vuepress/plugin-google-analytics': specifier: 2.0.0-rc.37 - version: 2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) '@vuepress/plugin-links-check': specifier: 2.0.0-rc.41 - version: 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) '@vuepress/plugin-redirect': specifier: 2.0.0-rc.39 - version: 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) '@vuepress/plugin-register-components': specifier: 2.0.0-rc.37 - version: 2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) cross-env: specifier: 7.0.3 version: 7.0.3 @@ -47,103 +47,113 @@ importers: version: 14.1.1 vue: specifier: ^3.4.38 - version: 3.4.38 + version: 3.5.12 vuepress: specifier: 2.0.0-rc.14 - version: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + version: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) vuepress-theme-hope: specifier: 2.0.0-rc.52 - version: 2.0.0-rc.52(@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@4.22.1)(search-insights@2.13.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)))(@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)))(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + version: 2.0.0-rc.52(@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@5.12.0)(search-insights@2.17.2)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)))(@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)))(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) packages: - '@algolia/autocomplete-core@1.9.3': - resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + '@algolia/autocomplete-core@1.17.6': + resolution: {integrity: sha512-lkDoW4I7h2kKlIgf3pUt1LqvxyYKkVyiypoGLlUnhPSnCpmeOwudM6rNq6YYsCmdQtnDQoW5lUNNuj6ASg3qeg==} - '@algolia/autocomplete-plugin-algolia-insights@1.9.3': - resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + '@algolia/autocomplete-plugin-algolia-insights@1.17.6': + resolution: {integrity: sha512-17NnaacuFzSWVuZu4NKzVeaFIe9Abpw8w+/gjc7xhZFtqj+GadufzodIdchwiB2eM2cDdiR3icW7gbNTB3K2YA==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-preset-algolia@1.9.3': - resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + '@algolia/autocomplete-preset-algolia@1.17.6': + resolution: {integrity: sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.9.3': - resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + '@algolia/autocomplete-shared@1.17.6': + resolution: {integrity: sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/cache-browser-local-storage@4.22.1': - resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} + '@algolia/client-abtesting@5.12.0': + resolution: {integrity: sha512-hx4eVydkm3yrFCFxmcBtSzI/ykt0cZ6sDWch+v3JTgKpD2WtosMJU3Upv1AjQ4B6COSHCOWEX3vfFxW6OoH6aA==} + engines: {node: '>= 14.0.0'} - '@algolia/cache-common@4.22.1': - resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} + '@algolia/client-analytics@5.12.0': + resolution: {integrity: sha512-EpTsSv6IW8maCfXCDIptgT7+mQJj7pImEkcNUnxR8yUKAHzTogTXv9yGm2WXOZFVuwstd2i0sImhQ1Vz8RH/hA==} + engines: {node: '>= 14.0.0'} - '@algolia/cache-in-memory@4.22.1': - resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} + '@algolia/client-common@5.12.0': + resolution: {integrity: sha512-od3WmO8qxyfNhKc+K3D17tvun3IMs/xMNmxCG9MiElAkYVbPPTRUYMkRneCpmJyQI0hNx2/EA4kZgzVfQjO86Q==} + engines: {node: '>= 14.0.0'} - '@algolia/client-account@4.22.1': - resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} + '@algolia/client-insights@5.12.0': + resolution: {integrity: sha512-8alajmsYUd+7vfX5lpRNdxqv3Xx9clIHLUItyQK0Z6gwGMbVEFe6YYhgDtwslMAP0y6b0WeJEIZJMLgT7VYpRw==} + engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@4.22.1': - resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} + '@algolia/client-personalization@5.12.0': + resolution: {integrity: sha512-bUV9HtfkTBgpoVhxFrMkmVPG03ZN1Rtn51kiaEtukucdk3ggjR9Qu1YUfRSU2lFgxr9qJc8lTxwfvhjCeJRcqw==} + engines: {node: '>= 14.0.0'} - '@algolia/client-common@4.22.1': - resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} + '@algolia/client-query-suggestions@5.12.0': + resolution: {integrity: sha512-Q5CszzGWfxbIDs9DJ/QJsL7bP6h+lJMg27KxieEnI9KGCu0Jt5iFA3GkREkgRZxRdzlHbZKkrIzhtHVbSHw/rg==} + engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@4.22.1': - resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} + '@algolia/client-search@5.12.0': + resolution: {integrity: sha512-R3qzEytgVLHOGNri+bpta6NtTt7YtkvUe/QBcAmMDjW4Jk1P0eBYIPfvnzIPbINRsLxIq9fZs9uAYBgsrts4Zg==} + engines: {node: '>= 14.0.0'} - '@algolia/client-search@4.22.1': - resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} + '@algolia/ingestion@1.12.0': + resolution: {integrity: sha512-zpHo6qhR22tL8FsdSI4DvEraPDi/019HmMrCFB/TUX98yzh5ooAU7sNW0qPL1I7+S++VbBmNzJOEU9VI8tEC8A==} + engines: {node: '>= 14.0.0'} - '@algolia/logger-common@4.22.1': - resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} + '@algolia/monitoring@1.12.0': + resolution: {integrity: sha512-i2AJZED/zf4uhxezAJUhMKoL5QoepCBp2ynOYol0N76+TSoohaMADdPnWCqOULF4RzOwrG8wWynAwBlXsAI1RQ==} + engines: {node: '>= 14.0.0'} - '@algolia/logger-console@4.22.1': - resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} + '@algolia/recommend@5.12.0': + resolution: {integrity: sha512-0jmZyKvYnB/Bj5c7WKsKedOUjnr0UtXm0LVFUdQrxXfqOqvWv9n6Vpr65UjdYG4Q49kRQxhlwtal9WJYrYymXg==} + engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@4.22.1': - resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} + '@algolia/requester-browser-xhr@5.12.0': + resolution: {integrity: sha512-KxwleraFuVoEGCoeW6Y1RAEbgBMS7SavqeyzWdtkJc6mXeCOJXn1iZitb8Tyn2FcpMNUKlSm0adrUTt7G47+Ow==} + engines: {node: '>= 14.0.0'} - '@algolia/requester-common@4.22.1': - resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} + '@algolia/requester-fetch@5.12.0': + resolution: {integrity: sha512-FuDZXUGU1pAg2HCnrt8+q1VGHKChV/LhvjvZlLOT7e56GJie6p+EuLu4/hMKPOVuQQ8XXtrTHKIU3Lw+7O5/bQ==} + engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@4.22.1': - resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} + '@algolia/requester-node-http@5.12.0': + resolution: {integrity: sha512-ncDDY7CxZhMs6LIoPl+vHFQceIBhYPY5EfuGF1V7beO0U38xfsCYEyutEFB2kRzf4D9Gqppn3iWX71sNtrKcuw==} + engines: {node: '>= 14.0.0'} - '@algolia/transporter@4.22.1': - resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} - - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} - '@docsearch/css@3.6.1': - resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} + '@docsearch/css@3.7.0': + resolution: {integrity: sha512-1OorbTwi1eeDmr0v5t+ckSRlt1zM5GHjm92iIl3kUu7im3GHuP+csf6E0WBg8pdXQczTWP9J9+o9n+Vg6DH5cQ==} - '@docsearch/js@3.6.1': - resolution: {integrity: sha512-erI3RRZurDr1xES5hvYJ3Imp7jtrXj6f1xYIzDzxiS7nNBufYWPbJwrmMqWC5g9y165PmxEmN9pklGCdLi0Iqg==} + '@docsearch/js@3.7.0': + resolution: {integrity: sha512-ScfqOIKrSr8SImbpxVaD59xc/bytbL8QEM2GUpe3aICmoICflWp5DyTRzAdFky16HY+yEOAVZXt3COXQ1NOCWw==} - '@docsearch/react@3.6.1': - resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==} + '@docsearch/react@3.7.0': + resolution: {integrity: sha512-8e6tdDfkYoxafEEPuX5eE1h9cTkLvhe4KgoFkO5JCddXSQONnN1FHcDZRI4r8894eMpbYq6rdJF0dVYh8ikwNQ==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -300,8 +310,8 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@lit-labs/ssr-dom-shim@1.2.0': - resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} + '@lit-labs/ssr-dom-shim@1.2.1': + resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} '@lit/reactive-element@2.0.4': resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} @@ -547,94 +557,198 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@rollup/rollup-android-arm-eabi@4.21.0': - resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} + '@parcel/watcher-android-arm64@2.5.0': + resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.0': + resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.0': + resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.0': + resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.0': + resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.0': + resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.0': + resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.0': + resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.0': + resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.0': + resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.0': + resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.0': + resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.0': + resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.0': + resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} + engines: {node: '>= 10.0.0'} + + '@rollup/rollup-android-arm-eabi@4.24.4': + resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.0': - resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} + '@rollup/rollup-android-arm64@4.24.4': + resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.0': - resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} + '@rollup/rollup-darwin-arm64@4.24.4': + resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.0': - resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} + '@rollup/rollup-darwin-x64@4.24.4': + resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': - resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} + '@rollup/rollup-freebsd-arm64@4.24.4': + resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.24.4': + resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.0': - resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} + '@rollup/rollup-linux-arm-musleabihf@4.24.4': + resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.0': - resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} + '@rollup/rollup-linux-arm64-gnu@4.24.4': + resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.0': - resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} + '@rollup/rollup-linux-arm64-musl@4.24.4': + resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': - resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.0': - resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} + '@rollup/rollup-linux-riscv64-gnu@4.24.4': + resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.0': - resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} + '@rollup/rollup-linux-s390x-gnu@4.24.4': + resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.0': - resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} + '@rollup/rollup-linux-x64-gnu@4.24.4': + resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.0': - resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} + '@rollup/rollup-linux-x64-musl@4.24.4': + resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.0': - resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} + '@rollup/rollup-win32-arm64-msvc@4.24.4': + resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.0': - resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} + '@rollup/rollup-win32-ia32-msvc@4.24.4': + resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.0': - resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} + '@rollup/rollup-win32-x64-msvc@4.24.4': + resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@1.14.1': - resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} + '@shikijs/core@1.22.2': + resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} + + '@shikijs/engine-javascript@1.22.2': + resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} + + '@shikijs/engine-oniguruma@1.22.2': + resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} + + '@shikijs/transformers@1.22.2': + resolution: {integrity: sha512-8f78OiBa6pZDoZ53lYTmuvpFPlWtevn23bzG+azpPVvZg7ITax57o/K3TC91eYL3OMJOO0onPbgnQyZjRos8XQ==} + + '@shikijs/types@1.22.2': + resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} - '@shikijs/transformers@1.14.1': - resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==} + '@shikijs/vscode-textmate@9.3.0': + resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} @@ -650,8 +764,8 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} @@ -677,6 +791,9 @@ packages: '@types/markdown-it@14.1.2': resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} @@ -686,8 +803,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.11.30': - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + '@types/node@22.9.0': + resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} @@ -701,6 +818,9 @@ packages: '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vant/popperjs@1.3.0': resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==} @@ -709,47 +829,41 @@ packages: peerDependencies: vue: ^3.0.0 - '@vitejs/plugin-vue@5.1.2': - resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} + '@vitejs/plugin-vue@5.1.4': + resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} - - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + '@vue/compiler-core@3.5.12': + resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} + '@vue/compiler-dom@3.5.12': + resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + '@vue/compiler-sfc@3.5.12': + resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} - '@vue/devtools-api@6.6.1': - resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + '@vue/compiler-ssr@3.5.12': + resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} - '@vue/devtools-api@6.6.3': - resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.5.12': + resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.5.12': + resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.5.12': + resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} + '@vue/server-renderer@3.5.12': + resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} peerDependencies: - vue: 3.4.38 - - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + vue: 3.5.12 '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} @@ -940,15 +1054,16 @@ packages: '@vueuse/shared@10.11.1': resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} - algoliasearch@4.22.1: - resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} + algoliasearch@5.12.0: + resolution: {integrity: sha512-psGBRYdGgik8I6m28iAB8xpubvjEt7UQU+w5MAJUA2324WHiGoHap5BPkkjB14rMaXeRts6pmOsrVIglGyOVwg==} + engines: {node: '>= 14.0.0'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@4.3.0: @@ -996,12 +1111,12 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1017,8 +1132,11 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001677: + resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1028,6 +1146,12 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -1043,9 +1167,13 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} @@ -1061,6 +1189,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -1092,8 +1223,8 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dayjs@1.11.12: - resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -1103,8 +1234,8 @@ packages: supports-color: optional: true - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1120,6 +1251,18 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -1136,18 +1279,15 @@ packages: domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - electron-to-chromium@1.5.12: - resolution: {integrity: sha512-tIhPkdlEoCL1Y+PToq3zRNehUaKp3wBX/sr7aclAWdIWjvqAe/Im/H0SiCM4c1Q8BLPHCdoJTol+ZblflydehA==} + electron-to-chromium@1.5.52: + resolution: {integrity: sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==} - emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - encode-utf8@1.0.3: - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - encoding-sniffer@0.2.0: resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} @@ -1155,8 +1295,8 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} hasBin: true @@ -1173,8 +1313,8 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} esprima@4.0.1: @@ -1188,8 +1328,8 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - execa@9.3.1: - resolution: {integrity: sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==} + execa@9.5.1: + resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} engines: {node: ^18.19.0 || >=20.5.0} extend-shallow@2.0.1: @@ -1210,16 +1350,16 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -1246,8 +1386,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} get-intrinsic@1.2.4: @@ -1301,6 +1441,12 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-to-html@9.0.3: + resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -1309,6 +1455,9 @@ packages: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} @@ -1332,12 +1481,12 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -1379,8 +1528,8 @@ packages: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} - is-unicode-supported@2.0.0: - resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} isexe@2.0.0: @@ -1401,21 +1550,21 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lit-element@4.0.4: - resolution: {integrity: sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==} + lit-element@4.1.1: + resolution: {integrity: sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==} - lit-html@3.1.2: - resolution: {integrity: sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==} + lit-html@3.2.1: + resolution: {integrity: sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==} - lit@3.1.2: - resolution: {integrity: sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==} + lit@3.2.1: + resolution: {integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==} locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -1428,11 +1577,11 @@ packages: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} - magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + magic-string@0.30.12: + resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} - markdown-it-anchor@9.0.1: - resolution: {integrity: sha512-cBt7aAzmkfX8X7FqAe8EBryiKmToXgMQEEMqkXzWCm0toDtfDYIGboKeTKd8cpNJArJtutrf+977wFJTsvNGmQ==} + markdown-it-anchor@9.2.0: + resolution: {integrity: sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg==} peerDependencies: '@types/markdown-it': '*' markdown-it: '*' @@ -1444,6 +1593,9 @@ packages: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -1451,8 +1603,23 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime@1.6.0: @@ -1460,9 +1627,9 @@ packages: engines: {node: '>=4'} hasBin: true - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -1471,9 +1638,6 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1482,11 +1646,14 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + nanoid@5.0.8: + resolution: {integrity: sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ==} engines: {node: ^18 || >=20} hasBin: true + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -1498,26 +1665,30 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + oniguruma-to-js@0.4.3: + resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true - ora@8.0.1: - resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + ora@8.1.1: + resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} engines: {node: '>=18'} p-limit@2.3.0: @@ -1536,14 +1707,14 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} - parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} parse5-parser-stream@7.1.2: resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -1565,8 +1736,8 @@ packages: resolution: {integrity: sha512-WNFHoKrkZNnvFFhbHL93WDkW3ifwVOXSW3w1UuZZelSmgXpIGiZSNlZJq37rR8YejqME2rHs9EhH9ZvlvFH2NA==} engines: {node: '>= 0.12.0'} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1601,28 +1772,31 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} - preact@10.19.7: - resolution: {integrity: sha512-IJOW6cQN1fwfC17HfNOqUtAGyB8wAYshuC+jG1JiL/1+sC4yVyuA3IcF0N9vdodMJjW/lbuEF5qFsJqGNcbHbw==} + preact@10.24.3: + resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} pretty-ms@9.1.0: resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} engines: {node: '>=18'} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} - qrcode@1.5.3: - resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} engines: {node: '>=10.13.0'} hasBin: true - qs@6.12.0: - resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} queue-microtask@1.2.3: @@ -1632,6 +1806,13 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + + regex@4.4.0: + resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -1642,16 +1823,16 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.21.0: - resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} + rollup@4.24.4: + resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1664,16 +1845,16 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.77.8: - resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==} + sass@1.80.6: + resolution: {integrity: sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==} engines: {node: '>=14.0.0'} hasBin: true - sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - search-insights@2.13.0: - resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + search-insights@2.17.2: + resolution: {integrity: sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -1702,16 +1883,13 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.14.1: - resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} + shiki@1.22.2: + resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -1725,10 +1903,13 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -1740,10 +1921,13 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1764,35 +1948,53 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + ts-debounce@4.0.0: resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==} uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici@6.19.8: - resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + undici@6.20.1: + resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} engines: {node: '>=18.17'} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + union@0.5.0: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -1801,8 +2003,8 @@ packages: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -1815,8 +2017,14 @@ packages: peerDependencies: vue: ^3.0.0 - vite@5.3.5: - resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@5.3.6: + resolution: {integrity: sha512-es78AlrylO8mTVBygC0gTC0FENv0C6T496vvd33ydbjF/mIi9q3XQ9A3NWo5qLGFKywvz10J26813OkLvcQleA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -1854,18 +2062,13 @@ packages: '@vue/composition-api': optional: true - vue-router@4.3.0: - resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + vue-router@4.4.5: + resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: vue: ^3.2.0 - vue-router@4.4.3: - resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==} - peerDependencies: - vue: ^3.2.0 - - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.5.12: + resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2003,9 +2206,9 @@ packages: '@vuepress/bundler-webpack': optional: true - watermark-js-plus@1.5.3: - resolution: {integrity: sha512-QAca0Su3YJ/MmX0nTNKkyHTqMw8rqnqpa7R4nTaIAiDmWSdr04jfSaSU84MrpohZRcSZJhqn71kx+T6KlOnRfQ==} - engines: {node: '>=16.0.0'} + watermark-js-plus@1.5.7: + resolution: {integrity: sha512-KaQEUnvBX5em2hBeuKcpAASpV+sO1j8NbXY7FL7jb0w1TCKmMSyn8nkj2e+KeleuQ1iwyXHEMFdSWXDIQsACYQ==} + engines: {node: '>=20.0.0'} whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} @@ -2046,118 +2249,135 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)': + '@algolia/autocomplete-core@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2) + '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - search-insights: 2.13.0 + '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) + search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)': + '@algolia/autocomplete-preset-algolia@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)': dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 + '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) + '@algolia/client-search': 5.12.0 + algoliasearch: 5.12.0 - '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)': + '@algolia/autocomplete-shared@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)': dependencies: - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 + '@algolia/client-search': 5.12.0 + algoliasearch: 5.12.0 - '@algolia/cache-browser-local-storage@4.22.1': + '@algolia/client-abtesting@5.12.0': dependencies: - '@algolia/cache-common': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/cache-common@4.22.1': {} - - '@algolia/cache-in-memory@4.22.1': + '@algolia/client-analytics@5.12.0': dependencies: - '@algolia/cache-common': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/client-account@4.22.1': - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/transporter': 4.22.1 + '@algolia/client-common@5.12.0': {} - '@algolia/client-analytics@4.22.1': + '@algolia/client-insights@5.12.0': dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/client-common@4.22.1': + '@algolia/client-personalization@5.12.0': dependencies: - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/client-personalization@4.22.1': + '@algolia/client-query-suggestions@5.12.0': dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/client-search@4.22.1': + '@algolia/client-search@5.12.0': dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/logger-common@4.22.1': {} + '@algolia/ingestion@1.12.0': + dependencies: + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/logger-console@4.22.1': + '@algolia/monitoring@1.12.0': dependencies: - '@algolia/logger-common': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/requester-browser-xhr@4.22.1': + '@algolia/recommend@5.12.0': dependencies: - '@algolia/requester-common': 4.22.1 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/requester-common@4.22.1': {} + '@algolia/requester-browser-xhr@5.12.0': + dependencies: + '@algolia/client-common': 5.12.0 - '@algolia/requester-node-http@4.22.1': + '@algolia/requester-fetch@5.12.0': dependencies: - '@algolia/requester-common': 4.22.1 + '@algolia/client-common': 5.12.0 - '@algolia/transporter@4.22.1': + '@algolia/requester-node-http@5.12.0': dependencies: - '@algolia/cache-common': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/requester-common': 4.22.1 + '@algolia/client-common': 5.12.0 - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/parser@7.25.3': + '@babel/parser@7.26.2': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.26.0 - '@babel/types@7.25.2': + '@babel/types@7.26.0': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - '@docsearch/css@3.6.1': {} + '@docsearch/css@3.7.0': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.22.1)(search-insights@2.13.0)': + '@docsearch/js@3.7.0(@algolia/client-search@5.12.0)(search-insights@2.17.2)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.22.1)(search-insights@2.13.0) - preact: 10.19.7 + '@docsearch/react': 3.7.0(@algolia/client-search@5.12.0)(search-insights@2.17.2) + preact: 10.24.3 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -2165,14 +2385,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.22.1)(search-insights@2.13.0)': + '@docsearch/react@3.7.0(@algolia/client-search@5.12.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@docsearch/css': 3.6.1 - algoliasearch: 4.22.1 + '@algolia/autocomplete-core': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2) + '@algolia/autocomplete-preset-algolia': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) + '@docsearch/css': 3.7.0 + algoliasearch: 5.12.0 optionalDependencies: - search-insights: 2.13.0 + search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' @@ -2247,11 +2467,11 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} - '@lit-labs/ssr-dom-shim@1.2.0': {} + '@lit-labs/ssr-dom-shim@1.2.1': {} '@lit/reactive-element@2.0.4': dependencies: - '@lit-labs/ssr-dom-shim': 1.2.0 + '@lit-labs/ssr-dom-shim': 1.2.1 '@mdit-vue/plugin-component@2.1.3': dependencies: @@ -2456,63 +2676,153 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@rollup/rollup-android-arm-eabi@4.21.0': + '@parcel/watcher-android-arm64@2.5.0': optional: true - '@rollup/rollup-android-arm64@4.21.0': + '@parcel/watcher-darwin-arm64@2.5.0': optional: true - '@rollup/rollup-darwin-arm64@4.21.0': + '@parcel/watcher-darwin-x64@2.5.0': optional: true - '@rollup/rollup-darwin-x64@4.21.0': + '@parcel/watcher-freebsd-x64@2.5.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + '@parcel/watcher-linux-arm-glibc@2.5.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.0': + '@parcel/watcher-linux-arm-musl@2.5.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.0': + '@parcel/watcher-linux-arm64-glibc@2.5.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.0': + '@parcel/watcher-linux-arm64-musl@2.5.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + '@parcel/watcher-linux-x64-glibc@2.5.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.0': + '@parcel/watcher-linux-x64-musl@2.5.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.0': + '@parcel/watcher-win32-arm64@2.5.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.0': + '@parcel/watcher-win32-ia32@2.5.0': optional: true - '@rollup/rollup-linux-x64-musl@4.21.0': + '@parcel/watcher-win32-x64@2.5.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.0': + '@parcel/watcher@2.5.0': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.0 + '@parcel/watcher-darwin-arm64': 2.5.0 + '@parcel/watcher-darwin-x64': 2.5.0 + '@parcel/watcher-freebsd-x64': 2.5.0 + '@parcel/watcher-linux-arm-glibc': 2.5.0 + '@parcel/watcher-linux-arm-musl': 2.5.0 + '@parcel/watcher-linux-arm64-glibc': 2.5.0 + '@parcel/watcher-linux-arm64-musl': 2.5.0 + '@parcel/watcher-linux-x64-glibc': 2.5.0 + '@parcel/watcher-linux-x64-musl': 2.5.0 + '@parcel/watcher-win32-arm64': 2.5.0 + '@parcel/watcher-win32-ia32': 2.5.0 + '@parcel/watcher-win32-x64': 2.5.0 optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.0': + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.0': + '@rollup/rollup-android-arm64@4.24.4': + optional: true + + '@rollup/rollup-darwin-arm64@4.24.4': + optional: true + + '@rollup/rollup-darwin-x64@4.24.4': + optional: true + + '@rollup/rollup-freebsd-arm64@4.24.4': + optional: true + + '@rollup/rollup-freebsd-x64@4.24.4': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.24.4': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.24.4': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.24.4': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.24.4': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.24.4': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.24.4': + optional: true + + '@rollup/rollup-linux-x64-musl@4.24.4': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.24.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.24.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.24.4': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@1.14.1': + '@shikijs/core@1.22.2': dependencies: + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 + hast-util-to-html: 9.0.3 + + '@shikijs/engine-javascript@1.22.2': + dependencies: + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-js: 0.4.3 - '@shikijs/transformers@1.14.1': + '@shikijs/engine-oniguruma@1.22.2': dependencies: - shiki: 1.14.1 + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 + + '@shikijs/transformers@1.22.2': + dependencies: + shiki: 1.22.2 + + '@shikijs/types@1.22.2': + dependencies: + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@9.3.0': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -2524,12 +2834,12 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.11.30 + '@types/node': 22.9.0 '@types/hash-sum@1.0.2': {} @@ -2539,7 +2849,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 20.11.30 + '@types/node': 22.9.0 '@types/katex@0.16.7': {} @@ -2554,19 +2864,23 @@ snapshots: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/mdurl@2.0.0': {} '@types/ms@0.7.34': {} '@types/node@17.0.45': {} - '@types/node@20.11.30': + '@types/node@22.9.0': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/sax@1.2.7': dependencies: - '@types/node': 20.11.30 + '@types/node': 17.0.45 '@types/trusted-types@2.0.7': {} @@ -2574,92 +2888,90 @@ snapshots: '@types/web-bluetooth@0.0.20': {} + '@ungap/structured-clone@1.2.0': {} + '@vant/popperjs@1.3.0': {} - '@vant/use@1.6.0(vue@3.4.38)': + '@vant/use@1.6.0(vue@3.5.12)': dependencies: - vue: 3.4.38 + vue: 3.5.12 - '@vitejs/plugin-vue@5.1.2(vite@5.3.5(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)': + '@vitejs/plugin-vue@5.1.4(vite@5.3.6(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)': dependencies: - vite: 5.3.5(@types/node@20.11.30)(sass@1.77.8) - vue: 3.4.38 + vite: 5.3.6(@types/node@22.9.0)(sass@1.80.6) + vue: 3.5.12 - '@vue/compiler-core@3.4.38': + '@vue/compiler-core@3.5.12': dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.38 + '@babel/parser': 7.26.2 + '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-dom@3.4.38': + '@vue/compiler-dom@3.5.12': dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/compiler-sfc@3.4.38': + '@vue/compiler-sfc@3.5.12': dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 + '@babel/parser': 7.26.2 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 estree-walker: 2.0.2 - magic-string: 0.30.11 - postcss: 8.4.41 - source-map-js: 1.2.0 + magic-string: 0.30.12 + postcss: 8.4.47 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.4.38': + '@vue/compiler-ssr@3.5.12': dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 - - '@vue/devtools-api@6.6.1': {} + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/devtools-api@6.6.3': {} + '@vue/devtools-api@6.6.4': {} - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.5.12': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.12 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.5.12': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.5.12': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.12 + '@vue/runtime-core': 3.5.12 + '@vue/shared': 3.5.12 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38)': + '@vue/server-renderer@3.5.12(vue@3.5.12)': dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38 - - '@vue/shared@3.4.38': {} + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 + vue: 3.5.12 '@vue/shared@3.5.12': {} - '@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8)': + '@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6)': dependencies: - '@vitejs/plugin-vue': 5.1.2(vite@5.3.5(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vitejs/plugin-vue': 5.1.4(vite@5.3.6(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) '@vuepress/client': 2.0.0-rc.14 '@vuepress/core': 2.0.0-rc.14 '@vuepress/shared': 2.0.0-rc.14 '@vuepress/utils': 2.0.0-rc.14 - autoprefixer: 10.4.20(postcss@8.4.41) + autoprefixer: 10.4.20(postcss@8.4.47) connect-history-api-fallback: 2.0.0 - postcss: 8.4.41 - postcss-load-config: 6.0.1(postcss@8.4.41) - rollup: 4.21.0 - vite: 5.3.5(@types/node@20.11.30)(sass@1.77.8) - vue: 3.4.38 - vue-router: 4.4.3(vue@3.4.38) + postcss: 8.4.47 + postcss-load-config: 6.0.1(postcss@8.4.47) + rollup: 4.24.4 + vite: 5.3.6(@types/node@22.9.0)(sass@1.80.6) + vue: 3.5.12 + vue-router: 4.4.5(vue@3.5.12) transitivePeerDependencies: - '@types/node' - jiti @@ -2681,7 +2993,7 @@ snapshots: '@vuepress/utils': 2.0.0-rc.14 cac: 6.7.14 chokidar: 3.6.0 - envinfo: 7.13.0 + envinfo: 7.14.0 esbuild: 0.21.5 transitivePeerDependencies: - supports-color @@ -2689,10 +3001,10 @@ snapshots: '@vuepress/client@2.0.0-rc.14': dependencies: - '@vue/devtools-api': 6.6.3 + '@vue/devtools-api': 6.6.4 '@vuepress/shared': 2.0.0-rc.14 - vue: 3.4.38 - vue-router: 4.4.3(vue@3.4.38) + vue: 3.5.12 + vue-router: 4.4.5(vue@3.5.12) transitivePeerDependencies: - typescript @@ -2702,36 +3014,36 @@ snapshots: '@vuepress/markdown': 2.0.0-rc.14 '@vuepress/shared': 2.0.0-rc.14 '@vuepress/utils': 2.0.0-rc.14 - vue: 3.4.38 + vue: 3.5.12 transitivePeerDependencies: - supports-color - typescript - '@vuepress/helper@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/helper@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.12 cheerio: 1.0.0-rc.12 fflate: 0.8.2 gray-matter: 4.0.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/helper@2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/helper@2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.12 cheerio: 1.0.0 fflate: 0.8.2 gray-matter: 4.0.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/highlighter-helper@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/highlighter-helper@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) '@vuepress/markdown@2.0.0-rc.14': dependencies: @@ -2748,87 +3060,87 @@ snapshots: '@vuepress/shared': 2.0.0-rc.14 '@vuepress/utils': 2.0.0-rc.14 markdown-it: 14.1.0 - markdown-it-anchor: 9.0.1(@types/markdown-it@14.1.2)(markdown-it@14.1.0) + markdown-it-anchor: 9.2.0(@types/markdown-it@14.1.2)(markdown-it@14.1.0) markdown-it-emoji: 3.0.0 mdurl: 2.0.0 transitivePeerDependencies: - supports-color - '@vuepress/plugin-active-header-links@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-active-header-links@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vueuse/core': 10.11.1(vue@3.4.38) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vueuse/core': 10.11.1(vue@3.5.12) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-back-to-top@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-back-to-top@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-blog@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-blog@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) chokidar: 3.6.0 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-catalog@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-catalog@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-comment@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-comment@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) giscus: 1.5.0 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-copy-code@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-copy-code@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-copyright@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-copyright@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@4.22.1)(search-insights@2.13.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@5.12.0)(search-insights@2.17.2)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@docsearch/css': 3.6.1 - '@docsearch/js': 3.6.1(@algolia/client-search@4.22.1)(search-insights@2.13.0) - '@docsearch/react': 3.6.1(@algolia/client-search@4.22.1)(search-insights@2.13.0) - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@docsearch/css': 3.7.0 + '@docsearch/js': 3.7.0(@algolia/client-search@5.12.0)(search-insights@2.17.2) + '@docsearch/react': 3.7.0(@algolia/client-search@5.12.0)(search-insights@2.17.2) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) ts-debounce: 4.0.0 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -2838,137 +3150,137 @@ snapshots: - search-insights - typescript - '@vuepress/plugin-git@2.0.0-rc.38(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-git@2.0.0-rc.38(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - execa: 9.3.1 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + execa: 9.5.1 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) - '@vuepress/plugin-google-analytics@2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-google-analytics@2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) - '@vuepress/plugin-links-check@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-links-check@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-links-check@2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-links-check@2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.41(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-notice@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-notice@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-nprogress@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-nprogress@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-photo-swipe@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-photo-swipe@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) photoswipe: 5.4.4 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-reading-time@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-reading-time@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) cac: 6.7.14 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-register-components@2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-register-components@2.0.0-rc.37(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: chokidar: 3.6.0 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) - '@vuepress/plugin-rtl@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-rtl@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-sass-palette@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-sass-palette@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) chokidar: 3.6.0 - sass: 1.77.8 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + sass: 1.80.6 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-seo@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-seo@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-shiki@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-shiki@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@shikijs/transformers': 1.14.1 - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/highlighter-helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - nanoid: 5.0.7 - shiki: 1.14.1 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@shikijs/transformers': 1.22.2 + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/highlighter-helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + nanoid: 5.0.8 + shiki: 1.22.2 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-sitemap@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-sitemap@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) sitemap: 8.0.0 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-theme-data@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-theme-data@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vue/devtools-api': 6.6.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + '@vue/devtools-api': 6.6.4 + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - typescript - '@vuepress/plugin-watermark@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38))': + '@vuepress/plugin-watermark@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12))': dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) - watermark-js-plus: 1.5.3 + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) + watermark-js-plus: 1.5.7 transitivePeerDependencies: - typescript @@ -2982,55 +3294,54 @@ snapshots: '@types/fs-extra': 11.0.4 '@types/hash-sum': 1.0.2 '@vuepress/shared': 2.0.0-rc.14 - debug: 4.3.6 + debug: 4.3.7 fs-extra: 11.2.0 globby: 14.0.2 hash-sum: 2.0.0 - ora: 8.0.1 - picocolors: 1.0.1 + ora: 8.1.1 + picocolors: 1.1.1 upath: 2.0.1 transitivePeerDependencies: - supports-color - '@vueuse/core@10.11.1(vue@3.4.38)': + '@vueuse/core@10.11.1(vue@3.5.12)': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.4.38) - vue-demi: 0.14.10(vue@3.4.38) + '@vueuse/shared': 10.11.1(vue@3.5.12) + vue-demi: 0.14.10(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@10.11.1': {} - '@vueuse/shared@10.11.1(vue@3.4.38)': + '@vueuse/shared@10.11.1(vue@3.5.12)': dependencies: - vue-demi: 0.14.10(vue@3.4.38) + vue-demi: 0.14.10(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - vue - algoliasearch@4.22.1: - dependencies: - '@algolia/cache-browser-local-storage': 4.22.1 - '@algolia/cache-common': 4.22.1 - '@algolia/cache-in-memory': 4.22.1 - '@algolia/client-account': 4.22.1 - '@algolia/client-analytics': 4.22.1 - '@algolia/client-common': 4.22.1 - '@algolia/client-personalization': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/logger-console': 4.22.1 - '@algolia/requester-browser-xhr': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/requester-node-http': 4.22.1 - '@algolia/transporter': 4.22.1 + algoliasearch@5.12.0: + dependencies: + '@algolia/client-abtesting': 5.12.0 + '@algolia/client-analytics': 5.12.0 + '@algolia/client-common': 5.12.0 + '@algolia/client-insights': 5.12.0 + '@algolia/client-personalization': 5.12.0 + '@algolia/client-query-suggestions': 5.12.0 + '@algolia/client-search': 5.12.0 + '@algolia/ingestion': 1.12.0 + '@algolia/monitoring': 1.12.0 + '@algolia/recommend': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@4.3.0: dependencies: @@ -3053,14 +3364,14 @@ snapshots: dependencies: lodash: 4.17.21 - autoprefixer@10.4.20(postcss@8.4.41): + autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.24.2 + caniuse-lite: 1.0.30001677 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.1 - postcss: 8.4.41 + picocolors: 1.1.1 + postcss: 8.4.47 postcss-value-parser: 4.2.0 balloon-css@1.2.0: {} @@ -3075,16 +3386,16 @@ snapshots: boolbase@1.0.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - browserslist@4.23.3: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.12 + caniuse-lite: 1.0.30001677 + electron-to-chromium: 1.5.52 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.1(browserslist@4.24.2) cac@6.7.14: {} @@ -3098,7 +3409,9 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001677: {} + + ccount@2.0.1: {} chalk@4.1.2: dependencies: @@ -3107,6 +3420,10 @@ snapshots: chalk@5.3.0: {} + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -3124,10 +3441,10 @@ snapshots: domutils: 3.1.0 encoding-sniffer: 0.2.0 htmlparser2: 9.1.0 - parse5: 7.1.2 - parse5-htmlparser2-tree-adapter: 7.0.0 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 6.19.8 + undici: 6.20.1 whatwg-mimetype: 4.0.0 cheerio@1.0.0-rc.12: @@ -3137,13 +3454,13 @@ snapshots: domhandler: 5.0.3 domutils: 3.1.0 htmlparser2: 8.0.2 - parse5: 7.1.2 - parse5-htmlparser2-tree-adapter: 7.0.0 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -3152,9 +3469,13 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - cli-cursor@4.0.0: + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + + cli-cursor@5.0.0: dependencies: - restore-cursor: 4.0.0 + restore-cursor: 5.1.0 cli-spinners@2.9.2: {} @@ -3170,6 +3491,8 @@ snapshots: color-name@1.1.4: {} + comma-separated-tokens@2.0.3: {} + connect-history-api-fallback@2.0.0: {} corser@2.0.1: {} @@ -3198,15 +3521,15 @@ snapshots: csstype@3.1.3: {} - dayjs@1.11.12: {} + dayjs@1.11.13: {} debug@3.2.7: dependencies: ms: 2.1.3 - debug@4.3.6: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 decamelize@1.2.0: {} @@ -3216,6 +3539,15 @@ snapshots: es-errors: 1.3.0 gopd: 1.0.1 + dequal@2.0.3: {} + + detect-libc@1.0.3: + optional: true + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dijkstrajs@1.0.3: {} dom-serializer@2.0.0: @@ -3236,14 +3568,12 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - electron-to-chromium@1.5.12: {} + electron-to-chromium@1.5.52: {} - emoji-regex@10.3.0: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} - encode-utf8@1.0.3: {} - encoding-sniffer@0.2.0: dependencies: iconv-lite: 0.6.3 @@ -3251,7 +3581,7 @@ snapshots: entities@4.5.0: {} - envinfo@7.13.0: {} + envinfo@7.14.0: {} es-define-property@1.0.0: dependencies: @@ -3285,7 +3615,7 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - escalade@3.1.2: {} + escalade@3.2.0: {} esprima@4.0.1: {} @@ -3293,7 +3623,7 @@ snapshots: eventemitter3@4.0.7: {} - execa@9.3.1: + execa@9.5.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -3302,7 +3632,7 @@ snapshots: human-signals: 8.0.0 is-plain-obj: 4.1.0 is-stream: 4.0.1 - npm-run-path: 5.3.0 + npm-run-path: 6.0.0 pretty-ms: 9.1.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 @@ -3318,7 +3648,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 fastq@1.17.1: dependencies: @@ -3328,9 +3658,9 @@ snapshots: figures@6.1.0: dependencies: - is-unicode-supported: 2.0.0 + is-unicode-supported: 2.1.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -3339,7 +3669,7 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - follow-redirects@1.15.6: {} + follow-redirects@1.15.9: {} fraction.js@4.3.7: {} @@ -3356,7 +3686,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.2.0: {} + get-east-asian-width@1.3.0: {} get-intrinsic@1.2.4: dependencies: @@ -3373,7 +3703,7 @@ snapshots: giscus@1.5.0: dependencies: - lit: 3.1.2 + lit: 3.2.1 glob-parent@5.1.2: dependencies: @@ -3383,7 +3713,7 @@ snapshots: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -3417,12 +3747,32 @@ snapshots: dependencies: function-bind: 1.1.2 + hast-util-to-html@9.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + he@1.2.0: {} html-encoding-sniffer@3.0.0: dependencies: whatwg-encoding: 2.0.0 + html-void-elements@3.0.0: {} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 @@ -3440,7 +3790,7 @@ snapshots: http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -3470,9 +3820,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore@5.3.1: {} + ignore@5.3.2: {} - immutable@4.3.5: {} + immutable@4.3.7: {} is-binary-path@2.1.0: dependencies: @@ -3498,7 +3848,7 @@ snapshots: is-unicode-supported@1.3.0: {} - is-unicode-supported@2.0.0: {} + is-unicode-supported@2.1.0: {} isexe@2.0.0: {} @@ -3519,27 +3869,27 @@ snapshots: kind-of@6.0.3: {} - lilconfig@3.1.1: {} + lilconfig@3.1.2: {} linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 - lit-element@4.0.4: + lit-element@4.1.1: dependencies: - '@lit-labs/ssr-dom-shim': 1.2.0 + '@lit-labs/ssr-dom-shim': 1.2.1 '@lit/reactive-element': 2.0.4 - lit-html: 3.1.2 + lit-html: 3.2.1 - lit-html@3.1.2: + lit-html@3.2.1: dependencies: '@types/trusted-types': 2.0.7 - lit@3.1.2: + lit@3.2.1: dependencies: '@lit/reactive-element': 2.0.4 - lit-element: 4.0.4 - lit-html: 3.1.2 + lit-element: 4.1.1 + lit-html: 3.2.1 locate-path@5.0.0: dependencies: @@ -3552,11 +3902,11 @@ snapshots: chalk: 5.3.0 is-unicode-supported: 1.3.0 - magic-string@0.30.11: + magic-string@0.30.12: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - markdown-it-anchor@9.0.1(@types/markdown-it@14.1.2)(markdown-it@14.1.0): + markdown-it-anchor@9.2.0(@types/markdown-it@14.1.2)(markdown-it@14.1.0): dependencies: '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 @@ -3572,18 +3922,47 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + mdurl@2.0.0: {} merge2@1.4.1: {} - micromatch@4.0.5: + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mime@1.6.0: {} - mimic-fn@2.1.0: {} + mimic-function@5.0.1: {} minimist@1.2.8: {} @@ -3591,13 +3970,14 @@ snapshots: dependencies: minimist: 1.2.8 - ms@2.1.2: {} - ms@2.1.3: {} nanoid@3.3.7: {} - nanoid@5.0.7: {} + nanoid@5.0.8: {} + + node-addon-api@7.1.1: + optional: true node-releases@2.0.18: {} @@ -3605,32 +3985,37 @@ snapshots: normalize-range@0.1.2: {} - npm-run-path@5.3.0: + npm-run-path@6.0.0: dependencies: path-key: 4.0.0 + unicorn-magic: 0.3.0 nth-check@2.1.1: dependencies: boolbase: 1.0.0 - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} - onetime@5.1.2: + onetime@7.0.0: dependencies: - mimic-fn: 2.1.0 + mimic-function: 5.0.1 + + oniguruma-to-js@0.4.3: + dependencies: + regex: 4.4.0 opener@1.5.2: {} - ora@8.0.1: + ora@8.1.1: dependencies: chalk: 5.3.0 - cli-cursor: 4.0.0 + cli-cursor: 5.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 - is-unicode-supported: 2.0.0 + is-unicode-supported: 2.1.0 log-symbols: 6.0.0 stdin-discarder: 0.2.2 - string-width: 7.1.0 + string-width: 7.2.0 strip-ansi: 7.1.0 p-limit@2.3.0: @@ -3645,16 +4030,16 @@ snapshots: parse-ms@4.0.0: {} - parse5-htmlparser2-tree-adapter@7.0.0: + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 - parse5: 7.1.2 + parse5: 7.2.1 parse5-parser-stream@7.1.2: dependencies: - parse5: 7.1.2 + parse5: 7.2.1 - parse5@7.1.2: + parse5@7.2.1: dependencies: entities: 4.5.0 @@ -3668,7 +4053,7 @@ snapshots: photoswipe@5.4.4: {} - picocolors@1.0.1: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -3682,36 +4067,37 @@ snapshots: transitivePeerDependencies: - supports-color - postcss-load-config@6.0.1(postcss@8.4.41): + postcss-load-config@6.0.1(postcss@8.4.47): dependencies: - lilconfig: 3.1.1 + lilconfig: 3.1.2 optionalDependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser@4.2.0: {} - postcss@8.4.41: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.1 + source-map-js: 1.2.1 - preact@10.19.7: {} + preact@10.24.3: {} pretty-ms@9.1.0: dependencies: parse-ms: 4.0.0 + property-information@6.5.0: {} + punycode.js@2.3.1: {} - qrcode@1.5.3: + qrcode@1.5.4: dependencies: dijkstrajs: 1.0.3 - encode-utf8: 1.0.3 pngjs: 5.0.0 yargs: 15.4.1 - qs@6.12.0: + qs@6.13.0: dependencies: side-channel: 1.0.6 @@ -3721,39 +4107,45 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + + regex@4.4.0: {} + require-directory@2.1.1: {} require-main-filename@2.0.0: {} requires-port@1.0.0: {} - restore-cursor@4.0.0: + restore-cursor@5.1.0: dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 + onetime: 7.0.0 + signal-exit: 4.1.0 reusify@1.0.4: {} - rollup@4.21.0: + rollup@4.24.4: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.0 - '@rollup/rollup-android-arm64': 4.21.0 - '@rollup/rollup-darwin-arm64': 4.21.0 - '@rollup/rollup-darwin-x64': 4.21.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 - '@rollup/rollup-linux-arm-musleabihf': 4.21.0 - '@rollup/rollup-linux-arm64-gnu': 4.21.0 - '@rollup/rollup-linux-arm64-musl': 4.21.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 - '@rollup/rollup-linux-riscv64-gnu': 4.21.0 - '@rollup/rollup-linux-s390x-gnu': 4.21.0 - '@rollup/rollup-linux-x64-gnu': 4.21.0 - '@rollup/rollup-linux-x64-musl': 4.21.0 - '@rollup/rollup-win32-arm64-msvc': 4.21.0 - '@rollup/rollup-win32-ia32-msvc': 4.21.0 - '@rollup/rollup-win32-x64-msvc': 4.21.0 + '@rollup/rollup-android-arm-eabi': 4.24.4 + '@rollup/rollup-android-arm64': 4.24.4 + '@rollup/rollup-darwin-arm64': 4.24.4 + '@rollup/rollup-darwin-x64': 4.24.4 + '@rollup/rollup-freebsd-arm64': 4.24.4 + '@rollup/rollup-freebsd-x64': 4.24.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 + '@rollup/rollup-linux-arm-musleabihf': 4.24.4 + '@rollup/rollup-linux-arm64-gnu': 4.24.4 + '@rollup/rollup-linux-arm64-musl': 4.24.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 + '@rollup/rollup-linux-riscv64-gnu': 4.24.4 + '@rollup/rollup-linux-s390x-gnu': 4.24.4 + '@rollup/rollup-linux-x64-gnu': 4.24.4 + '@rollup/rollup-linux-x64-musl': 4.24.4 + '@rollup/rollup-win32-arm64-msvc': 4.24.4 + '@rollup/rollup-win32-ia32-msvc': 4.24.4 + '@rollup/rollup-win32-x64-msvc': 4.24.4 fsevents: 2.3.3 run-parallel@1.2.0: @@ -3764,15 +4156,17 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.77.8: + sass@1.80.6: dependencies: - chokidar: 3.6.0 - immutable: 4.3.5 - source-map-js: 1.2.0 + chokidar: 4.0.1 + immutable: 4.3.7 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.0 - sax@1.3.0: {} + sax@1.4.1: {} - search-insights@2.13.0: {} + search-insights@2.17.2: {} section-matter@1.0.0: dependencies: @@ -3800,9 +4194,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.14.1: + shiki@1.22.2: dependencies: - '@shikijs/core': 1.14.1 + '@shikijs/core': 1.22.2 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 side-channel@1.0.6: @@ -3810,9 +4208,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - - signal-exit@3.0.7: {} + object-inspect: 1.13.2 signal-exit@4.1.0: {} @@ -3821,11 +4217,13 @@ snapshots: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.3.0 + sax: 1.4.1 slash@5.1.0: {} - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} + + space-separated-tokens@2.0.2: {} sprintf-js@1.0.3: {} @@ -3837,19 +4235,24 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@7.1.0: + string-width@7.2.0: dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom-string@1.0.0: {} @@ -3859,94 +4262,124 @@ snapshots: dependencies: has-flag: 4.0.0 - to-fast-properties@2.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + trim-lines@3.0.1: {} + ts-debounce@4.0.0: {} uc.micro@2.1.0: {} - undici-types@5.26.5: {} + undici-types@6.19.8: {} - undici@6.19.8: {} + undici@6.20.1: {} unicorn-magic@0.1.0: {} + unicorn-magic@0.3.0: {} + union@0.5.0: dependencies: - qs: 6.12.0 + qs: 6.13.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 universalify@2.0.1: {} upath@2.0.1: {} - update-browserslist-db@1.1.0(browserslist@4.23.3): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.23.3 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 url-join@4.0.1: {} - vant@4.9.8(vue@3.4.38): + vant@4.9.8(vue@3.5.12): dependencies: '@vant/popperjs': 1.3.0 - '@vant/use': 1.6.0(vue@3.4.38) + '@vant/use': 1.6.0(vue@3.5.12) '@vue/shared': 3.5.12 - vue: 3.4.38 + vue: 3.5.12 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 - vite@5.3.5(@types/node@20.11.30)(sass@1.77.8): + vite@5.3.6(@types/node@22.9.0)(sass@1.80.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.21.0 + postcss: 8.4.47 + rollup: 4.24.4 optionalDependencies: - '@types/node': 20.11.30 + '@types/node': 22.9.0 fsevents: 2.3.3 - sass: 1.77.8 + sass: 1.80.6 - vue-demi@0.14.10(vue@3.4.38): + vue-demi@0.14.10(vue@3.5.12): dependencies: - vue: 3.4.38 + vue: 3.5.12 - vue-router@4.3.0(vue@3.4.38): + vue-router@4.4.5(vue@3.5.12): dependencies: - '@vue/devtools-api': 6.6.1 - vue: 3.4.38 + '@vue/devtools-api': 6.6.4 + vue: 3.5.12 - vue-router@4.4.3(vue@3.4.38): + vue@3.5.12: dependencies: - '@vue/devtools-api': 6.6.3 - vue: 3.4.38 - - vue@3.4.38: - dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-sfc': 3.5.12 + '@vue/runtime-dom': 3.5.12 + '@vue/server-renderer': 3.5.12(vue@3.5.12) + '@vue/shared': 3.5.12 - vuepress-plugin-components@2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)): + vuepress-plugin-components@2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)): dependencies: '@stackblitz/sdk': 1.11.0 - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) balloon-css: 1.2.0 create-codepen: 2.0.0 - qrcode: 1.5.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) - vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + qrcode: 1.5.4 + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) + vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) transitivePeerDependencies: - '@vue/composition-api' - typescript - vuepress-plugin-md-enhance@2.0.0-rc.52(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)): + vuepress-plugin-md-enhance@2.0.0-rc.52(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)): dependencies: '@mdit/plugin-alert': 0.12.0(markdown-it@14.1.0) '@mdit/plugin-align': 0.12.0(markdown-it@14.1.0) @@ -3972,72 +4405,72 @@ snapshots: '@mdit/plugin-tex': 0.12.0(markdown-it@14.1.0) '@mdit/plugin-uml': 0.12.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) balloon-css: 1.2.0 js-yaml: 4.1.0 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) - vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) + vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) transitivePeerDependencies: - '@vue/composition-api' - markdown-it - typescript - vuepress-shared@2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)): + vuepress-shared@2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)): dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) cheerio: 1.0.0-rc.12 - dayjs: 1.11.12 - execa: 9.3.1 + dayjs: 1.11.13 + execa: 9.5.1 fflate: 0.8.2 gray-matter: 4.0.3 semver: 7.6.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) transitivePeerDependencies: - '@vue/composition-api' - typescript - vuepress-theme-hope@2.0.0-rc.52(@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@4.22.1)(search-insights@2.13.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)))(@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)))(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)): - dependencies: - '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-active-header-links': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-back-to-top': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-blog': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-catalog': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-comment': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-copy-code': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-copyright': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-git': 2.0.0-rc.38(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-links-check': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-notice': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-nprogress': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-photo-swipe': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-reading-time': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-rtl': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-seo': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-shiki': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-sitemap': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-theme-data': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-watermark': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vueuse/core': 10.11.1(vue@3.4.38) + vuepress-theme-hope@2.0.0-rc.52(@vuepress/plugin-docsearch@2.0.0-rc.39(@algolia/client-search@5.12.0)(search-insights@2.17.2)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)))(@vuepress/plugin-redirect@2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)))(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)): + dependencies: + '@vuepress/helper': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-active-header-links': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-back-to-top': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-blog': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-catalog': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-comment': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-copy-code': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-copyright': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-git': 2.0.0-rc.38(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-links-check': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-notice': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-nprogress': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-photo-swipe': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-reading-time': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-rtl': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-sass-palette': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-seo': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-shiki': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-sitemap': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-theme-data': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-watermark': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vueuse/core': 10.11.1(vue@3.5.12) balloon-css: 1.2.0 bcrypt-ts: 5.0.2 cheerio: 1.0.0-rc.12 chokidar: 3.6.0 gray-matter: 4.0.3 - vue: 3.4.38 - vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38) - vuepress-plugin-components: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vuepress-plugin-md-enhance: 2.0.0-rc.52(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + vue: 3.5.12 + vuepress: 2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12) + vuepress-plugin-components: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vuepress-plugin-md-enhance: 2.0.0-rc.52(markdown-it@14.1.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + vuepress-shared: 2.0.0-rc.52(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) optionalDependencies: - '@vuepress/plugin-docsearch': 2.0.0-rc.39(@algolia/client-search@4.22.1)(search-insights@2.13.0)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) - '@vuepress/plugin-redirect': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38)) + '@vuepress/plugin-docsearch': 2.0.0-rc.39(@algolia/client-search@5.12.0)(search-insights@2.17.2)(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) + '@vuepress/plugin-redirect': 2.0.0-rc.39(vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12)) transitivePeerDependencies: - '@types/reveal.js' - '@vue/composition-api' @@ -4065,7 +4498,7 @@ snapshots: - typescript - vidstack - vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8))(vue@3.4.38): + vuepress@2.0.0-rc.14(@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12): dependencies: '@vuepress/cli': 2.0.0-rc.14 '@vuepress/client': 2.0.0-rc.14 @@ -4073,14 +4506,14 @@ snapshots: '@vuepress/markdown': 2.0.0-rc.14 '@vuepress/shared': 2.0.0-rc.14 '@vuepress/utils': 2.0.0-rc.14 - vue: 3.4.38 + vue: 3.5.12 optionalDependencies: - '@vuepress/bundler-vite': 2.0.0-rc.14(@types/node@20.11.30)(sass@1.77.8) + '@vuepress/bundler-vite': 2.0.0-rc.14(@types/node@22.9.0)(sass@1.80.6) transitivePeerDependencies: - supports-color - typescript - watermark-js-plus@1.5.3: {} + watermark-js-plus@1.5.7: {} whatwg-encoding@2.0.0: dependencies: @@ -4126,3 +4559,5 @@ snapshots: yargs-parser: 18.1.3 yoctocolors@2.1.1: {} + + zwitch@2.0.4: {}