From 677cdd1abd50aaa890052afb2bb8a010f1629711 Mon Sep 17 00:00:00 2001 From: safiyanasir2610 Date: Tue, 16 Jun 2026 23:31:02 +0530 Subject: [PATCH 1/2] chore(docusaurus): upgrade to v3.10.1 and fix mdx syntax Signed-off-by: safiyanasir2610 --- blog/1.4 release-en.md | 2 +- blog/ING_case-en.md | 2 +- ...with Volcano in AI & Big Data Scenarios.md | 2 +- blog/Quick-Start-Volcano.md | 2 +- blog/Volcano-1.10.0-release.md | 4 +- blog/Volcano-1.11.0-release.md | 2 +- blog/Volcano-1.12.0-release.md | 2 +- blog/Volcano-1.13.0-release.md | 2 +- blog/Volcano-1.15.0-release-en.md | 2 +- blog/Volcano-1.7.0-release-en.md | 2 +- blog/Volcano-1.8.2-release.md | 2 +- blog/Volcano-1.9.0-release.md | 4 +- ...lcano-community-co-construction-program.md | 2 +- blog/aiqiyi-en.md | 2 +- ...uted-training-and-inference-performance.md | 10 +- blog/hpc-en.md | 2 +- blog/iflytek_case_study.md | 2 +- ...-llm-inference-for-the-cloud-native-era.md | 2 +- blog/kube-batch-customers.md | 2 +- blog/kube-batch-startup.md | 2 +- blog/leinao-en.md | 8 +- blog/paddlepaddle-en.md | 2 +- blog/pengcheng-en.md | 2 +- blog/ruitian-en.md | 2 +- blog/ruitian2-en.md | 2 +- blog/volcano-2025-security-audit.md | 2 +- blog/xiaohongshu-en.md | 2 +- docs/Concepts/CronVolcanoJob.md | 4 +- docs/KeyFeatures/MultiClusterScheduling.md | 4 +- docusaurus.config.js | 7 +- .../1.4 release-en.md | 2 +- .../ING_case-en.md | 2 +- ...with Volcano in AI & Big Data Scenarios.md | 2 +- .../Quick-Start-Volcano.md | 2 +- .../Volcano-1.10.0-release.md | 2 +- .../Volcano-1.11.0-release.md | 2 +- .../Volcano-1.12.0-release.md | 2 +- .../Volcano-1.13.0-release.md | 2 +- .../Volcano-1.15.0-release-en.md | 2 +- .../Volcano-1.7.0-release-en.md | 2 +- .../Volcano-1.8.2-release.md | 2 +- .../Volcano-1.9.0-release.md | 2 +- ...lcano-community-co-construction-program.md | 2 +- .../aiqiyi-en.md | 2 +- ...uted-training-and-inference-performance.md | 6 +- .../docusaurus-plugin-content-blog/hpc-en.md | 2 +- .../iflytek_case_study.md | 2 +- ...-llm-inference-for-the-cloud-native-era.md | 2 +- .../kube-batch-customers.md | 2 +- .../kube-batch-startup.md | 2 +- .../leinao-en.md | 2 +- .../paddlepaddle-en.md | 2 +- .../pengcheng-en.md | 2 +- .../ruitian-en.md | 2 +- .../ruitian2-en.md | 2 +- .../volcano-2025-security-audit.md | 2 +- .../xiaohongshu-en.md | 2 +- .../current/Concepts/CronVolcanoJob.md | 2 +- .../current/Concepts/Queue.md | 2 +- .../current/KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.10.0/Concepts/Queue.md | 2 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.11.0/Concepts/Queue.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.12.0/Concepts/Queue.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.13.0/Concepts/Queue.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.14.0/Concepts/Queue.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../Concepts/CronVolcanoJob.md | 2 +- .../version-v1.15.0/Concepts/Queue.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 3 +- .../KeyFeatures/cloudNativeColocation.md | 10 +- .../version-v1.7.0/Concepts/CronVolcanoJob.md | 2 +- .../version-v1.7.0/Concepts/Queue.md | 2 +- .../version-v1.8.2/Concepts/CronVolcanoJob.md | 2 +- .../version-v1.8.2/Concepts/Queue.md | 2 +- .../version-v1.9.0/Concepts/CronVolcanoJob.md | 2 +- .../version-v1.9.0/Concepts/Queue.md | 2 +- package-lock.json | 3362 +++++++++-------- package.json | 9 +- .../Concepts/CronVolcanoJob.md | 4 +- .../Concepts/CronVolcanoJob.md | 4 +- .../Concepts/CronVolcanoJob.md | 4 +- .../KeyFeatures/MultiClusterScheduling.md | 4 +- .../Concepts/CronVolcanoJob.md | 4 +- .../KeyFeatures/MultiClusterScheduling.md | 4 +- .../Concepts/CronVolcanoJob.md | 4 +- .../KeyFeatures/MultiClusterScheduling.md | 4 +- .../Concepts/CronVolcanoJob.md | 4 +- .../KeyFeatures/MultiClusterScheduling.md | 4 +- .../version-v1.7.0/Concepts/CronVolcanoJob.md | 4 +- .../version-v1.8.2/Concepts/CronVolcanoJob.md | 4 +- .../version-v1.9.0/Concepts/CronVolcanoJob.md | 4 +- 104 files changed, 1965 insertions(+), 1721 deletions(-) diff --git a/blog/1.4 release-en.md b/blog/1.4 release-en.md index d37c6d44..b34047ae 100644 --- a/blog/1.4 release-en.md +++ b/blog/1.4 release-en.md @@ -10,7 +10,7 @@ tags: ["release", "volcano", "cncf"] Volcano, CNCF's first batch computing project, is now available with a new version, v1.4 (Beta). This version includes multiple important features, such as resource ratio-based partitions on GPU nodes, NUMA-aware, mixed deployment of multiple schedulers, and greatly improved stability. - +{/* truncate */} __Resource ratio-based partitions on GPU nodes__ is developed to avoid idle GPUs while GPU-consuming jobs are starving. This is an important feature contributed by Leinao Cloud, a Volcano community member. diff --git a/blog/ING_case-en.md b/blog/ING_case-en.md index 9c9d8de4..fccfe4cd 100644 --- a/blog/ING_case-en.md +++ b/blog/ING_case-en.md @@ -9,7 +9,7 @@ tags: ["case-study", "big-data", "analytics", "banking"] >On October 26, 2022, Krzysztof Adamski and Tinco Boekestijn from ING Group delivered a keynote speech "Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano" at KubeCon North America. The speech focused on how Volcano, a cloud native batch computing project, supports high-performance scheduling for big data analytics jobs on ING's data management platform. More details: [KubeCon + CloudNativeCon North America](https://events.linuxfoundation.org/archive/2022/kubecon-cloudnativecon-north-america/program/schedule/) - +{/* truncate */} ## Introduction to ING Internationale Nederlanden Groep (ING), a global financial institution of Dutch origin, was created in 1991 with the merger of Dutch insurer Nationale-Nederlanden and national postal bank NMB Postbank. diff --git a/blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md b/blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md index 6ddcfd48..7ebab38d 100644 --- a/blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md +++ b/blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md @@ -9,7 +9,7 @@ tags: ["kubecon", "batch-computing", "ai", "big-data", "volcano"] Cloud native batch computing engine Volcano is designed for high-performance computing applications such as AI, big data, gene sequencing, and rendering, and supports mainstream general computing frameworks. More than 58,000 global developers joined us, among whom the in-house ones come from companies such as Huawei, AWS, Baidu, Tencent, JD, and Xiaohongshu. There are 3.7k+ Stars and 800+ Forks for the project. Volcano has been proven feasible for mass data computing and analytics, such as AI, big data, and gene sequencing. Supported frameworks include Spark, Flink, TensorFlow, PyTorch, Argo, MindSpore, Paddlepaddle, Kubeflow, MPI, Horovod, MXNet, KubeGene, and Ray. The ecosystem is thriving with more developers and use cases coming up. ![](/img/blog/volcano_logo.svg) - +{/* truncate */} As the industry-first cloud native batch computing project,Volcano was Open-sourced at KubeCon Shanghai in June 2019, it became an official CNCF project in April 2020. In April 2022, Volcano was promoted to a CNCF incubating project. By now, more than 600 global developers have committed code to the project. The community is seeing growing popularity among developers, partners, and users. ### Try new features in Volcano v1.8.2 diff --git a/blog/Quick-Start-Volcano.md b/blog/Quick-Start-Volcano.md index 73014253..458c1887 100644 --- a/blog/Quick-Start-Volcano.md +++ b/blog/Quick-Start-Volcano.md @@ -29,7 +29,7 @@ volcanosh/vk-controllers latest 7b11606ebfb8 10 seconds ag **NOTE**: Ensure that the images are correctly loaded to your Kubernetes cluster. For example, if you are using [kind luster](https://github.com/kubernetes-sigs/kind), run the ```kind load docker-image : ``` command for each image. ### 2. Helm Charts - +{/* truncate */} Install Helm charts. ``` helm install installer/chart --namespace --name diff --git a/blog/Volcano-1.10.0-release.md b/blog/Volcano-1.10.0-release.md index f26f9954..6b506c17 100644 --- a/blog/Volcano-1.10.0-release.md +++ b/blog/Volcano-1.10.0-release.md @@ -7,7 +7,7 @@ tags: ["release", "volcano", "kubernetes", "scheduling"] --- On Sep 19, 2024, UTC+8, Volcano version v1.10.0 was officially released. This version introduced the following new features: - +{/* truncate */} - **Support Queue Priority Scheduling Strategy** - **Enable Fine-Grained GPU Resource Sharing and Reclaim** @@ -28,7 +28,7 @@ On Sep 19, 2024, UTC+8, Volcano version v1.10.0 was officially released. This ve - **Optimize Helm Chart Installation And Upgrade Processes** - +{/*{{
}}*/} Volcano is the industry-first cloud native batch computing project. Open-sourced at KubeCon Shanghai in June 2019, it became an official CNCF project in April 2020. In April 2022, Volcano was promoted to a CNCF incubating project. By now, more than 600 global developers have committed code to the project. The community is seeing growing popularity among developers, partners, and users. ## Key Features diff --git a/blog/Volcano-1.11.0-release.md b/blog/Volcano-1.11.0-release.md index 99f0629c..59800421 100644 --- a/blog/Volcano-1.11.0-release.md +++ b/blog/Volcano-1.11.0-release.md @@ -9,7 +9,7 @@ tags: ["release", "volcano", "kubernetes", "scheduling"] # Volcano v1.11 released: A New Era of Cloud-Native Scheduling for AI and Big Data As the de facto standard in cloud-native batch computing, Volcano has been widely adopted across various scenarios, including AI, Big Data, and High-Performance Computing (HPC). With over 800 contributors from more than 30 countries and tens of thousands of code commits, Volcano has been deployed in production environments by over 60 enterprises worldwide. It provides the industry with excellent practical standards and solutions for cloud native batch computing. - +{/* truncate */} As user scenarios grow increasingly complex, especially in the scenarios of LLMs, there is a heightened demand for performance, GPU resource utilization, and availability in both training and inference workloads. This has driven Volcano to continuously expand its capabilities and address core user needs. Over the course of 28 releases, Volcano has introduced a series of enhancements and optimizations tailored to batch computing scenarios, helping users seamlessly migrate their workloads to cloud-native platforms. These improvements have resolved numerous pain points, earning the platform widespread praise and fostering a vibrant community with over 30 approvers and reviewers, creating a win-win ecosystem. The new release of Volcano will mark a new milestone in the New Year 2025, where the community will introduce a series of major features that will continue to deepen its focus on areas such as CNAI (Cloud Native AI) and Big Data, with key features including: diff --git a/blog/Volcano-1.12.0-release.md b/blog/Volcano-1.12.0-release.md index e9f7d787..eb79f9d3 100644 --- a/blog/Volcano-1.12.0-release.md +++ b/blog/Volcano-1.12.0-release.md @@ -10,7 +10,7 @@ tags: ["release", "volcano", "kubernetes", "scheduling"] As AI large model technology rapidly evolves, enterprises are placing higher demands on computing resource efficiency and application performance. For complex application scenarios such as AI, big data, and high-performance computing (HPC), efficiently utilizing accelerators like GPUs, ensuring high system availability, and managing resources with fine granularity are the core areas of focus for the Volcano community's continuous innovation. - +{/* truncate */} Each version of Volcano is an active response to these challenges. With contributions from **over 1,000 developers from more than 30 countries, resulting in nearly 40,000 contributions**, Volcano has been adopted in production environments by more than 60 enterprises worldwide. Its scheduling performance and resource management capabilities have been widely proven in practice. diff --git a/blog/Volcano-1.13.0-release.md b/blog/Volcano-1.13.0-release.md index c9567e43..bcb78ef2 100644 --- a/blog/Volcano-1.13.0-release.md +++ b/blog/Volcano-1.13.0-release.md @@ -9,7 +9,7 @@ tags: ["release", "volcano", "kubernetes", "llm", "scheduling"] # Volcano v1.13 Released: Comprehensive Enhancement of Scheduling Capabilities for LLM Training and Inference On September 29, 2025 (Beijing Time), [Volcano v1.13] (https://github.com/volcano-sh/volcano/releases/tag/v1.13.0)[1] was officially released. This update brings functional enhancements across multiple areas, providing users with a more comprehensive cloud-native batch computing solution. - +{/* truncate */} ## Release Highlights diff --git a/blog/Volcano-1.15.0-release-en.md b/blog/Volcano-1.15.0-release-en.md index 3ce9e63b..043e0aac 100644 --- a/blog/Volcano-1.15.0-release-en.md +++ b/blog/Volcano-1.15.0-release-en.md @@ -21,7 +21,7 @@ As batch training, inference, AI Agent, HPC, big-data and other diverse workload The most notable new capability is **Gang-Aware Preemption and Resource Reclamation**: preemption decisions are evaluated at gang granularity on both the preemptor and victim sides — the preemptor is placed as a whole gang, and victim candidates are organized and evaluated at job/gang granularity, preferring surplus replicas to avoid per-Pod random eviction that disrupts multiple training jobs while the preemptor itself still cannot start. In addition, v1.15.0 introduces DRA queue quota in the capacity plugin, a pluggable multi-sharding policy framework, a Benchmark and performance observability tool, Kubernetes 1.35 support, NodeGroup preferred ordering, Agent Scheduler stability fixes, GPU/vGPU incremental enhancements, and Scheduling Gates for queue admission control. - +{/* truncate */} ## Highlights diff --git a/blog/Volcano-1.7.0-release-en.md b/blog/Volcano-1.7.0-release-en.md index 0c968ca8..849062ef 100644 --- a/blog/Volcano-1.7.0-release-en.md +++ b/blog/Volcano-1.7.0-release-en.md @@ -20,7 +20,7 @@ Volcano 1.7.0 is now available with the following new features: ![volcano_logo.png](/img/blog/volcano_logo.svg) Volcano is the industry-first cloud native batch computing project. Open-sourced at KubeCon Shanghai in June 2019, it became an official CNCF project in April 2020. In April 2022, Volcano was promoted to a CNCF incubating project. By now, more than 490 global developers have committed code to the project. The community is seeing growing popularity among developers, partners, and users. - +{/* truncate */} ### Key Features #### 1. Enhanced Plugin for PyTorch Jobs diff --git a/blog/Volcano-1.8.2-release.md b/blog/Volcano-1.8.2-release.md index d7ab3962..a56f8004 100644 --- a/blog/Volcano-1.8.2-release.md +++ b/blog/Volcano-1.8.2-release.md @@ -8,7 +8,7 @@ tags: ["release", "volcano", "kubernetes", "vgpu", "jobflow"] On January 9, 2024, UTC+8, Volcano version v1.8.2 was officially released. This version added the following new features: - +{/* truncate */} - **Support for vGPU scheduling and isolation** - **Support for vGPU and user-defined resource preemption capabilities** diff --git a/blog/Volcano-1.9.0-release.md b/blog/Volcano-1.9.0-release.md index 15fda873..9840170b 100644 --- a/blog/Volcano-1.9.0-release.md +++ b/blog/Volcano-1.9.0-release.md @@ -8,7 +8,7 @@ tags: ["release", "volcano", "kubernetes", "scheduling", "gpu"] On May 21, 2024, UTC+8, Volcano version v1.9.0 was officially released. This version added the following new features: - +{/* truncate */} - **Support elastic queue capacity scheduling** - **Supports affinity scheduling between queues and nodes** @@ -23,7 +23,7 @@ On May 21, 2024, UTC+8, Volcano version v1.9.0 was officially released. This ver - **Improve scheduling stability** - +{/* {{
}} */} Volcano is the industry-first cloud native batch computing project. Open-sourced at KubeCon Shanghai in June 2019, it became an official CNCF project in April 2020. In April 2022, Volcano was promoted to a CNCF incubating project. By now, more than 600 global developers have committed code to the project. The community is seeing growing popularity among developers, partners, and users. ### Key Features diff --git a/blog/Volcano-community-co-construction-program.md b/blog/Volcano-community-co-construction-program.md index c529050c..b5fc8e40 100644 --- a/blog/Volcano-community-co-construction-program.md +++ b/blog/Volcano-community-co-construction-program.md @@ -8,7 +8,7 @@ tags: ["community", "co-construction", "partners", "volcano", "huawei"] As artificial intelligence (AI) technologies advance and large language models (LLMs) grow more popular, the demand for AI compute has been booming. This has generated huge demand for high-performance scheduling for the AI and for hardware like AI chips. - +{/* truncate */} ![](/img/blog/volcano_logo.svg) diff --git a/blog/aiqiyi-en.md b/blog/aiqiyi-en.md index ab009939..04b8f552 100644 --- a/blog/aiqiyi-en.md +++ b/blog/aiqiyi-en.md @@ -8,7 +8,7 @@ tags: ["case-study", "deep-learning", "migration", "kubernetes"] >This article was firstly released at `Container Cube` on September 30th, 2020, refer to[揭秘爱奇艺深度学习平台云原生迁移实践](https://mp.weixin.qq.com/s/YtP-ZURRBr5-ba1eWfKS2A) - +{/* truncate */} ## Introduction to iQIYI Jarvis Deep Learning Platform __Overall Architecture of the Platform__ diff --git a/blog/how-volcano-boosts-distributed-training-and-inference-performance.md b/blog/how-volcano-boosts-distributed-training-and-inference-performance.md index 0ec9be03..a63839e4 100644 --- a/blog/how-volcano-boosts-distributed-training-and-inference-performance.md +++ b/blog/how-volcano-boosts-distributed-training-and-inference-performance.md @@ -10,15 +10,15 @@ tags: ["performance", "distributed-training", "inference", "kubecon"] The increasing adoption of large language models (LLMs) has led to heightened demand for efficient AI training and inference workloads. As model size and complexity grow, distributed training and inference have become essential. However, this expansion introduces challenges in network communication, resource allocation, and fault recovery within large-scale distributed environments. These issues often create performance bottlenecks that hinder scalability. - +{/* truncate */} ## Addressing Network Bottlenecks Through Topology-Aware Scheduling In LLM training, model parallelism distributes workloads across multiple nodes, requiring frequent data exchanges. Network communication can become a bottleneck, particularly in heterogeneous environments with InfiniBand (IB), RoCE, or NVSwitch configurations. Communication efficiency depends on network topology—fewer switches between nodes typically result in lower latency and higher throughput. One approach to mitigating this challenge is Network Topology-Aware Scheduling, which optimizes workload placement to minimize cross-switch communication. A key component of this strategy is the HyperNode, an abstraction for representing network topology via Custom Resource Definitions (CRDs). Unlike label-based methods, HyperNode provides a hierarchical structure that reflects actual network layouts, improving management and optimization. Nodes within the same HyperNode communicate more efficiently than those spanning multiple layers. - - +{/* TODO: Add network topology diagram when available */} +{/* ![](/img/blog/network-topology/hypernode-example.png) */} Topology constraints can also be specified for jobs through the networkTopology field, with options for strict (Hard Mode) or flexible (Soft Mode) enforcement. This granular control helps ensure workloads are deployed in optimal network environments, reducing latency and improving throughput. @@ -27,8 +27,8 @@ Topology constraints can also be specified for jobs through the networkTopology As AI workloads expand, single Kubernetes clusters may no longer suffice for large-scale training and inference. While multiple clusters can address this limitation, managing them efficiently presents challenges. The Volcano Global subproject extends scheduling capabilities to multi-cluster environments, integrating with Karmada to enable cross-cluster scheduling for distributed workloads. Features such as Queue Priority Scheduling, Job Priority Scheduling, and Multi-Tenant Fair Scheduling help optimize resource allocation and ensure equitable access across tenants. This approach simplifies multi-cluster management while supporting scalable AI workloads. - - +{/* TODO: Add multi-cluster architecture diagram when available */} +{/* ![](/img/blog/multi-cluster/volcano_global_design.svg) */} ## Improving Stability with Fine-Grained Fault Recovery diff --git a/blog/hpc-en.md b/blog/hpc-en.md index 29a14bf4..c8bfb0d9 100644 --- a/blog/hpc-en.md +++ b/blog/hpc-en.md @@ -12,7 +12,7 @@ tags: ["hpc", "case-study", "meteorological", "wrf"] Kubernetes has become the de facto standard for cloud native application orchestration and management. An increasing number of applications are being reconstructed or built to employ Kubernetes. High performance computing (HPC) is a popular distributed computing mode and is widely used in many fields. For users who have deployed HPC applications and are eager to containerize and manage their applications using Kubernetes, Volcano, CNCF's first distributed scheduling system for batch computing, is a good choice. Volcano supports multiple types of computing frameworks, such as Spark, TensorFlow, and Message Passing Interface (MPI). This article uses a traditional HPC application, the Weather Research and Forecasting (WRF) model, as an example to describe how Volcano works for HPC applications. - +{/* truncate */} ## About HPC diff --git a/blog/iflytek_case_study.md b/blog/iflytek_case_study.md index b94dac47..4c009ccc 100644 --- a/blog/iflytek_case_study.md +++ b/blog/iflytek_case_study.md @@ -10,7 +10,7 @@ tags: ["case-study", "iflytek", "ai", "infrastructure", "award"] [HONG KONG, CHINA — June 10, 2025] — The Cloud Native Computing Foundation (CNCF) today announced that iFlytek has won the CNCF End-User Case Study Competition. The CNCF, which is committed to building a sustainable ecosystem for cloud native software, recognized iFlytek for its innovative use of Volcano. The company shared its success in large-scale AI model training at the KubeCon + CloudNativeCon China conference, held in Hong Kong from June 10-11. - +{/* truncate */} ### iFlytek's Challenges diff --git a/blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md b/blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md index fbaa2da8..00dec031 100644 --- a/blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md +++ b/blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md @@ -11,7 +11,7 @@ Today, the [Volcano](https://volcano.sh/) community is proud to announce the lau Kthena is a cloud-native, high-performance system for LLM inference routing, orchestration, and scheduling, tailored specifically for Kubernetes. Engineered to address the complexity of serving LLMs at production scale, Kthena delivers granular control and enhanced flexibility. Through features like topology-aware scheduling, KV Cache-aware routing, and Prefill-Decode (PD) disaggregation, it significantly improves GPU/NPU utilization and throughput while minimizing latency. As a sub-project of Volcano, Kthena extends Volcano’s capabilities beyond AI training, creating a unified, end-to-end solution for the entire AI lifecycle. - +{/* truncate */} ## The "Last Mile" Challenge of LLM Serving diff --git a/blog/kube-batch-customers.md b/blog/kube-batch-customers.md index 24128489..2354054c 100644 --- a/blog/kube-batch-customers.md +++ b/blog/kube-batch-customers.md @@ -15,4 +15,4 @@ tags: ["kube-batch", "customers", "kubernetes", "scheduler"] | [FfDL](https://github.com/IBM/FfDL) | [@animeshsingh](https://github.com/animeshsingh)| | | | [MOGU Inc](https://www.mogujie.com) | [@jiaxuanzhou](https://github.com/jiaxuanzhou)| Production | The scheduler for offline training of tiny+ | - \ No newline at end of file +{/* truncate */} \ No newline at end of file diff --git a/blog/kube-batch-startup.md b/blog/kube-batch-startup.md index 812f4787..93d5aabe 100644 --- a/blog/kube-batch-startup.md +++ b/blog/kube-batch-startup.md @@ -10,7 +10,7 @@ tags: ["kube-batch", "startup", "kubernetes", "scheduler"] This document describes how to run `kube-batch` as a batch scheduler for Kubernetes. To get the complete code, go to [master](https://github.com/kubernetes-sigs/kube-batch/tree/master). - +{/* truncate */} ## 1. Prerequisites Before running `kube-batch`, you must start up a Kubernetes cluster (see [Creating a Cluster with Kubeadm](https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/)). To complete local testing and deployment, you can use Minikube (see [Running Kubernetes Locally with Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/). You can also use [kind](https://github.com/kubernetes-sigs/kind) to run local Kubernetes clusters with Docker container "nodes". diff --git a/blog/leinao-en.md b/blog/leinao-en.md index 0e09ab5d..b259522e 100644 --- a/blog/leinao-en.md +++ b/blog/leinao-en.md @@ -20,7 +20,7 @@ The Leinao cloud AI platform includes an AI development platform, public service - The AI visualized operations platform helps managers make better informed decisions. - The AI community is where AI developers and companies gather, exchange ideas, and improve their skills. - +{/* truncate */} ## The architecture of Leinao cloud OS @@ -47,15 +47,15 @@ More importantly, Volcano allows you to configure retry policies for distributed Volcano provides enhanced job APIs. - +{/*![](leinao-en2.png)*/} Volcano improves many aspects of default-scheduler. - +{/*![](leinao-en3.png)*/} Default-scheduler and Volcano work differently in a couple of other ways as well. - +{/*![](leinao-en4.png)*/} diff --git a/blog/paddlepaddle-en.md b/blog/paddlepaddle-en.md index 8997ea73..a9041bed 100644 --- a/blog/paddlepaddle-en.md +++ b/blog/paddlepaddle-en.md @@ -11,7 +11,7 @@ tags: ["paddlepaddle", "distributed-training", "ai", "framework"] PaddlePaddle is a deep learning framework open-sourced by Baidu in September 2016. It aims to provide a secure, easy-to-use, and scalable deep learning platform. - +{/* truncate */} diff --git a/blog/pengcheng-en.md b/blog/pengcheng-en.md index 1a97ed76..032d699b 100644 --- a/blog/pengcheng-en.md +++ b/blog/pengcheng-en.md @@ -8,7 +8,7 @@ tags: ["case-study", "scientific-research", "preemption", "kubernetes"] >This article was firstly released at `Container Cube` on September 30th, 2020, refer to[鹏城实验室启智章鱼教你彻底摆脱Kubernetes集群资源抢占难题](https://mp.weixin.qq.com/s/h4T7KbAiQZTKepYcTcgdlA) - +{/* truncate */} ## Introduction to OpenI-Octopus OpenI-Octopus is a cluster management and resource scheduling system developed and maintained by Peng Cheng Laboratory, Peking University, and University of Science and Technology of China. diff --git a/blog/ruitian-en.md b/blog/ruitian-en.md index d979dbfe..8571429a 100644 --- a/blog/ruitian-en.md +++ b/blog/ruitian-en.md @@ -8,7 +8,7 @@ tags: ["case-study", "financial", "hpc", "ruitian"] >This article was firstly released at `Container Cube` on January 5th, 2021, refer to [基于Volcano的锐天离线高性能计算最佳实践](https://mp.weixin.qq.com/s/FDYExtj93lCrXmiFRozBPA) - +{/* truncate */} ## Why Volcano Ruitian Capital is a private equity investment firm committed to helping customers achieve returns by using diverse range of trading strategies. Ruitian offline computing clusters are dedicated to strategy development and big data processing. The clusters analyze large volumes of data to help develop quantitative models for stock and futures trading. diff --git a/blog/ruitian2-en.md b/blog/ruitian2-en.md index 0ec438b5..3cbfcf55 100644 --- a/blog/ruitian2-en.md +++ b/blog/ruitian2-en.md @@ -8,7 +8,7 @@ tags: ["case-study", "financial", "distributed-computing", "ruitian"] >This article was firstly released at `Container Cube` on December 24th, 2020, refer to[锐天投资基于Volcano的大规模分布式离线计算平台的应用实践](https://mp.weixin.qq.com/s/dC4IDNG7FMGLigNJaj_Qug) - +{/* truncate */} ## Service Scenarios and Solution Selection __Service Scenarios__ diff --git a/blog/volcano-2025-security-audit.md b/blog/volcano-2025-security-audit.md index 9f3a2175..70ad8db6 100644 --- a/blog/volcano-2025-security-audit.md +++ b/blog/volcano-2025-security-audit.md @@ -8,7 +8,7 @@ tags: ["security", "audit", "volcano", "cncf"] Volcano is excited to announce the completion of our CNCF-funded security audit carried out by [Ada Logics](https://adalogics.com/) and facilitated by [OSTIF](https://ostif.org/) in collaboration with the Volcano maintainers. The audit was scoped to cover the Volcano source code, supply-chain risks and fuzzing. The auditing team identified 10 security issues which the Volcano security team has fixed with the completion of the audit. - +{/* truncate */} Volcano has addressed several infrastructure-level security issues by making targeted configuration changes that reduce risk and improve the default security posture of its default deployment. Below is a breakdown of each issue, the associated risks, and how Volcano resolved them, along with the resulting security improvements. One issue involved several Volcano components running with root privileges by default. Containers running as root pose an increased security risk in that if compromised, an attacker gains access to capabilities they can use to escalate their privileges. Volcano fixed this by configuring all components - including the scheduler, admission controller, controllers, and dashboard - to run as non-root by default. This change limits the scope of what an attacker can do inside a container and helps contain breaches more effectively. diff --git a/blog/xiaohongshu-en.md b/blog/xiaohongshu-en.md index 861a9396..124722ac 100644 --- a/blog/xiaohongshu-en.md +++ b/blog/xiaohongshu-en.md @@ -8,7 +8,7 @@ tags: ["case-study", "recommendation", "xiaohongshu", "content-engine"] >This article was firstly released at `Container Cube` on May 27th, 2021, refer to [小红书基于Volcano的大规模离线与在线推荐模型训练实践](https://mp.weixin.qq.com/s/nZXZx78EQoHzRj1-LqMPQQ) - +{/* truncate */} ## Introduction to Xiaohongshu diff --git a/docs/Concepts/CronVolcanoJob.md b/docs/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/docs/Concepts/CronVolcanoJob.md +++ b/docs/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/docs/KeyFeatures/MultiClusterScheduling.md b/docs/KeyFeatures/MultiClusterScheduling.md index e665d886..aea8c667 100644 --- a/docs/KeyFeatures/MultiClusterScheduling.md +++ b/docs/KeyFeatures/MultiClusterScheduling.md @@ -28,9 +28,9 @@ Volcano Global enhances Karmada with the following features to meet the complex ## Architecture - +*/} Volcano Global consists of two components: diff --git a/docusaurus.config.js b/docusaurus.config.js index bb9ecc7c..a3fe4c95 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -45,7 +45,12 @@ const config = { projectName: "website", onBrokenLinks: "throw", - onBrokenMarkdownLinks: "throw", + onBrokenAnchors: "ignore", + markdown: { + hooks: { + onBrokenMarkdownLinks: "throw", + }, + }, i18n: { defaultLocale: "en", diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/1.4 release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/1.4 release-en.md index 2fae602f..34aef70e 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/1.4 release-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/1.4 release-en.md @@ -10,7 +10,7 @@ tags: ["Tutorials"] 北京时间9月4日,CNCF首个批量计算项目Volcano发布v1.4.0-Beta版本。该版本发布了“支持GPU节点多维度资源比例分片”、“支持NUMA-Aware”、“支持多调度器混合部署”等多个重要特性,并在稳定性方面具有显著提升。 - +{/* truncate */} ## 支持GPU节点多维度资源比例分片 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/ING_case-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/ING_case-en.md index 80a57288..194ba3e8 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/ING_case-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/ING_case-en.md @@ -8,7 +8,7 @@ tags: ["Practice"] >2022年10月26日,ING集团在北美KubeCon发表了《Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano - Krzysztof Adamski & Tinco Boekestijn, ING》主题演讲,重点介绍了云原生批量计算项目Volcano如何在数据管理平台中为大数据分析作业提供高性能调度工作。详情参见:[KubeCon + CloudNativeCon North America](https://events.linuxfoundation.org/archive/2022/kubecon-cloudnativecon-north-america/program/schedule/) - +{/* truncate */} ## ING背景介绍 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md index e32b0368..48f7a2ab 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Meet Cloud Native Batch Computing with Volcano in AI & Big Data Scenarios.md @@ -9,7 +9,7 @@ tags: ["kubecon", "batch-computing", "ai", "big-data", "volcano"] 云原生批量计算引擎 Volcano 专为 AI、大数据、基因测序、渲染等高性能计算应用场景而设计,并支持各类主流的通用计算框架。目前,全球已有超过 58,000 名开发者加入了 Volcano 社区,其中核心贡献者来自华为、AWS、百度、腾讯、京东、小红书等知名企业。该项目在 GitHub 上已获得超过 3700 个 Star 和 800 多个 Fork。Volcano 已被证实能够胜任 AI、大数据、基因测序等领域的海量数据计算与分析任务。其支持的计算框架涵盖 Spark、Flink、TensorFlow、PyTorch、Argo、MindSpore、PaddlePaddle、Kubeflow、MPI、Horovod、MXNet、KubeGene 以及 Ray。随着越来越多的开发者和应用案例涌现,Volcano 的生态系统正呈现出蓬勃发展的态势。 ![](/img/blog/volcano_logo.svg) - +{/* truncate */} 作为业界首个云原生批量计算项目,Volcano 于 2019 年 6 月在 KubeCon 上海峰会上正式开源,并于 2020 年 4 月正式成为 CNCF(云原生计算基金会)的官方项目。2022 年 4 月,Volcano 成功晋级为 CNCF 孵化项目。截至目前,全球已有超过 600 名开发者为该项目提交了代码。Volcano 社区正日益受到开发者、合作伙伴及用户的广泛关注与青睐。 ### 体验 Volcano v1.8.2 的新特性 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Quick-Start-Volcano.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Quick-Start-Volcano.md index 2c4a77ed..85a7c1a8 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Quick-Start-Volcano.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Quick-Start-Volcano.md @@ -30,7 +30,7 @@ volcanosh/vk-controllers latest 7b11606ebfb8 10 seconds ag 为每个镜像执行命令```kind load docker-image : ```。 ### 2. Helm charts - +{/* truncate */} 最后,安装helm chart ```shell diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.10.0-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.10.0-release.md index 5da3c46f..eec413d8 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.10.0-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.10.0-release.md @@ -9,7 +9,7 @@ tags: ["Practice"] 北京时间2024年9月19日,Volcano社区v1.10.0版本正式发布,此次版本增加了以下新特性: - +{/* truncate */} - **新增队列优先级设置策略** diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.11.0-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.11.0-release.md index 1cfc5c9c..307e9b66 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.11.0-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.11.0-release.md @@ -9,7 +9,7 @@ tags: ["Practice"] # Volcano v1.11 重磅发布!开启AI与大数据的云原生调度新纪元 作为云原生批量计算领域的事实标准,Volcano已经在AI、Big Data及高性能计算 (HPC) 等多种场景中获得广泛应用,吸引了来自30多个国家的800多名贡献者,累计代码提交数万次。Volcano已在国内外60+企业进行了生产落地,经受住了实际生产环境的考验,赢得了用户的广泛赞誉,为业界提供了云原生批量计算的卓越实践标准与解决方案。 - +{/* truncate */} 随着用户使用场景的日益复杂,以及对资源利用率极致追求,特别是在AI大模型场景下,对训练与推理任务的性能、GPU资源利用率、可用性提出了更高的要求,促使Volcano不断拓展其应用场景,深入解决用户的核心诉求。Volcano目前的版本历程里共发布了28个release,针对批量计算的场景做了一系列功能增强和优化,帮助用户更好的将业务迁移到云原生平台,解决了诸多痛点问题,赢得了用户的广泛的喜爱与好评,用户与社区之间也形成了良好的互动,approver和reviewer数量累计发展了30+,达成了双赢互利的局面。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.12.0-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.12.0-release.md index dbe48886..b7a408d7 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.12.0-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.12.0-release.md @@ -10,7 +10,7 @@ tags: ["Practice"] 随着AI大模型技术的快速发展,企业对计算资源利用效率和应用性能的要求日益提高。在AI、大数据及高性能计算(HPC)等复杂应用场景下,如何高效利用GPU等异构加速器、保障系统高可用性并精细化管理资源,是Volcano社区持续探索和创新的核心方向。 - +{/* truncate */} Volcano的每一次版本迭代,都是对这些挑战的积极回应。在来自全球30余个国家、**超过1000名开发者、近40000次贡献**的共同建设下,Volcano已在国内外60多家企业的生产环境中得到应用,其调度性能与资源管理能力在实践中获得了广泛认可。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.13.0-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.13.0-release.md index 04838157..cd3177da 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.13.0-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.13.0-release.md @@ -9,7 +9,7 @@ tags: ["Practice"] # Volcano v1.13 重磅发布!大模型训练与推理等调度能力全面增强 北京时间2025年9月29日,Volcano v1.13 版本[1]正式发布。本次更新在多方面进行了功能增强,为用户提供更完善的云原生批量计算解决方案。 - +{/* truncate*/} ## 版本亮点 v1.13.0版本的主要更新包括: diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md index 8c63707c..44ae361f 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md @@ -21,7 +21,7 @@ tags: 本次最值得关注的新增能力是 **Gang-Aware Preemption and Resource Reclamation**:抢占决策在抢占方与被抢占方两侧均以 Gang 为整体进行评估——抢占方按 Gang 整体进行放置,被抢占候选者同样按 Gang 粒度进行排序和评估,优先驱逐冗余副本,避免逐 Pod 随机驱逐打断多个训练任务而抢占方自身仍无法启动的情况。此外,v1.15.0 在 capacity 插件中引入了 DRA 队列配额,新增了可插拔的多分片策略框架以及 Benchmark 与性能可观测工具,支持 Kubernetes 1.35,并在 NodeGroup 调度优先级、Agent Scheduler 稳定性、GPU/vGPU 及队列准入控制等方面做了补充增强。 - +{/* truncate */} ## 版本亮点 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.7.0-release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.7.0-release-en.md index 1eab4eef..20a270a7 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.7.0-release-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.7.0-release-en.md @@ -18,7 +18,7 @@ tags: ["Practice"] ![](/img/blog/volcano_logo.svg) Volcano是业界首个云原生批量计算项目,于2019年6月在上海KubeCon正式开源,并在2020年4月成为CNCF官方项目。2022年4月,Volcano正式晋级为CNCF孵化项目。Volcano社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截止目前,累计有490+全球开发者向项目贡献了代码。 - +{/* truncate */} ### Volcano v1.7.0 关键特性介绍 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.8.2-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.8.2-release.md index 17a6e806..aa4663a5 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.8.2-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.8.2-release.md @@ -8,7 +8,7 @@ tags: ["Practice"] 北京时间2024年1月9日,Volcano 社区 v1.8.2 版本正式发布,此次版本增加了以下新特性: - +{/* truncate */} - **支持vGPU调度及隔离** diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.9.0-release.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.9.0-release.md index 10d0c9a7..c4253218 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.9.0-release.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.9.0-release.md @@ -8,7 +8,7 @@ tags: ["Practice"] 北京时间2024年5月21日,Volcano 社区 v1.9.0 版本正式发布,此次版本增加了以下新特性: - +{/* truncate */} - **支持弹性队列容量capacity调度** diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-community-co-construction-program.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-community-co-construction-program.md index a7cd8412..2103480c 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-community-co-construction-program.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-community-co-construction-program.md @@ -8,7 +8,7 @@ tags: ["Tutorials"] 随着人工智能技术的高速发展,以及大语言模型的推广应用,各行各业对智能算力的需求呈爆发式增长,除了AI芯片等硬件设备的支持,对于AI任务的高性能智能调度也是重中之重。 - +{/* truncate */} ![](/img/blog/volcano_logo.svg) diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/aiqiyi-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/aiqiyi-en.md index f62cff0b..d312c0d2 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/aiqiyi-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/aiqiyi-en.md @@ -8,7 +8,7 @@ tags: ["Practice"] >本文2020年9月30日首发于容器魔方微信公众号,原文链接[揭秘爱奇艺深度学习平台云原生迁移实践](https://mp.weixin.qq.com/s/YtP-ZURRBr5-ba1eWfKS2A) - +{/* truncate */} ## Jarvis深度学习平台介绍 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/how-volcano-boosts-distributed-training-and-inference-performance.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/how-volcano-boosts-distributed-training-and-inference-performance.md index 386a054f..6d1e3ec0 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/how-volcano-boosts-distributed-training-and-inference-performance.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/how-volcano-boosts-distributed-training-and-inference-performance.md @@ -10,7 +10,7 @@ tags: ["performance", "distributed-training", "inference", "kubecon"] The increasing adoption of large language models (LLMs) has led to heightened demand for efficient AI training and inference workloads. As model size and complexity grow, distributed training and inference have become essential. However, this expansion introduces challenges in network communication, resource allocation, and fault recovery within large-scale distributed environments. These issues often create performance bottlenecks that hinder scalability. - +{/* truncate */} ## Addressing Network Bottlenecks Through Topology-Aware Scheduling @@ -25,8 +25,8 @@ Topology constraints can also be specified for jobs through the networkTopology As AI workloads expand, single Kubernetes clusters may no longer suffice for large-scale training and inference. While multiple clusters can address this limitation, managing them efficiently presents challenges. The Volcano Global subproject extends scheduling capabilities to multi-cluster environments, integrating with Karmada to enable cross-cluster scheduling for distributed workloads. Features such as Queue Priority Scheduling, Job Priority Scheduling, and Multi-Tenant Fair Scheduling help optimize resource allocation and ensure equitable access across tenants. This approach simplifies multi-cluster management while supporting scalable AI workloads. - - +{/* TODO: Add multi-cluster architecture diagram when available */} +{/* ![](/img/blog/volcano_global_design.svg) */} ## Improving Stability with Fine-Grained Fault Recovery diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/hpc-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/hpc-en.md index b53ceed8..f2d2fc10 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/hpc-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/hpc-en.md @@ -242,5 +242,5 @@ __这样就能在Kubernetes+Volcano上运行气象模拟作业了。__ - +{/* truncate */} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/iflytek_case_study.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/iflytek_case_study.md index 980b1d95..c7422b47 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/iflytek_case_study.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/iflytek_case_study.md @@ -10,7 +10,7 @@ tags: ["News"] [ 中国,香港,2025年6月10日 ] 云原生计算基金会(CNCF)宣布,科大讯飞赢得 CNCF 最终用户案例研究竞赛。CNCF致力于构建可持续的云原生软件生态,科大讯飞凭借其在 Volcano 上的创新应用脱颖而出,获得本次殊荣,于6月10日至11日在香港举行的KubeCon + CloudNativeCon China 大会上,分享其大规模 AI 模型训练的成功经验。 - +{/* truncate */} ### 科大讯飞的挑战 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md index e93adbe5..4cd98e11 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/introducing-kthena-redefining-llm-inference-for-the-cloud-native-era.md @@ -8,7 +8,7 @@ tags: ["Practice"] 今天,我们激动地向全球开发者和 MLOps 工程师宣布,Volcano 社区迎来了一个新的子项目 Kthena!Kthena 是一个专为 Kubernetes 设计的、云原生、高性能的 LLM 推理路由和编排、调度系统。它旨在解决在生产环境中大规模编排、部署和服务 LLM 所面临的核心挑战,通过其独特的超节点拓扑感知的亲和性调度,KV Cache 感知的流量调度、Prefill/Decode 分离路由等高级功能,显著提升 GPU/NPU 资源利用率和吞吐,降低推理延迟,并赋予企业前所未有的灵活性和控制力。作为 Volcano 的子项目,Kthena将致力于帮助 Volcano 扩展除 AI 训练之外的边界,打造训推一体的完整解决方案。 - +{/* truncate */} ## LLM 服务化的“最后一公里”困境 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-customers.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-customers.md index b7c01ac5..79d5bb0d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-customers.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-customers.md @@ -15,7 +15,7 @@ tags: ["Tutorials"] | [蘑菇街](https://www.mogujie.com) | [@jiaxuanzhou](https://github.com/jiaxuanzhou)| 生产环境 | Tiny+离线训练的调度器| | [蘑菇街](https://www.mogujie.com) | [@jiaxuanzhou](https://github.com/jiaxuanzhou)| 生产环境 | Tiny+离线训练的调度器| - +{/* truncate */} | [蘑菇街](https://www.mogujie.com) | [@jiaxuanzhou](https://github.com/jiaxuanzhou)| 生产环境 | Tiny+离线训练的调度器| \ No newline at end of file diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-startup.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-startup.md index f4edbca2..6a39b8ea 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-startup.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/kube-batch-startup.md @@ -9,7 +9,7 @@ tags: ["Tutorials"] 本文档将展示如何将`kube-batch`作为基于Kubernetes的批量调度引擎运行起来。代码请参考[master](https://github.com/kubernetes-sigs/kube-batch/tree/master) 。 - +{/* truncate */} ## 1. 前置条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/leinao-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/leinao-en.md index 8f56642a..760999ad 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/leinao-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/leinao-en.md @@ -18,7 +18,7 @@ AI可视化平台:面向管理人员,提供统一的运营数据可视化展 AI社区:面向AI开发者和相关企业的社区平台,提供AI交流、问答、培训服务 - +{/* truncate */} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/paddlepaddle-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/paddlepaddle-en.md index 3a936321..204ca8aa 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/paddlepaddle-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/paddlepaddle-en.md @@ -10,7 +10,7 @@ tags: ["Practice"] 飞桨(PaddlePaddle)是百度于2016年9月开源的深度学习框架,旨在提供一款安全高效、灵活易用、可扩展的深度学习平台。 - +{/* truncate */} 2018年10月,飞桨团队发布Paddle Fluid 1.0版本,对神经网络描述、大规模分布式训练、高性能推理引擎等核心能力进行了全面升级。以工业界应用必需的分布式训练能力为例,在最新的Paddle Fluid 1.5.2版本中,飞桨支持数据并行、模型并行、流水线并行等多种并行模式,参数服务器架构和点对点同步训练架构全面支持在CPU、GPU等硬件资源设备上的大规模训练。本文将介绍飞桨分布式训练在Kubernetes社区中的Volcano系统上进行实践的案例。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/pengcheng-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/pengcheng-en.md index e4c2678d..1230a6f5 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/pengcheng-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/pengcheng-en.md @@ -8,7 +8,7 @@ tags: ["Practice"] >本文2021年6月1日首发于容器魔方微信公众号,原文链接[鹏城实验室启智章鱼教你彻底摆脱Kubernetes集群资源抢占难题](https://mp.weixin.qq.com/s/h4T7KbAiQZTKepYcTcgdlA) - +{/* truncate */} ## 启智章鱼平台介绍 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian-en.md index b8e8f52f..bca766f3 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian-en.md @@ -8,7 +8,7 @@ tags: ["Practice"] >本文2021年1月5日首发于容器魔方微信公众号,原文链接[基于Volcano的锐天离线高性能计算最佳实践](https://mp.weixin.qq.com/s/FDYExtj93lCrXmiFRozBPA) - +{/* truncate */} Volcano是一个基于Kubernetes的云原生批量计算平台,也是CNCF的首个批量计算项目。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian2-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian2-en.md index 40b055d9..baa8c230 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian2-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/ruitian2-en.md @@ -8,7 +8,7 @@ tags: ["Practice"] >本文首发于容器魔方微信公众号,原文链接[锐天投资基于Volcano的大规模分布式离线计算平台的应用实践](https://mp.weixin.qq.com/s/dC4IDNG7FMGLigNJaj_Qug) - +{/* truncate */} ## 业务场景与技术选型 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/volcano-2025-security-audit.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/volcano-2025-security-audit.md index 90107564..cdebc1a7 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/volcano-2025-security-audit.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/volcano-2025-security-audit.md @@ -8,7 +8,7 @@ tags: ["security", "audit", "volcano", "cncf"] Volcano 很高兴地宣布,我们已完成了由 CNCF 资助的安全审计工作。此次审计由 [Ada Logics](https://adalogics.com/) 负责执行,[OSTIF](https://ostif.org/) 负责协调,并得到了 Volcano 维护者团队的通力协作。此次审计的范围涵盖了 Volcano 的源代码、供应链风险以及模糊测试(fuzzing)环节。审计团队共识别出 10 个安全问题,Volcano 安全团队已在审计工作结束的同时完成了对这些问题的修复。 - +{/* truncate */} Volcano 通过实施针对性的配置变更,解决了若干基础设施层面的安全问题;这些变更有效降低了风险,并提升了其默认部署环境下的整体安全态势。下文将详细列出每一个安全问题及其关联风险,并阐述 Volcano 采取的解决措施,同时展示由此带来的安全改进成果。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/xiaohongshu-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/xiaohongshu-en.md index 4d737c87..d50228bd 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/xiaohongshu-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/xiaohongshu-en.md @@ -5,7 +5,7 @@ date: 2021-05-27 authors: ["郭一/小红书智能分发工程负责人"] tags: ["Practice"] --- - +{/* truncate */} >本文2021年5月27日首发于容器魔方微信公众号,原文链接[小红书基于Volcano的大规模离线与在线推荐模型训练实践](https://mp.weixin.qq.com/s/nZXZx78EQoHzRj1-LqMPQQ) diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/cloudNativeColocation.md index b26a62c9..6e9b97d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/KeyFeatures/cloudNativeColocation.md @@ -70,7 +70,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/doc/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -86,11 +86,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -101,11 +101,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.10.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/cloudNativeColocation.md index c39a1683..844fef37 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.11.0/KeyFeatures/cloudNativeColocation.md @@ -69,7 +69,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/colocation/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -85,11 +85,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -99,11 +99,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/cloudNativeColocation.md index c39a1683..844fef37 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.12.0/KeyFeatures/cloudNativeColocation.md @@ -69,7 +69,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/colocation/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -85,11 +85,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -99,11 +99,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/Queue.md index 6ff53261..57f4eefa 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](../UserGuide/user_guide_how_to_use_capacity_plugin.md) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/cloudNativeColocation.md index b26a62c9..6e9b97d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.13.0/KeyFeatures/cloudNativeColocation.md @@ -70,7 +70,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/doc/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -86,11 +86,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -101,11 +101,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/Queue.md index 6ff53261..57f4eefa 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](../UserGuide/user_guide_how_to_use_capacity_plugin.md) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/cloudNativeColocation.md index b26a62c9..6e9b97d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.14.0/KeyFeatures/cloudNativeColocation.md @@ -70,7 +70,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/doc/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -86,11 +86,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -101,11 +101,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/Queue.md index 6ff53261..57f4eefa 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](../UserGuide/user_guide_how_to_use_capacity_plugin.md) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md index 91e838b5..96f6b69d 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md @@ -63,7 +63,8 @@ data: > - 动态资源相关检查(如 CPU、内存使用情况)每次都会重新计算 > - 当节点状态发生变化时,相关缓存会自动失效 -#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) {#dra-activation} + +#### 2.1.2. 在 Volcano 中启用 DRA (动态资源分配) 在 Volcano 调度器中启用动态资源分配 (DRA) 支持需要一些步骤。 ##### 2.1.2.1 先决条件 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/cloudNativeColocation.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/cloudNativeColocation.md index b26a62c9..6e9b97d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/cloudNativeColocation.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.15.0/KeyFeatures/cloudNativeColocation.md @@ -70,7 +70,7 @@ Kubernetes现有的资源调度模型基于Pod的requests进行计算,而用 Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分资源动态超卖给离线作业使用,提高Pod部署密度,提升资源利用率。 - +{/* ![动态资源超卖原理图](img/doc/oversubscription.png) */} 由于超卖资源的增加,改变了节点原有的资源可用量,且超卖资源单独给离线作业使用,因此对于超卖资源的计算、上报方式和使用方式会有不同的方案选择。为了更好地与Kubernetes解耦,以及支持用户自定义设置超卖资源的表现形式,Volcano提供了native、extend等超卖资源计算和上报模式,native的模式会上报超卖资源至节点的allocatable字段,这样一来在线和离线作业的使用方式是一致的,提升了用户体验 ,而extend模式支持将超卖资源以扩展方式上报至节点,做到和Kubernetes的解耦,用户可以根据实际需求灵活选择超卖资源的上报和使用方式。 @@ -86,11 +86,11 @@ Volcano SLO Agent实时计算Pod已经申请但未使用的资源,将这部分 - **Network:** 网络隔离实现了对在线作业的出口网络带宽保障,它基于整机的带宽大小,并通过cgroup + tc + ebpf技术,实现在线作业对离线作业的出口网络带宽压制。 - +{/* ![网络隔离技术方案](img/colocation/network.png) */} 上图为网络隔离的技术方案,通过ebpf将限速程序注入到kernel,实现对报文转发的控制,从而达到限速的目的。cgroup ebpf可以为在离线业务的的报文设置不同的标签以区分在线和离线业务流量,tc ebpf可以设置三个水位线:在线业务水位线,离线业务高水位线和离线业务低水位线。当在线业务流量超过水位线时,限制离线作水位带宽,离线业务带宽使用上限为离线业务低水位线,避让在线流量;当在线业务流量低于水位线时,放开对离线作业的带宽限制,离线业务带宽使用上限为离线业务高水位线,提高资源利用率,同时可以根据离线流量带宽计算报文的发送时间(EDT),实现离线作业流量限速。 - +{/* ![在离线作业带宽限制示意图](img/colocation/watermark.png) */} ### CPU Burst @@ -101,11 +101,11 @@ Volcano agent的CPU Burst能力提供了一种可以短暂突破CPU Limit值的 当未开启CPU Burst时,容器可以使用的CPU配额会被限制在Limit以内,无法实现Burst。如下图所示: - +{/* ![未开启CPU Burst](img/colocation/cpu-burst1.png) */} 开启CPU Burst后,容器使用的CPU配额可以突破Limit限制,实现Burst。如下图所示: - +{/* ![开启CPU Burst](img/colocation/cpu-burst2.png) */} 通过Volcano agent提供的CPU Burst能力,可以避免高优业务在关键时刻被限流,保障时延敏感型业务的稳定性。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.7.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.8.2/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/CronVolcanoJob.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/CronVolcanoJob.md index 78f36e26..0c86d478 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/CronVolcanoJob.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/CronVolcanoJob.md @@ -81,7 +81,7 @@ kubectl get vcjob 可选。要保留的失败完成 job 的数量。默认为 1。 - +{/* */} ### 使用场景 * 定期模型训练 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/Queue.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/Queue.md index 13831c77..536623d6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/Queue.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v1.9.0/Concepts/Queue.md @@ -54,7 +54,7 @@ deserved表示该queue内所有podgroup的资源应得量,若该queue已分配 1. 该字段只有在capacity插件开启时可按需配置,需要小于等于capability值,proportion插件使用weight来自动计算queue的deserved值。capacity插件使用文档详见:[capacity plugin User Guide](/docs/UserGuide/user_guide_how_to_use_capacity_plugin) > 2. 若queue中已分配的资源量超过了自己配置的deserved值,则queue不可再回收其他队列中的资源 - +{/*目前capacity插件使用指导文档引用的是github中的链接,后续若官方网站文档中添加了中文的capacity插件使用指导,则替换为官方网站中的文档链接*/} * weight,*可选* diff --git a/package-lock.json b/package-lock.json index 1dc16fa1..9f26f3f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,9 @@ "name": "docs-site", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/preset-classic": "3.9.2", + "@docusaurus/core": "3.10.1", + "@docusaurus/faster": "3.10.1", + "@docusaurus/preset-classic": "3.10.1", "@easyops-cn/docusaurus-search-local": "^0.55.0", "@iarna/toml": "^2.2.5", "@mdx-js/react": "^3.0.0", @@ -22,54 +23,54 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/types": "3.9.2" + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/types": "3.10.1" }, "engines": { "node": ">=20.0" } }, "node_modules/@algolia/abtesting": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.16.2.tgz", - "integrity": "sha512-n9s6bEV6imdtIEd+BGP7WkA4pEZ5YTdgQ05JQhHwWawHg3hyjpNwC0TShGz6zWhv+jfLDGA/6FFNbySFS0P9cw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.21.0.tgz", + "integrity": "sha512-kGvHfBa9oQCvZh0YXeguSToBD9GNJ+gzUZQ9KPTg+KSsM36obYcsKPoX0NnlJtPflHXu7RkMaIi44xs9meR6Zw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/autocomplete-core": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz", - "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==", + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.8.tgz", + "integrity": "sha512-3YEorYg44niXcm7gkft3nXYItHd44e8tmh4D33CTszPgP0QWkaLEaFywiNyJBo7UL/mqObA/G9RYuU7R8tN1IA==", "license": "MIT", "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.19.2", - "@algolia/autocomplete-shared": "1.19.2" + "@algolia/autocomplete-plugin-algolia-insights": "1.19.8", + "@algolia/autocomplete-shared": "1.19.8" } }, "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz", - "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==", + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.8.tgz", + "integrity": "sha512-ZvJWO8ZZJDpc1LNM2TTBdmQsZBLMR4rU5iNR2OYvEeFBiaf/0ESnRSSLQbryarJY4SVxtoz6A2ZtDMNM+iQEAA==", "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.19.2" + "@algolia/autocomplete-shared": "1.19.8" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz", - "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==", + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.8.tgz", + "integrity": "sha512-h5hf2t8ejF6vlOgvLaZzQbWs5SyH2z4PAWygNAvvD/2RI29hdQ54ldUGwqVuj9Srs+n8XUKTPUqb7fvhBhQrnQ==", "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -77,99 +78,99 @@ } }, "node_modules/@algolia/client-abtesting": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.50.2.tgz", - "integrity": "sha512-52iq0vHy1sphgnwoZyx5PmbEt8hsh+m7jD123LmBs6qy4GK7LbYZIeKd+nSnSipN2zvKRZ2zScS6h9PW3J7SXg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.55.0.tgz", + "integrity": "sha512-Zt2GjIm7vsaf7K23tk5JmtcVNc38G9p0C2L2Lrm06miyLE/NL2etHtHInvuLc1DjxTp7Y2nId4X/tzwo372K8Q==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-analytics": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.50.2.tgz", - "integrity": "sha512-WpPIUg+cSG2aPUG0gS8Ko9DwRgbRPUZxJkolhL2aCsmSlcEEZT65dILrfg5ovcxtx0Kvr+xtBVsTMtsQWRtPDQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.55.0.tgz", + "integrity": "sha512-7BueMuWYg/KBA2EX9zsQ+3OAleEyrJcB+SV5Al/9pLjMQq5mXB/8M5HaUPqZwN812g5kLzj9j43VThlZgWq0hg==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-common": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.50.2.tgz", - "integrity": "sha512-Gj2MgtArGcsr82kIqRlo6/dCAFjrs2gLByEqyRENuT7ugrSMFuqg1vDzeBjRL1t3EJEJCFtT0PLX3gB8A6Hq4Q==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.55.0.tgz", + "integrity": "sha512-pJZIyhvUrs+B7c5Lw0iP5yP/NsqJMda7pKRYbfG4KtfGIVSMcAalZhdqL5UX8Z9DOC4KxO9tKV5RDeVjZU0VfQ==", "license": "MIT", "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-insights": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.50.2.tgz", - "integrity": "sha512-CUqoid5jDpmrc0oK3/xuZXFt6kwT0P9Lw7/nsM14YTr6puvmi+OUKmURpmebQF22S2vCG8L1DAoXXujxQUi/ug==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.55.0.tgz", + "integrity": "sha512-RydkKDhx0GWTYuw0ndTXHGM8hD8hgwftKE65FfnJZb5bPc9CevOqv3qNPUQiviAwkqT9hQNH31uDGeV3yZkgfA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.50.2.tgz", - "integrity": "sha512-AndZWFoc0gbP5901OeQJ73BazgGgSGiBEba4ohdoJuZwHTO2Gio8Q4L1VLmytMBYcviVigB0iICToMvEJxI4ug==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.55.0.tgz", + "integrity": "sha512-XiS7gdFq/COWiwdWXZ8+RHuewfEo03TkGESk44zU8zTc/Z6R8fm4DNmV52swJKkeB2N9iC7NKpgpM22OOkcgTw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.50.2.tgz", - "integrity": "sha512-NWoL+psEkz5dIzweaByVXuEB45wS8/rk0E0AhMMnaVJdVs7TcACPH2/OURm+N0xRDITkTHqCna823rd6Uqntdg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.55.0.tgz", + "integrity": "sha512-LBEJ/q+hn1nJ0aYg5IcWgLNCPjWHTahWmpHNx1qUZMho+9CyWM6LaEnhac45UHjQm/j0m374HP685VrpL133lA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.50.2.tgz", - "integrity": "sha512-ypSboUJ3XJoQz5DeDo82hCnrRuwq3q9ZdFhVKAik9TnZh1DvLqoQsrbBjXg7C7zQOtV/Qbge/HmyoV6V5L7MhQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.55.0.tgz", + "integrity": "sha512-2/9jUXKH4IcdU5qxH6cbDH46ZBe46G7xr+MrcHwgEXZcUfdAvUgLSH53MAWuMgxvw0G5yoqiWMifHc62Os0fiQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" @@ -182,81 +183,81 @@ "license": "MIT" }, "node_modules/@algolia/ingestion": { - "version": "1.50.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.50.2.tgz", - "integrity": "sha512-VlR2FRXLw2bCB94SQo6zxg/Qi+547aOji6Pb+dKE7h1DMCCY317St+OpjpmgzE+bT2O9ALIc0V4nVIBOd7Gy+Q==", + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.55.0.tgz", + "integrity": "sha512-80tKsQgxXWo+jK0v4YGCHqyTEXawhAKYyr3kOdN51ElfRqUFjZNPVhZk6vRiqSqXfvrH85ytacT3cbJR6+qolA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/monitoring": { - "version": "1.50.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.50.2.tgz", - "integrity": "sha512-Cmvfp2+qopzQt8OilU97rhLhosq7ZrB6uieok3EwFUqG/aalPg6DgfCmu0yJMrYe+KMC1qRVt1MTRAUwLknUMQ==", + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.55.0.tgz", + "integrity": "sha512-4UjmAL8ywGW4rCfK6Qmgw3wIjbrO2wl2s4Eq56JTiN40L2t0XTv0HZkYAmr6nfeiXO0he/2crvZRX6SATSepag==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/recommend": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.50.2.tgz", - "integrity": "sha512-jrkuyKoOM7dFWQ/6Y4hQAse2SC3L/RldG6GnPjMvAj65h+7Ubb51S0pKk4ofSStF0xm4LCNe0C4T6XX4nOFDiQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.55.0.tgz", + "integrity": "sha512-LMpJPtIkfDsHIx5Ga+baNr22ntYbY+e2wT7MSIc/FjAnu9wnBFhx1H/GfhmP/c5/IvbThDX+3ilxPRjSfCI8aA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "@algolia/client-common": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.50.2.tgz", - "integrity": "sha512-4107YLJqCudPiBUlwnk6oTSUVwU7ab+qL1SfQGEDYI8DZH5gsf1ekPt9JykXRKYXf2IfouFL5GiCY/PHTFIjYw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.55.0.tgz", + "integrity": "sha512-tDymJ7nFOAoUuecma3usK6o94dp8m4HYFDGh4ByYQXWkv14cpmDn+nWdylmcZO0Qvco107vqDo4+Anksnl8w1Q==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2" + "@algolia/client-common": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-fetch": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.50.2.tgz", - "integrity": "sha512-vOrd3MQpLgmf6wXAueTuZ/cA0W4uRwIHHaxNy3h+a6YcNn6bCV/gFdZuv3F13v593zRU2k5R75NmvRWLenvMrw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.55.0.tgz", + "integrity": "sha512-6IDSB5o5dkDPQ4LdOW0Yuw/qy5MdWlO2xDHgPVZgW4YDjbxvnX5PAiV7/WWZdWyVObScZZnnHpPbiqfYs/zBLg==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2" + "@algolia/client-common": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.50.2.tgz", - "integrity": "sha512-Mu9BFtgzGqDUy5Bcs2nMyoILIFSN13GKQaklKAFIsd0K3/9CpNyfeBc+/+Qs6mFZLlxG9qzullO7h+bjcTBuGQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.55.0.tgz", + "integrity": "sha512-Yyyne4l//vDSdg4MhYJkaVne+KEPi833eCj3/T/87ernTwrvP6j9biXXZELsN8sLI/f2ndV/vugDIy2jdJQB6g==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.50.2" + "@algolia/client-common": "5.55.0" }, "engines": { "node": ">= 14.0.0" @@ -514,9 +515,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1438,12 +1439,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", - "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.29.7.tgz", + "integrity": "sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1918,18 +1919,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.29.2.tgz", - "integrity": "sha512-Lc94FOD5+0aXhdb0Tdg3RUtqT6yWbI/BbFWvlaSJ3gAb9Ks+99nHRDKADVqC37er4eCB0fHyWT+y+K3QOvJKbw==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.48.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", @@ -3311,9 +3300,9 @@ } }, "node_modules/@docsearch/core": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@docsearch/core/-/core-4.6.2.tgz", - "integrity": "sha512-/S0e6Dj7Zcm8m9Rru49YEX49dhU11be68c+S/BCyN8zQsTTgkKzXlhRbVL5mV6lOLC2+ZRRryaTdcm070Ug2oA==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/core/-/core-4.6.3.tgz", + "integrity": "sha512-rUOujwIpxJRgD7+kicVsI3D5sqBvdiRTquzWBpTEXZs8ZXfGbfzpus5HqumaNYTppN2HvH8E2yNuRwYdHJeOlA==", "license": "MIT", "peerDependencies": { "@types/react": ">= 16.8.0 < 20.0.0", @@ -3333,20 +3322,20 @@ } }, "node_modules/@docsearch/css": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.2.tgz", - "integrity": "sha512-fH/cn8BjEEdM2nJdjNMHIvOVYupG6AIDtFVDgIZrNzdCSj4KXr9kd+hsehqsNGYjpUjObeKYKvgy/IwCb1jZYQ==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.3.tgz", + "integrity": "sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==", "license": "MIT" }, "node_modules/@docsearch/react": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.6.2.tgz", - "integrity": "sha512-/BbtGFtqVOGwZx0dw/UfhN/0/DmMQYnulY4iv0tPRhC2JCXv0ka/+izwt3Jzo1ZxXS/2eMvv9zHsBJOK1I9f/w==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.6.3.tgz", + "integrity": "sha512-Bg2wdDsoQVlNCcEKuEJAU04tvHCqgx8rIu+uIoM4pRtcx3TBKJuXutJik3LTA8LRc9YEyHkrYUrmcC0D7BYf+g==", "license": "MIT", "dependencies": { "@algolia/autocomplete-core": "1.19.2", - "@docsearch/core": "4.6.2", - "@docsearch/css": "4.6.2" + "@docsearch/core": "4.6.3", + "@docsearch/css": "4.6.3" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 20.0.0", @@ -3369,10 +3358,42 @@ } } }, + "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-core": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz", + "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.19.2", + "@algolia/autocomplete-shared": "1.19.2" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz", + "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.19.2" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-shared": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz", + "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, "node_modules/@docusaurus/babel": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.9.2.tgz", - "integrity": "sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.10.1.tgz", + "integrity": "sha512-DZzFO1K3v/GoEt1fx1DiYHF4en+PuhtQf1AkQJa5zu3CoeKSpr5cpQRUlz3jr0m44wyzmSXu9bVpfir+N4+8bg==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.9", @@ -3383,10 +3404,9 @@ "@babel/preset-react": "^7.25.9", "@babel/preset-typescript": "^7.25.9", "@babel/runtime": "^7.25.9", - "@babel/runtime-corejs3": "^7.25.9", "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.9.2", - "@docusaurus/utils": "3.9.2", + "@docusaurus/logger": "3.10.1", + "@docusaurus/utils": "3.10.1", "babel-plugin-dynamic-import-node": "^2.3.3", "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -3396,17 +3416,17 @@ } }, "node_modules/@docusaurus/bundler": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.9.2.tgz", - "integrity": "sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.10.1.tgz", + "integrity": "sha512-HIqQPvbqnnQRe4NsBd1774KRarjXqS6wHsWELtyuSs1gCfvixJO2jUGH/OEBtr1Gvzpw+ze5CjGMvSJ8UE1KUw==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.9.2", - "@docusaurus/cssnano-preset": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", + "@docusaurus/babel": "3.10.1", + "@docusaurus/cssnano-preset": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", "babel-loader": "^9.2.1", "clean-css": "^5.3.3", "copy-webpack-plugin": "^11.0.0", @@ -3424,7 +3444,7 @@ "tslib": "^2.6.0", "url-loader": "^4.1.1", "webpack": "^5.95.0", - "webpackbar": "^6.0.1" + "webpackbar": "^7.0.0" }, "engines": { "node": ">=20.0" @@ -3438,19 +3458,46 @@ } } }, + "node_modules/@docusaurus/bundler/node_modules/webpackbar": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-7.0.0.tgz", + "integrity": "sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==", + "license": "MIT", + "dependencies": { + "ansis": "^3.2.0", + "consola": "^3.2.3", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@rspack/core": "*", + "webpack": "3 || 4 || 5" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, "node_modules/@docusaurus/core": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.2.tgz", - "integrity": "sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==", - "license": "MIT", - "dependencies": { - "@docusaurus/babel": "3.9.2", - "@docusaurus/bundler": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.10.1.tgz", + "integrity": "sha512-3pf2fXXw0eVk8WnC3T4LIigRDupcpvngpKo9Vy7mYyBhuddc0klDUuZAIfzMoK6z05pdlk6EFC/vBSX43+1O5w==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.10.1", + "@docusaurus/bundler": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "boxen": "^6.2.1", "chalk": "^4.1.2", "chokidar": "^3.5.3", @@ -3462,7 +3509,7 @@ "escape-html": "^1.0.3", "eta": "^2.2.0", "eval": "^0.1.8", - "execa": "5.1.1", + "execa": "^5.1.1", "fs-extra": "^11.1.1", "html-tags": "^3.3.1", "html-webpack-plugin": "^5.6.0", @@ -3473,12 +3520,12 @@ "prompts": "^2.4.2", "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-loadable-ssr-addon-v5-slorber": "^1.0.3", "react-router": "^5.3.4", "react-router-config": "^5.1.1", "react-router-dom": "^5.3.4", "semver": "^7.5.4", - "serve-handler": "^6.1.6", + "serve-handler": "^6.1.7", "tinypool": "^1.0.2", "tslib": "^2.6.0", "update-notifier": "^6.0.2", @@ -3494,15 +3541,21 @@ "node": ">=20.0" }, "peerDependencies": { + "@docusaurus/faster": "*", "@mdx-js/react": "^3.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.9.2.tgz", - "integrity": "sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.10.1.tgz", + "integrity": "sha512-eNfHGcTKCSq6xmcavAkX3RRclHaE2xRCMParlDXLdXVP01/a2e/jKXMj/0ULnLFQSNwwuI62L0Ge8J+nZsR7UQ==", "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", @@ -3514,10 +3567,34 @@ "node": ">=20.0" } }, + "node_modules/@docusaurus/faster": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.10.1.tgz", + "integrity": "sha512-XTZhE5C1gZ/DaYYMlSk02dwP5vhpQON5QHVz1s3892mSESAywgWanURpXEDAvt4GvGuq7s+XP8rTWHZvfaJmdQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.10.1", + "@rspack/core": "^1.7.10", + "@swc/core": "^1.7.39", + "@swc/html": "^1.13.5", + "browserslist": "^4.24.2", + "lightningcss": "^1.27.0", + "semver": "^7.5.4", + "swc-loader": "^0.2.6", + "tslib": "^2.6.0", + "webpack": "^5.95.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + } + }, "node_modules/@docusaurus/logger": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.9.2.tgz", - "integrity": "sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.10.1.tgz", + "integrity": "sha512-oPjNFnfJsRCkePVjkGrxWGq4MvJKRQT0r9jOP0eRBTZ7Wr9FAbzdP/Gjs0I2Ss6YRkPoEgygKG112OkE6skvJw==", "license": "MIT", "dependencies": { "chalk": "^4.1.2", @@ -3528,14 +3605,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.2.tgz", - "integrity": "sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.10.1.tgz", + "integrity": "sha512-GRmeb/wQ+iXRrFwcHBfgQhrJxGElgCsoTWZYDhccjsZVne1p8MK/EpQVIloXttz76TCe78kKD5AEG9n1xc1oxQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", + "@docusaurus/logger": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -3567,12 +3644,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.9.2.tgz", - "integrity": "sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.1.tgz", + "integrity": "sha512-YoOZKUdGlp8xSYhuAkGdSo5Ydkbq4V4eK3sD8v0a2hloxCWdQbNBhkc+Ko9QyjpESc0BYcIGM5iHVAy5hdFV6w==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.9.2", + "@docusaurus/types": "3.10.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -3586,20 +3663,21 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.9.2.tgz", - "integrity": "sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.10.1.tgz", + "integrity": "sha512-mmkgE6Q2+K74tnkou7tXlpDLvoCU/qkSa2GSQ3XUiHWvcebCoDQzS670RR3tO8PmaWlIyWWISYWzZLuMfxunRA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/theme-common": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "cheerio": "1.0.0-rc.12", + "combine-promises": "^1.1.0", "feed": "^4.2.2", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -3619,49 +3697,21 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/theme-common": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz", - "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.10.0.tgz", - "integrity": "sha512-9BjHhf15ct8Z7TThTC0xRndKDVvMKmVsAGAN7W9FpNRzfMdScOGcXtLmcCWtJGvAezjOJIm6CxOYCy3Io5+RnQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.0", - "@docusaurus/logger": "3.10.0", - "@docusaurus/mdx-loader": "3.10.0", - "@docusaurus/module-type-aliases": "3.10.0", - "@docusaurus/theme-common": "3.10.0", - "@docusaurus/types": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "@docusaurus/utils-validation": "3.10.0", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.10.1.tgz", + "integrity": "sha512-2jRVrtzjf8LClGTHQlwlwuD3wQXRx3WEoF7XUarJ8Ou+0onV+SLtejsyfY9JLpfUh9hPhXM4pbBGkyAY4Bi3HQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/theme-common": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -3680,199 +3730,115 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/babel": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.10.0.tgz", - "integrity": "sha512-mqCJhCZNZUDg0zgDEaPTM4DnRsisa24HdqTy/qn/MQlbwhTb4WVaZg6ZyX6yIVKqTz8fS1hBMgM+98z+BeJJDg==", + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.10.1.tgz", + "integrity": "sha512-huJpaRPMl42nsFwuCXvV8bVDj2MazuwRJIUylI/RSlmZeJssVoZXeCjVf1y+1Drtpa9SKcdGn8yoJ76IRJijtw==", "license": "MIT", "dependencies": { - "@babel/core": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.25.9", - "@babel/preset-env": "^7.25.9", - "@babel/preset-react": "^7.25.9", - "@babel/preset-typescript": "^7.25.9", - "@babel/runtime": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.10.0", - "@docusaurus/utils": "3.10.0", - "babel-plugin-dynamic-import-node": "^2.3.3", + "@docusaurus/core": "3.10.1", + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "fs-extra": "^11.1.1", - "tslib": "^2.6.0" + "tslib": "^2.6.0", + "webpack": "^5.88.1" }, "engines": { "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/bundler": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.10.0.tgz", - "integrity": "sha512-iONUGZGgp+lAkw/cJZH6irONcF4p8+278IsdRlq8lYhxGjkoNUs0w7F4gVXBYSNChq5KG5/JleTSsdJySShxow==", + "node_modules/@docusaurus/plugin-css-cascade-layers": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.10.1.tgz", + "integrity": "sha512-r//fn+MNHkE1wCof8T29VAQezt1enGCpsFxoziBbvLgBM4JfXN2P3rxrBaavHmvLvm7lYkpJeitcDthwnmWCTw==", "license": "MIT", "dependencies": { - "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.10.0", - "@docusaurus/cssnano-preset": "3.10.0", - "@docusaurus/logger": "3.10.0", - "@docusaurus/types": "3.10.0", - "@docusaurus/utils": "3.10.0", - "babel-loader": "^9.2.1", - "clean-css": "^5.3.3", - "copy-webpack-plugin": "^11.0.0", - "css-loader": "^6.11.0", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", - "file-loader": "^6.2.0", - "html-minifier-terser": "^7.2.0", - "mini-css-extract-plugin": "^2.9.2", - "null-loader": "^4.0.1", - "postcss": "^8.5.4", - "postcss-loader": "^7.3.4", - "postcss-preset-env": "^10.2.1", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.95.0", - "webpackbar": "^6.0.1" + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/faster": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/core": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.10.0.tgz", - "integrity": "sha512-mgLdQsO8xppnQZc3LPi+Mf+PkPeyxJeIx11AXAq/14fsaMefInQiMEZUUmrc7J+956G/f7MwE7tn8KZgi3iRcA==", + "node_modules/@docusaurus/plugin-debug": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.10.1.tgz", + "integrity": "sha512-9KqOpKNfAyqGZykRb9LhIT/vyRF6sm/ykhjj/39JvaJahDS+jZJE0Z1Wfz9q3DUNDTMNN0Q7u/kk4rKKU+IJuA==", "license": "MIT", "dependencies": { - "@docusaurus/babel": "3.10.0", - "@docusaurus/bundler": "3.10.0", - "@docusaurus/logger": "3.10.0", - "@docusaurus/mdx-loader": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "@docusaurus/utils-validation": "3.10.0", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "core-js": "^3.31.1", - "detect-port": "^1.5.1", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "execa": "^5.1.1", + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", "fs-extra": "^11.1.1", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.6.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "open": "^8.4.0", - "p-map": "^4.0.0", - "prompts": "^2.4.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.3", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.7", - "tinypool": "^1.0.2", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "webpack": "^5.95.0", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-dev-server": "^5.2.2", - "webpack-merge": "^6.0.1" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" + "react-json-view-lite": "^2.3.0", + "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" }, "peerDependencies": { - "@docusaurus/faster": "*", - "@mdx-js/react": "^3.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/cssnano-preset": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.10.0.tgz", - "integrity": "sha512-qzSshTO1DB3TYW+dPUal5KHM7XPc5YQfzF3Kdb2NDACJUyGbNcFtw3tGkCJlYwhNCRKbZcmwraKUS1i5dcHdGg==", + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.10.1.tgz", + "integrity": "sha512-8o0P1KtmgdYQHH+oInitPpRWI0Of5XednAX4+DMhQNSmGSRNrsEEHg1ebv35m9AgRClfAytCJ5jA9KvcASTyuA==", "license": "MIT", "dependencies": { - "cssnano-preset-advanced": "^6.1.2", - "postcss": "^8.5.4", - "postcss-sort-media-queries": "^5.2.0", + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/logger": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.10.0.tgz", - "integrity": "sha512-9jrZzFuBH1LDRlZ7cznAhCLmAZ3HSDqgwdrSSZdGHq9SPUOQgXXu8mnxe2ZRB9NS1PCpMTIOVUqDtZPIhMafZg==", + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.10.1.tgz", + "integrity": "sha512-pu3xIUo5o/zCMLfUY9BO5KOwSH0zIsAGyFRPvXHayFSA5XIhCU/SFuB0g0ZNjFn9niZLCaNvoeAuOGFJZq0fdw==", "license": "MIT", "dependencies": { - "chalk": "^4.1.2", + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "@types/gtag.js": "^0.0.20", "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/mdx-loader": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.10.0.tgz", - "integrity": "sha512-mQQV97080AH4PYNs087l202NMDqRopZA4mg5W76ZZyTFrmWhJ3mHg+8A+drJVENxw5/Q+wHMHLgsx+9z1nEs0A==", + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.10.1.tgz", + "integrity": "sha512-f6fyGHiCm7kJHBtAisGQS5oNBnpnMTYQZxDXeVrnw/3zWU+LMA22pr6UHGYkBKDbN+qPC5QHG3NuOfzQLq3+Lw==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-validation": "3.10.0", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^2.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" @@ -3882,137 +3848,42 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/module-type-aliases": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.0.tgz", - "integrity": "sha512-/1O0Zg8w3DFrYX/I6Fbss7OJrtZw1QoyjDhegiFNHVi9A9Y0gQ3jUAytVxF6ywpAWpLyLxch8nN8H/V3XfzdJQ==", + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.10.1.tgz", + "integrity": "sha512-C26MbmmqgdjkDq1htaZ3aD7LzEDKFWXfpyQpt0EOUThuq5nV77zDaedV20yHcVo9p+3ey9aZ4pbHA0D3QcZTzg==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.10.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.10.0.tgz", - "integrity": "sha512-F0dOt3FOoO20rRaFK7whGFQZ3ggyrWEdQc/c8/UiRuzhtg4y1w9FspXH5zpCT07uMnJKBPGh+qNazbNlCQqvSw==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/mdast": "^4.0.2", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.10.0.tgz", - "integrity": "sha512-T3B0WTigsIthe0D4LQa2k+7bJY+c3WS+Wq2JhcznOSpn1lSN64yNtHQXboCj3QnUs1EuAZszQG1SHKu5w5ZrlA==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/types": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.1.1", - "file-loader": "^6.2.0", + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "p-queue": "^6.6.2", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils-common": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.10.0.tgz", - "integrity": "sha512-JyL7sb9QVDgYvudIS81Dv0lsWm7le0vGZSDwsztxWam1SPBqrnkvBy9UYL/amh6pbybkyYTd3CMTkO24oMlCSw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.0", + "sitemap": "^7.1.1", "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils-validation": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.10.0.tgz", - "integrity": "sha512-c+6n2+ZPOJtWWc8Bb/EYdpSDfjYEScdCu9fB/SNjOmSCf1IdVnGf2T53o0tsz0gDRtCL90tifTL0JE/oMuP1Mw==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" }, - "engines": { - "node": ">=20.0" + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.9.2.tgz", - "integrity": "sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==", + "node_modules/@docusaurus/plugin-svgr": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.10.1.tgz", + "integrity": "sha512-6SFxsmjWFkVLDmBUvFK6i72QjUwqyQFe4Ovz+SUJophJjOyVG3ZZG5IQpBC/kX/Gfv1yWeU9nWauH6F6Q7QX/Q==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "fs-extra": "^11.1.1", + "@docusaurus/core": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "@svgr/core": "8.1.0", + "@svgr/webpack": "^8.1.0", "tslib": "^2.6.0", "webpack": "^5.88.1" }, @@ -4024,34 +3895,27 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-css-cascade-layers": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.9.2.tgz", - "integrity": "sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.9.2.tgz", - "integrity": "sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "fs-extra": "^11.1.1", - "react-json-view-lite": "^2.3.0", - "tslib": "^2.6.0" + "node_modules/@docusaurus/preset-classic": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.10.1.tgz", + "integrity": "sha512-YO/FL8v1zmbxoTso6mjMz/RDjhaTJxb1UpFFTDdY5847LLDCeyYiYlrhyTbgN1RIN3xnkLKZ9Lj1x8hUzI4JOg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.10.1", + "@docusaurus/plugin-content-blog": "3.10.1", + "@docusaurus/plugin-content-docs": "3.10.1", + "@docusaurus/plugin-content-pages": "3.10.1", + "@docusaurus/plugin-css-cascade-layers": "3.10.1", + "@docusaurus/plugin-debug": "3.10.1", + "@docusaurus/plugin-google-analytics": "3.10.1", + "@docusaurus/plugin-google-gtag": "3.10.1", + "@docusaurus/plugin-google-tag-manager": "3.10.1", + "@docusaurus/plugin-sitemap": "3.10.1", + "@docusaurus/plugin-svgr": "3.10.1", + "@docusaurus/theme-classic": "3.10.1", + "@docusaurus/theme-common": "3.10.1", + "@docusaurus/theme-search-algolia": "3.10.1", + "@docusaurus/types": "3.10.1" }, "engines": { "node": ">=20.0" @@ -4061,16 +3925,38 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.9.2.tgz", - "integrity": "sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "tslib": "^2.6.0" + "node_modules/@docusaurus/theme-classic": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.10.1.tgz", + "integrity": "sha512-VU1RK0qb2pab0si4r7HFK37cYco8VzqLj3u1PspVipSr/z/GPVKHO4/HXbnePqHoWDk8urjyGSeatH0NIMBM1A==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/plugin-content-blog": "3.10.1", + "@docusaurus/plugin-content-docs": "3.10.1", + "@docusaurus/plugin-content-pages": "3.10.1", + "@docusaurus/theme-common": "3.10.1", + "@docusaurus/theme-translations": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.5.4", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" }, "engines": { "node": ">=20.0" @@ -4080,36 +3966,57 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.9.2.tgz", - "integrity": "sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==", + "node_modules/@docusaurus/theme-common": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.10.1.tgz", + "integrity": "sha512-0YtmIeoNo1fIw65LO8+/1dPgmDV86UmhMkow37gzjytuiCSQm9xob6PJy0L4kuQEMTLfUOGvkXvZr7GPrHquMA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@types/gtag.js": "^0.0.12", - "tslib": "^2.6.0" + "@docusaurus/mdx-loader": "3.10.1", + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" }, "engines": { "node": ">=20.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.9.2.tgz", - "integrity": "sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "tslib": "^2.6.0" + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.10.1.tgz", + "integrity": "sha512-OTaARARVZj2GvkJQjB+1jOIxntRaXea+G+fMsNqrZBAU1O1vJKDW22R7kECOHW27oJCLFN9HKaZeRrfAUyviug==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "^1.19.2", + "@docsearch/react": "^3.9.0 || ^4.3.2", + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/plugin-content-docs": "3.10.1", + "@docusaurus/theme-common": "3.10.1", + "@docusaurus/theme-translations": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "algoliasearch": "^5.37.0", + "algoliasearch-helper": "^3.26.0", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" }, "engines": { "node": ">=20.0" @@ -4119,653 +4026,123 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.9.2.tgz", - "integrity": "sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==", + "node_modules/@docusaurus/theme-translations": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.10.1.tgz", + "integrity": "sha512-cLMyaKivjBVWKMJuWqyFVVgtqe8DPJNPkog0bn8W1MDVAKcPdxRFycBfC1We1RaNp7Rdk513bmtW78RR6OBxBw==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", "fs-extra": "^11.1.1", - "sitemap": "^7.1.1", "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/plugin-svgr": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.9.2.tgz", - "integrity": "sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==", + "node_modules/@docusaurus/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.10.1.tgz", + "integrity": "sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@svgr/core": "8.1.0", - "@svgr/webpack": "^8.1.0", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/mdast": "^4.0.2", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/preset-classic": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.2.tgz", - "integrity": "sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/plugin-content-blog": "3.9.2", - "@docusaurus/plugin-content-docs": "3.9.2", - "@docusaurus/plugin-content-pages": "3.9.2", - "@docusaurus/plugin-css-cascade-layers": "3.9.2", - "@docusaurus/plugin-debug": "3.9.2", - "@docusaurus/plugin-google-analytics": "3.9.2", - "@docusaurus/plugin-google-gtag": "3.9.2", - "@docusaurus/plugin-google-tag-manager": "3.9.2", - "@docusaurus/plugin-sitemap": "3.9.2", - "@docusaurus/plugin-svgr": "3.9.2", - "@docusaurus/theme-classic": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/theme-search-algolia": "3.9.2", - "@docusaurus/types": "3.9.2" + "node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" }, "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" + "node": ">=10.0.0" } }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/plugin-content-docs": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", - "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", + "node_modules/@docusaurus/utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.10.1.tgz", + "integrity": "sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", + "@docusaurus/logger": "3.10.1", + "@docusaurus/types": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "escape-string-regexp": "^4.0.0", + "execa": "^5.1.1", + "file-loader": "^6.2.0", "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", "js-yaml": "^4.1.0", "lodash": "^4.17.21", - "schema-dts": "^1.1.2", + "micromatch": "^4.0.5", + "p-queue": "^6.6.2", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", "tslib": "^2.6.0", + "url-loader": "^4.1.1", "utility-types": "^3.10.0", "webpack": "^5.88.1" }, "engines": { "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/theme-common": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz", - "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==", + "node_modules/@docusaurus/utils-common": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.10.1.tgz", + "integrity": "sha512-5mFSgEADtnFxFH7RLw02QA5MpU5JVUCj0MPeIvi/aF4Fi45tQRIuTwXoXDqJ+1VfQJuYJGz3SI63wmGz4HvXzA==", "license": "MIT", "dependencies": { - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" + "@docusaurus/types": "3.10.1", + "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/theme-classic": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.9.2.tgz", - "integrity": "sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/plugin-content-blog": "3.9.2", - "@docusaurus/plugin-content-docs": "3.9.2", - "@docusaurus/plugin-content-pages": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/theme-translations": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "infima": "0.2.0-alpha.45", + "node_modules/@docusaurus/utils-validation": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.10.1.tgz", + "integrity": "sha512-cRv1X69jwaWv47waglllgZVWzeBFLhl53XT/XED/83BerVBTC5FTP8WTcVl8Z6sZOegDSwitu/wpCSPCDOT6lg==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.5.4", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" + "tslib": "^2.6.0" }, "engines": { "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" } }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/plugin-content-docs": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", - "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "schema-dts": "^1.1.2", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/theme-common": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz", - "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.10.0.tgz", - "integrity": "sha512-Dkp1YXKn16ByCJAdIjbDIOpVb4Z66MsVD694/ilX1vAAHaVEMrVsf/NPd9VgreyFx08rJ9GqV1MtzsbTcU73Kg==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.10.0", - "@docusaurus/module-type-aliases": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/logger": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.10.0.tgz", - "integrity": "sha512-9jrZzFuBH1LDRlZ7cznAhCLmAZ3HSDqgwdrSSZdGHq9SPUOQgXXu8mnxe2ZRB9NS1PCpMTIOVUqDtZPIhMafZg==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/mdx-loader": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.10.0.tgz", - "integrity": "sha512-mQQV97080AH4PYNs087l202NMDqRopZA4mg5W76ZZyTFrmWhJ3mHg+8A+drJVENxw5/Q+wHMHLgsx+9z1nEs0A==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-validation": "3.10.0", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^2.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/module-type-aliases": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.0.tgz", - "integrity": "sha512-/1O0Zg8w3DFrYX/I6Fbss7OJrtZw1QoyjDhegiFNHVi9A9Y0gQ3jUAytVxF6ywpAWpLyLxch8nN8H/V3XfzdJQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.10.0.tgz", - "integrity": "sha512-F0dOt3FOoO20rRaFK7whGFQZ3ggyrWEdQc/c8/UiRuzhtg4y1w9FspXH5zpCT07uMnJKBPGh+qNazbNlCQqvSw==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/mdast": "^4.0.2", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/utils": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.10.0.tgz", - "integrity": "sha512-T3B0WTigsIthe0D4LQa2k+7bJY+c3WS+Wq2JhcznOSpn1lSN64yNtHQXboCj3QnUs1EuAZszQG1SHKu5w5ZrlA==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/types": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "p-queue": "^6.6.2", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/utils-common": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.10.0.tgz", - "integrity": "sha512-JyL7sb9QVDgYvudIS81Dv0lsWm7le0vGZSDwsztxWam1SPBqrnkvBy9UYL/amh6pbybkyYTd3CMTkO24oMlCSw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/utils-validation": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.10.0.tgz", - "integrity": "sha512-c+6n2+ZPOJtWWc8Bb/EYdpSDfjYEScdCu9fB/SNjOmSCf1IdVnGf2T53o0tsz0gDRtCL90tifTL0JE/oMuP1Mw==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.0", - "@docusaurus/utils": "3.10.0", - "@docusaurus/utils-common": "3.10.0", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz", - "integrity": "sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==", - "license": "MIT", - "dependencies": { - "@docsearch/react": "^3.9.0 || ^4.1.0", - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/plugin-content-docs": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/theme-translations": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "algoliasearch": "^5.37.0", - "algoliasearch-helper": "^3.26.0", - "clsx": "^2.0.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/plugin-content-docs": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", - "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/logger": "3.9.2", - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/theme-common": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@docusaurus/utils-validation": "3.9.2", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "schema-dts": "^1.1.2", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/theme-common": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz", - "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.9.2", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.9.2.tgz", - "integrity": "sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==", - "license": "MIT", - "dependencies": { - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/types": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.2.tgz", - "integrity": "sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/mdast": "^4.0.2", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/types/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.2.tgz", - "integrity": "sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.9.2", - "@docusaurus/types": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "escape-string-regexp": "^4.0.0", - "execa": "5.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "p-queue": "^6.6.2", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.9.2.tgz", - "integrity": "sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.9.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.9.2.tgz", - "integrity": "sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.9.2", - "@docusaurus/utils": "3.9.2", - "@docusaurus/utils-common": "3.9.2", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@easyops-cn/autocomplete.js": { - "version": "0.38.1", - "resolved": "https://registry.npmjs.org/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz", - "integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==", + "node_modules/@easyops-cn/autocomplete.js": { + "version": "0.38.1", + "resolved": "https://registry.npmjs.org/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz", + "integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==", "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -5739,6 +5116,59 @@ "react": ">=16" } }, + "node_modules/@module-federation/error-codes": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", + "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==", + "license": "MIT" + }, + "node_modules/@module-federation/runtime": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", + "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.22.0", + "@module-federation/runtime-core": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, + "node_modules/@module-federation/runtime-core": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", + "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==", + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, + "node_modules/@module-federation/runtime-tools": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", + "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.22.0", + "@module-federation/webpack-bundler-runtime": "0.22.0" + } + }, + "node_modules/@module-federation/sdk": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", + "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", + "license": "MIT" + }, + "node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", + "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", @@ -6171,79 +5601,267 @@ "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "license": "MIT" + }, + "node_modules/@rspack/binding": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", + "integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==", + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.7.11", + "@rspack/binding-darwin-x64": "1.7.11", + "@rspack/binding-linux-arm64-gnu": "1.7.11", + "@rspack/binding-linux-arm64-musl": "1.7.11", + "@rspack/binding-linux-x64-gnu": "1.7.11", + "@rspack/binding-linux-x64-musl": "1.7.11", + "@rspack/binding-wasm32-wasi": "1.7.11", + "@rspack/binding-win32-arm64-msvc": "1.7.11", + "@rspack/binding-win32-ia32-msvc": "1.7.11", + "@rspack/binding-win32-x64-msvc": "1.7.11" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", + "integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-darwin-x64": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", + "integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", + "integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", + "integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", + "integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", + "integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", + "integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "1.0.7" } }, - "node_modules/@peculiar/x509": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", - "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "node_modules/@rspack/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", + "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", "license": "MIT", + "optional": true, "dependencies": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-csr": "^2.6.0", - "@peculiar/asn1-ecc": "^2.6.0", - "@peculiar/asn1-pkcs9": "^2.6.0", - "@peculiar/asn1-rsa": "^2.6.0", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "pvtsutils": "^1.3.6", - "reflect-metadata": "^0.2.2", - "tslib": "^2.8.1", - "tsyringe": "^4.10.0" - }, - "engines": { - "node": ">=20.0.0" + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", + "integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "engines": { - "node": ">=12.22.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", + "integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==", + "cpu": [ + "ia32" + ], "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", + "integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@pnpm/npm-conf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", - "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "node_modules/@rspack/core": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", + "integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==", "license": "MIT", "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" + "@module-federation/runtime-tools": "0.22.0", + "@rspack/binding": "1.7.11", + "@rspack/lite-tapable": "1.1.0" }, "engines": { - "node": ">=12" + "node": ">=18.12.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "node_modules/@rspack/lite-tapable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", + "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", "license": "MIT" }, "node_modules/@sideway/address": { @@ -6296,27 +5914,208 @@ "micromark-util-symbol": "^1.0.1" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, "engines": { "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, "engines": { "node": ">=14" }, @@ -6325,14 +6124,19 @@ "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@svgr/core": "*" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, "engines": { "node": ">=14" }, @@ -6341,216 +6145,495 @@ "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@svgr/core": "*" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, "engines": { "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/core": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.41.tgz", + "integrity": "sha512-03nQq/082QRJJiOvp3FGbgxTGyyxMxohPTjhk/W9bD2J0tk4ukITI7goOhOO2WbaHn/lsPmo/zf8+DIXhwpgYQ==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.26" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.41", + "@swc/core-darwin-x64": "1.15.41", + "@swc/core-linux-arm-gnueabihf": "1.15.41", + "@swc/core-linux-arm64-gnu": "1.15.41", + "@swc/core-linux-arm64-musl": "1.15.41", + "@swc/core-linux-ppc64-gnu": "1.15.41", + "@swc/core-linux-s390x-gnu": "1.15.41", + "@swc/core-linux-x64-gnu": "1.15.41", + "@swc/core-linux-x64-musl": "1.15.41", + "@swc/core-win32-arm64-msvc": "1.15.41", + "@swc/core-win32-ia32-msvc": "1.15.41", + "@swc/core-win32-x64-msvc": "1.15.41" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.41.tgz", + "integrity": "sha512-kREh6J5paQFvP3i7f/4FbqRNOJREutVFVOkder4GVyCBQ39YmER55cW/y1NNjwrchzFqgYswFn0mMDCqbqKzrw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.41.tgz", + "integrity": "sha512-N8B56ESFazZAWZyIkecADSPCwlLEinW7QLMEeotCpv4J7VXwfH+OLkmRL8o96UZ+1355fwHxDTS6/wK7yucvkA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.41.tgz", + "integrity": "sha512-6XrId2fyle0mS5xxON8rU84mPd2Cq1kDJRj+4BnQKTd7u+2kSA6Ww+JkOP0iTNqOqt9OXhPOEAjBHAuonWcdCg==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.41.tgz", + "integrity": "sha512-ynLIarxlkVnqHn1D0fKOVht6mNU5ks6lrH+MY3kkS+XFaGGgDxFZVjWKJlkYTKm3RCvBTfA8Ng5fLufXheMRKQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.41.tgz", + "integrity": "sha512-dXu/5vd4gh8symyhRF+4G7gOPkjmb4pONhh7sl+6GSiW0LOKZlfu5kXmyFbTz9smOT7jgr002qY9b1nujjXt2A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-ppc64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.41.tgz", + "integrity": "sha512-XGO6zVPXoPE0gf/XnI4jBbafNT13AYgoh6ns0JCSdOetI/kqVf0vhpz7NuNgAzZrMVCsmieqjPoTwViDgh4mOQ==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-s390x-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.41.tgz", + "integrity": "sha512-0WUglRwyZtW+iMi7J3iFdrCxreZZIKf4egTwEQfIYRsqFax69A0OrFj+NIoFSE03xBT/IFRrg+S8K6f9Ky+4hA==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.41.tgz", + "integrity": "sha512-VxkuQK59c0tHm6uJZCUrS3cyA2JhGGfdU6e41SZz0x/JS+4Sm7C1mIc97In14vkZJopEt7yXA2TouCqZDSygEA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.41.tgz", + "integrity": "sha512-/0qXIu1ZxggLuovLb22vFfKHq2AA4n6Whw5UwmVCHk4pkw7KWnPIQpMCEqUMPsNkFJig7PPp/TSYFu8ZEb2rtQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.41.tgz", + "integrity": "sha512-Y481sMNZM6rECh9VO4+y26N1lWEDAyxnBZskUf37fl90uHE946VHfmiVQWT0uMFOhyJJFovGTRuF4W82dwewUg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.41.tgz", + "integrity": "sha512-BAchBD5qeUzy3hiPSLJtaaoSm4blCLyYffOF1bGE4ETcV+OisqjUAwDQMJj++4bTpvMCDzwC+Bj3PmQyBCtscw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.41.tgz", + "integrity": "sha512-WOkA+fJ/ViVBQDsSV9JC52NACTe5PhlurA6viASDZGb7HR3KS01ZG7RZ+Bg6SVQFIoq3gSbTsskQVe6EbHFAYw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/html": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html/-/html-1.15.41.tgz", + "integrity": "sha512-FHoXxI56hDKagLxpv5t8ovSPRecBufmHCAhGUuhFQqarfmxGX4g1bTfjQzwuRGRqtWm3IK14oX+TMOM10g51wQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "@swc/html-darwin-arm64": "1.15.41", + "@swc/html-darwin-x64": "1.15.41", + "@swc/html-linux-arm-gnueabihf": "1.15.41", + "@swc/html-linux-arm64-gnu": "1.15.41", + "@swc/html-linux-arm64-musl": "1.15.41", + "@swc/html-linux-ppc64-gnu": "1.15.41", + "@swc/html-linux-s390x-gnu": "1.15.41", + "@swc/html-linux-x64-gnu": "1.15.41", + "@swc/html-linux-x64-musl": "1.15.41", + "@swc/html-win32-arm64-msvc": "1.15.41", + "@swc/html-win32-ia32-msvc": "1.15.41", + "@swc/html-win32-x64-msvc": "1.15.41" + } + }, + "node_modules/@swc/html-darwin-arm64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.15.41.tgz", + "integrity": "sha512-twmx/p6DjOwvuVEl7R449fTDsDy6sBGaxXBqp/+J8LWlJeonsqdy3IXNLcSPDDU90EYl4KyhVqH/bhjt6COGrA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-darwin-x64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-x64/-/html-darwin-x64-1.15.41.tgz", + "integrity": "sha512-VUoct8+4lz7owLlW0KSe5ljjSONZMWGpQbTAhSv++HuNPA/hZCuVoGY16PjRLF9u03zrWLDRqn2CCEdRTrUrSw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm-gnueabihf": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.15.41.tgz", + "integrity": "sha512-vDlyud/W/KhnsHD87tvHrF+WXzf4iaJBWM8XdUQ2DKpS7nlK+2qHNAphcVZqu92qZavkvWgWBBgzSNK2And+Ag==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "license": "MIT", + "node_modules/@swc/html-linux-arm64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.15.41.tgz", + "integrity": "sha512-dEMS/oCMk2KYrQZzRSKDj7hGSMA/UNQ28lVdI0SgWmkUXikFvBCyLBWS50FxnGvquotI3FaoIkGmm+pKJEzMeQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "license": "MIT", + "node_modules/@swc/html-linux-arm64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.15.41.tgz", + "integrity": "sha512-1yFYeHlyP73BGHTtzaiZoiWTr/NfWkhMKXK+Fm8AH5NNQ99XfP48nDEwWAN7ubwNanDsGw1EELriRucEnxvCQg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "license": "MIT", + "node_modules/@swc/html-linux-ppc64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-ppc64-gnu/-/html-linux-ppc64-gnu-1.15.41.tgz", + "integrity": "sha512-XIf8fgQ5rEj1y7xjCJZHEvKDMYtAcGfsk8wWGLeUAkYvZhNGEnH2OS2BAZmgXNaaWATmaG8KDM1G2HoluhJpBA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "license": "MIT", + "node_modules/@swc/html-linux-s390x-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-s390x-gnu/-/html-linux-s390x-gnu-1.15.41.tgz", + "integrity": "sha512-mE39odiWiZcBBxMfUYgzsZ4+LpOg/eQj8aQyMkTciiKpcurokcRzcUiilMSXtUleVDcLnL1BG1YkHFyyy9rE5Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, + "node_modules/@swc/html-linux-x64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.15.41.tgz", + "integrity": "sha512-/etNlaoe+6KVYZ0/BVLvo5/Zcf/f69Cuw0lBSGrCQUr/GP1pKERppmxQqy+onVVT1ckMaur0KR8p9MMI2us7gA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, + "node_modules/@swc/html-linux-x64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.15.41.tgz", + "integrity": "sha512-Pzb5QRI0YcInNHShkGW36zypKLCNV/iC60S867PQNRiHnq7igY0z8r6UuLJUhL4EeNA0OVwF+/V5Eqtav38+4w==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=10" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, + "node_modules/@swc/html-win32-arm64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.15.41.tgz", + "integrity": "sha512-hT0dZeNThmaU6JQ3R8LKetCyhYDjah8nDjYGNg++RYrJX9Q/iFu5GhL2GGwcTHdwR+XqpNlmpfGBA4djw1I71w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=10" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, + "node_modules/@swc/html-win32-ia32-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.15.41.tgz", + "integrity": "sha512-PBihRAO6II8L34AafDxQGea9f/Sw+l3btlrODthJF/VasxQPDIitbGKHZdWMry0qLBIzpOdX30h3p3ZD3o3/jQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=10" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, + "node_modules/@swc/html-win32-x64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.15.41.tgz", + "integrity": "sha512-o+9kX1Q6EwpVrrn7uEn/CxXEJDt3n6oLChIwkJFFK2Fh0XjPfOKzlNLOUdwjx6EihRXw1lqQRu/+mE+eS5bIUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=10" } }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "license": "MIT", + "node_modules/@swc/types": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.27.tgz", + "integrity": "sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@swc/counter": "^0.1.3" } }, "node_modules/@szmarczak/http-timer": { @@ -6682,9 +6765,9 @@ } }, "node_modules/@types/gtag.js": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.20.tgz", + "integrity": "sha512-wwAbk3SA2QeU67unN7zPxjEHmPmlXwZXZvQEpbEUQuMCRGgKyE1m6XDuTUA9b6pCGb/GqJmdfMOY5LuDjJSbbg==", "license": "MIT" }, "node_modules/@types/hast": { @@ -7267,34 +7350,34 @@ } }, "node_modules/algoliasearch": { - "version": "5.50.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.50.2.tgz", - "integrity": "sha512-Tfp26yoNWurUjfgK4GOrVJQhSNXu9tJtHfFFNosgT2YClG+vPyUjX/gbC8rG39qLncnZg8Fj34iarQWpMkqefw==", - "license": "MIT", - "dependencies": { - "@algolia/abtesting": "1.16.2", - "@algolia/client-abtesting": "5.50.2", - "@algolia/client-analytics": "5.50.2", - "@algolia/client-common": "5.50.2", - "@algolia/client-insights": "5.50.2", - "@algolia/client-personalization": "5.50.2", - "@algolia/client-query-suggestions": "5.50.2", - "@algolia/client-search": "5.50.2", - "@algolia/ingestion": "1.50.2", - "@algolia/monitoring": "1.50.2", - "@algolia/recommend": "5.50.2", - "@algolia/requester-browser-xhr": "5.50.2", - "@algolia/requester-fetch": "5.50.2", - "@algolia/requester-node-http": "5.50.2" + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.55.0.tgz", + "integrity": "sha512-af+rI+tUVeS9KWHPAZQHIHPOIC3StPRR6IwQu2nz1aQoTL6Gs5Ty3KsHCgbXMHOpoh9QqSjq8F3KJ8xmaCZSBA==", + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.21.0", + "@algolia/client-abtesting": "5.55.0", + "@algolia/client-analytics": "5.55.0", + "@algolia/client-common": "5.55.0", + "@algolia/client-insights": "5.55.0", + "@algolia/client-personalization": "5.55.0", + "@algolia/client-query-suggestions": "5.55.0", + "@algolia/client-search": "5.55.0", + "@algolia/ingestion": "1.55.0", + "@algolia/monitoring": "1.55.0", + "@algolia/recommend": "5.55.0", + "@algolia/requester-browser-xhr": "5.55.0", + "@algolia/requester-fetch": "5.55.0", + "@algolia/requester-node-http": "5.55.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/algoliasearch-helper": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.28.1.tgz", - "integrity": "sha512-6iXpbkkrAI5HFpCWXlNmIDSBuoN/U1XnEvb2yJAoWfqrZ+DrybI7MQ5P5mthFaprmocq+zbi6HxnR28xnZAYBw==", + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.29.1.tgz", + "integrity": "sha512-6ck2YFudF2Pje7szQoPBiRFTGfd+1I+0I/WfLPGn0bj1kvrFoOQmNyedNiDxTk3/r4IfSLDYk+RA4G7u8H6+yA==", "license": "MIT", "dependencies": { "@algolia/events": "^4.0.1" @@ -7332,33 +7415,6 @@ "node": ">=8" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -7395,6 +7451,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansis": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz", + "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", + "license": "ISC", + "engines": { + "node": ">=14" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -8442,6 +8507,18 @@ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "license": "MIT" }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", + "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -8533,17 +8610,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-pure": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.49.0.tgz", - "integrity": "sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -9224,6 +9290,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -10061,30 +10136,6 @@ "node": ">=0.4.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", @@ -11843,6 +11894,255 @@ "node": ">=6" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -17420,15 +17720,6 @@ "entities": "^2.0.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -18477,6 +18768,19 @@ "node": ">= 10" } }, + "node_modules/swc-loader": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.7.tgz", + "integrity": "sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==", + "license": "MIT", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, "node_modules/tapable": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", @@ -19597,78 +19901,6 @@ "node": ">= 0.6" } }, - "node_modules/webpackbar": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", - "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "consola": "^3.2.3", - "figures": "^3.2.0", - "markdown-table": "^2.0.0", - "pretty-time": "^1.1.0", - "std-env": "^3.7.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/webpackbar/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/webpackbar/node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "license": "MIT", - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpackbar/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", diff --git a/package.json b/package.json index 0832c12b..a3e7a07f 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,9 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/preset-classic": "3.9.2", + "@docusaurus/core": "3.10.1", + "@docusaurus/faster": "3.10.1", + "@docusaurus/preset-classic": "3.10.1", "@easyops-cn/docusaurus-search-local": "^0.55.0", "@iarna/toml": "^2.2.5", "@mdx-js/react": "^3.0.0", @@ -28,8 +29,8 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/types": "3.9.2" + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/types": "3.10.1" }, "browserslist": { "production": [ diff --git a/versioned_docs/version-v1.10.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.10.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.10.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.10.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.11.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.11.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.11.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.11.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.12.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.12.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.12.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.12.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.12.0/KeyFeatures/MultiClusterScheduling.md b/versioned_docs/version-v1.12.0/KeyFeatures/MultiClusterScheduling.md index 0cd0ecfe..dfa88a27 100644 --- a/versioned_docs/version-v1.12.0/KeyFeatures/MultiClusterScheduling.md +++ b/versioned_docs/version-v1.12.0/KeyFeatures/MultiClusterScheduling.md @@ -27,9 +27,9 @@ Volcano Global enhances Karmada with the following features to meet the complex ## Architecture - +*/} Volcano Global consists of two components: diff --git a/versioned_docs/version-v1.13.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.13.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.13.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.13.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.13.0/KeyFeatures/MultiClusterScheduling.md b/versioned_docs/version-v1.13.0/KeyFeatures/MultiClusterScheduling.md index e665d886..aea8c667 100644 --- a/versioned_docs/version-v1.13.0/KeyFeatures/MultiClusterScheduling.md +++ b/versioned_docs/version-v1.13.0/KeyFeatures/MultiClusterScheduling.md @@ -28,9 +28,9 @@ Volcano Global enhances Karmada with the following features to meet the complex ## Architecture - +*/} Volcano Global consists of two components: diff --git a/versioned_docs/version-v1.14.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.14.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.14.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.14.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.14.0/KeyFeatures/MultiClusterScheduling.md b/versioned_docs/version-v1.14.0/KeyFeatures/MultiClusterScheduling.md index e665d886..aea8c667 100644 --- a/versioned_docs/version-v1.14.0/KeyFeatures/MultiClusterScheduling.md +++ b/versioned_docs/version-v1.14.0/KeyFeatures/MultiClusterScheduling.md @@ -28,9 +28,9 @@ Volcano Global enhances Karmada with the following features to meet the complex ## Architecture - +*/} Volcano Global consists of two components: diff --git a/versioned_docs/version-v1.15.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.15.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.15.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.15.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.15.0/KeyFeatures/MultiClusterScheduling.md b/versioned_docs/version-v1.15.0/KeyFeatures/MultiClusterScheduling.md index e665d886..aea8c667 100644 --- a/versioned_docs/version-v1.15.0/KeyFeatures/MultiClusterScheduling.md +++ b/versioned_docs/version-v1.15.0/KeyFeatures/MultiClusterScheduling.md @@ -28,9 +28,9 @@ Volcano Global enhances Karmada with the following features to meet the complex ## Architecture - +*/} Volcano Global consists of two components: diff --git a/versioned_docs/version-v1.7.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.7.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.7.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.7.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.8.2/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.8.2/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.8.2/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.8.2/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training diff --git a/versioned_docs/version-v1.9.0/Concepts/CronVolcanoJob.md b/versioned_docs/version-v1.9.0/Concepts/CronVolcanoJob.md index c9e4f02e..1a3a0437 100644 --- a/versioned_docs/version-v1.9.0/Concepts/CronVolcanoJob.md +++ b/versioned_docs/version-v1.9.0/Concepts/CronVolcanoJob.md @@ -59,7 +59,7 @@ kubectl get vcjob * Forbid: Skip new run if previous job hasn‘t completed * Replace: Cancel currently running job and start new - +{/* */} * startingDeadlineSeconds @@ -81,7 +81,7 @@ kubectl get vcjob Optional. Number of failed finished jobs to retain. Defaults to 1. - +{/* */} ### Usage * Periodic Model Training From 768ab69dbbd465e0f733bb0fa22614e13406ebdf Mon Sep 17 00:00:00 2001 From: safiyanasir2610 Date: Wed, 17 Jun 2026 02:16:20 +0530 Subject: [PATCH 2/2] Docs: Update contributor list Co-authored-by: Safiya Nasir Signed-off-by: safiyanasir2610