From 7228791ce4ca9f8a620528b7ec704e90e0df4461 Mon Sep 17 00:00:00 2001 From: Karl Cardenas Date: Wed, 20 Nov 2024 13:02:47 -0700 Subject: [PATCH 01/45] fix: patch release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3b7d8a0463..a6ab814a53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spectro-cloud-docs", - "version": "4.5.5", + "version": "4.5.11", "private": true, "scripts": { "docusaurus": "docusaurus", From 2c36cec0ab8fc1bd882919aa11d20c0dfb9ab52e Mon Sep 17 00:00:00 2001 From: Adelina Simion <43963729+addetz@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:07:44 +0000 Subject: [PATCH 02/45] docs: add custom security group ingress rules section PCP-1906 (#4781) * docs: add custom security group ingress rules section PCP-1906 * docs: change existing heading * docs: specify aws iaas --- .../clusters/public-cloud/aws/architecture.md | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/docs/docs-content/clusters/public-cloud/aws/architecture.md b/docs/docs-content/clusters/public-cloud/aws/architecture.md index 8281a784ab..5078d6d8a8 100644 --- a/docs/docs-content/clusters/public-cloud/aws/architecture.md +++ b/docs/docs-content/clusters/public-cloud/aws/architecture.md @@ -76,7 +76,7 @@ Where: - Values for **N** and **M** for each instance type can be referred from [this document](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI). -## Example Calculation: +### Example Calculation - For instance type = t3.medium - For values of N = 3, and M = 6 (values derived from AWS @@ -126,3 +126,46 @@ balancer service. Add the following tags Virtual Private Network (VPC) public su - `sigs.k8s.io/cluster-api-provider-aws/role = public` - `kubernetes.io/cluster/[yourClusterName] = shared` - `sigs.k8s.io/cluster-api-provider-aws/cluster/[yourClusterName] = owned` + +## Custom Security Group Ingress Rules + +Palette provisions a Virtual Private Network (VPC) for the control plane and worker nodes of AWS IaaS clusters. It then +also creates multiple security groups, which help manage and secure the resources within the VPC. By default, the API +Load Balancer security group allows all inbound traffic, specified using an ingress rule with the CIDR range `0.0.0.0/0` +and port `6443`. + +:::warning + +Security groups with CIDR range `0.0.0.0/0` will be automatically removed in AWS environments configured with +[auto remediation](https://docs.aws.amazon.com/config/latest/developerguide/setup-autoremediation.html). The cluster +will then become inaccessible. + +We recommend that you configure custom security group ingress rules to all the cluster profiles that you will be deploy +to AWS IaaS on secure environments. + +::: + +You can change the load balancer security group ingress rule by specifying a custom CIDR range in the Kubernetes pack +**Values** of your cluster profile. This custom ingress rule allows node to node communication within the specified CIDR +range. + +```yaml +cloud: + aws: + nodePortCIDRBlocks: + - 10.0.0.0/16 +``` + +Similarly, the bastion node also receives a security group ingress rule of `0.0.0.0/0`. You can specify a custom ingress +rule for your bastion node to only allow traffic from hosts in the specified IP range. + +```yaml +cloud: + aws: + bastion: + allowedCIDRBlocks: + - 10.0.0.0/16 +``` + +You can change your specified ingress rules by editing your cluster profile at any point, before or after cluster +deployment. From 5616940de305622cb3974153d64239dc834ec08a Mon Sep 17 00:00:00 2001 From: Ben Radstone <56587332+benradstone@users.noreply.github.com> Date: Wed, 27 Nov 2024 16:40:18 +0000 Subject: [PATCH 03/45] docs: VM Migration Assistant (#4737) * docs: VM Migration Assistant draft * docs: fix broken links * doc: heading change * doc: information architecture improvements * doc: minor sub-category change * doc: restructure and additional content * doc: tidy up and additional overview options * doc: some peer review changes * doc: final draft additions * doc: format changes * doc: fix broken RBAC anchor * Apply suggestions from code review * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * doc: adding one line suggestions Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> * ci: auto-formatting prettier issues * docs: resolve longer content suggestions * ci: auto-formatting prettier issues * docs: warm and cold migration steps * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * docs: virt-customize ConfigMap example * docs: Restructure IA * docs: change to headers from tabs * docs: DOC-1490 DOC-1494 Self-Hosted Updates (#4792) * docs: DOC-1490 * docs: added a prereq to install pages * docs: 1494 * docs: apply suggestions from code review Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com> * docs: Apply suggestions from code review --------- Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com> * docs: resolve vale comments * docs: longform flag * docs: lingering ableist word * docs: resolve Romain's comments * docs: code review suggestions Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> * docs: change lingering tabs to headers * docs: access service console * ci: auto-formatting prettier issues * docs: resolve prettier issue * docs: upgrade Docusaurus 3.6.3 (#4799) * chore: upgrade docusarus * chore: DOC-1495 upgrade docusaurus --------- Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> Co-authored-by: benradstone Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com> --- .../automation/palette-cli/commands/vmo.md | 6 +- .../airgap-install/install.md | 24 + .../install-on-kubernetes/install.md | 79 +- .../install-on-kubernetes/palette-helm-ref.md | 25 +- .../airgap-install/install.md | 24 + .../install-on-kubernetes/install.md | 48 +- .../install-on-kubernetes/vertex-helm-ref.md | 25 +- .../advanced-topics/advanced-topics.md | 1 - .../advanced-topics/migrate-vm-kubevirt.md | 105 +- .../migrate-vm-to-different-node.md | 2 +- .../vm-management/vm-management.md | 12 +- .../vm-migration-assistant/_category_.json | 3 + .../additional-configuration.md | 309 ++ .../cancel-active-migration-plans.md | 56 + .../create-migration-plans.md | 560 +++ .../create-source-providers.md | 258 ++ .../create-vm-migration-assistant-profile.md | 90 + .../start-migration-plans.md | 257 ++ .../vm-migration-assistant.md | 47 + package-lock.json | 3487 +++++++++++++---- package.json | 12 +- ...tional-configuration_overview-metrics.webp | Bin 0 -> 69174 bytes ...ional-configuration_overview-settings.webp | Bin 0 -> 150206 bytes ..._additional-configuration_plans-table.webp | Bin 0 -> 70648 bytes ...itional-configuration_providers-table.webp | Bin 0 -> 73236 bytes ...vms-vmo-cluster_pipeline-details-cold.webp | Bin 0 -> 95050 bytes ...vms-vmo-cluster_pipeline-details-warm.webp | Bin 0 -> 94690 bytes ...-vms-vmo-cluster_pipeline-status-cold.webp | Bin 0 -> 72956 bytes ...-vms-vmo-cluster_pipeline-status-warm.webp | Bin 0 -> 76114 bytes ...nt_migrate-vms-vmo-cluster_plan-ready.webp | Bin 0 -> 81648 bytes ...igrate-vms-vmo-cluster_provider-ready.webp | Bin 0 -> 96884 bytes static/packs-data/packs_information.json | 4 + 32 files changed, 4633 insertions(+), 801 deletions(-) create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/_category_.json create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/additional-configuration.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/cancel-active-migration-plans.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/create-migration-plans.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/create-source-providers.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/create-vm-migration-assistant-profile.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/start-migration-plans.md create mode 100644 docs/docs-content/vm-management/vm-migration-assistant/vm-migration-assistant.md create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-metrics.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-settings.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_plans-table.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_providers-table.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-cold.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-warm.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-status-cold.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-status-warm.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_plan-ready.webp create mode 100644 static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_provider-ready.webp diff --git a/docs/docs-content/automation/palette-cli/commands/vmo.md b/docs/docs-content/automation/palette-cli/commands/vmo.md index 653c190f35..5b4c2e1e9c 100644 --- a/docs/docs-content/automation/palette-cli/commands/vmo.md +++ b/docs/docs-content/automation/palette-cli/commands/vmo.md @@ -131,7 +131,7 @@ palette vmo import-ova --skip-image ### Prerequisites Refer to -[Migrate a VM to a VMO cluster](../../../vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md#prerequisites) +[Migrate a VM to a VMO cluster using the Palette CLI](../../../vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md#prerequisites) for a full list of prerequisites. ### Usage @@ -141,8 +141,8 @@ supported by the `migrate-vm` subcommand. The migration consists of two phases. to Persistent Volumes (PVs) in K8s using KubeVirt CDI and VMware Virtual Disk Development Kit (VDDK). Then, the guest OS on the root disk is made bootable and drivers are installed using [virt-v2v](https://libguestfs.org/virt-v2v.1.html). Refer to the -[Migrate a VM to a VMO cluster](../../../vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md) guide -for further details on migrating a vSphere VM to Palette VMO. +[Migrate a VM to a VMO cluster using the Palette CLI](../../../vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md) +guide for further details on migrating a vSphere VM to Palette VMO. | **Short Flag** | **Long Flag** | **Description** | **Type** | | -------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------- | diff --git a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md index b71053b372..8ad04ba333 100644 --- a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md +++ b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md @@ -43,6 +43,11 @@ Complete the [Environment Setup](./kubernetes-airgap-instructions.md) steps befo - The Kubernetes cluster must have a Container Storage Interface (CSI) installed and configured. Palette requires a CSI to store persistent data. You may install any CSI that is compatible with your Kubernetes cluster. +- If you are using MongoDB Atlas, or a self-hosted MongoDB instance, ensure the MongoDB database has a user named + `hubble` with the permission `readWriteAnyDatabase`. Refer to the + [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. + - We recommended the following resources for Palette. Refer to the [Palette size guidelines](../../install-palette.md#size-guidelines) for additional sizing information. @@ -726,6 +731,25 @@ environment. Reach out to our support team if you need assistance. TEST SUITE: None ``` + +
+ How to update containerd to use proxy configurations + + If your Kubernetes cluster is behind a network proxy, ensure the containerd service is configured to use proxy + settings. You can do this by updating the containerd configuration file on each node in the cluster. The + configuration file is typically located at ` /etc/systemd/system/containerd.service.d/http-proxy.conf`. Below is an + example of the configuration file. Replace the values with your proxy settings. Ask your network administrator for + guidance. + + ``` + [Service] + Environment="HTTP_PROXY=http://example.com:9090" + Environment="HTTPS_PROXY=http://example.com:9090" + Environment="NO_PROXY=127.0.0.1,localhost,100.64.0.0/17,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,,.cluster.local" + ``` + +
+ 10. Install the Palette Helm Chart using the following command. ```shell diff --git a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/install.md b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/install.md index b74ac5cc50..bf527f9634 100644 --- a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/install.md +++ b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/install.md @@ -32,6 +32,13 @@ You can use the Palette Helm Chart to install Palette in a multi-node Kubernetes - The Kubernetes cluster must have a Container Storage Interface (CSI) installed and configured. Palette requires a CSI to store persistent data. You may install any CSI that is compatible with your Kubernetes cluster. +- If you are using MongoDB Atlas, or a self-hosted MongoDB instance, ensure the MongoDB database has a user named + `hubble` with the permission `readWriteAnyDatabase`. Refer to the + [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. + +- https://spectrocloud.atlassian.net/browse/DOC-1490 + - We recommended the following resources for Palette. Refer to the [Palette size guidelines](../install-palette.md#size-guidelines) for additional sizing information. @@ -368,7 +375,7 @@ your environment. Reach out to our support team if you need assistance. - ```yaml {53,68-75,110-115} + ```yaml {53,68-75,87-96,110-115} ######################### # Spectro Cloud Palette # ######################### @@ -455,15 +462,15 @@ your environment. Reach out to our support team if you need assistance. # insecureSkipVerify: false # caCert: "" - # ociImageRegistry: - # endpoint: "" # - # name: "" # - # password: "" # - # username: "" # - # baseContentPath: "" # - # insecureSkipVerify: false - # caCert: "" - # mirrorRegistries: "" + ociImageRegistry: + endpoint: "example.harbor.org" # + name: "Palette Packs OCI" # + password: "**************" # + username: "**************" # + baseContentPath: "spectro-images" # + insecureSkipVerify: false + caCert: "" + mirrorRegistries: "" # Instruction for mirrorRegistries. # ---------------------------------- @@ -615,7 +622,47 @@ your environment. Reach out to our support team if you need assistance. ::: -5. Install the Palette Helm Chart using the following command. +5. This step is only required if you are installing Palette in an environment where a network proxy must be configured + for Palette to access the internet. If you are not using a network proxy, skip to the next step. + + Install the reach-system chart using the following command. Point to the **values.yaml** file you configured in step + four. Make sure you configure the `reach-system.enable` section in the **values.yaml** file. + + ```shell + helm upgrade --values palette/values.yaml \ + reach-system extras/reach-system/reach-system-*.tgz --install + ``` + + ```shell hideClipboard + Release "reach-system" does not exist. Installing it now. + NAME: reach-system + LAST DEPLOYED: Mon Jan 29 17:04:23 2024 + NAMESPACE: default + STATUS: deployed + REVISION: 1 + TEST SUITE: None + ``` + + +
+ How to update containerd to use proxy configurations + + If your Kubernetes cluster is behind a network proxy, ensure the containerd service is configured to use proxy + settings. You can do this by updating the containerd configuration file on each node in the cluster. The + configuration file is typically located at ` /etc/systemd/system/containerd.service.d/http-proxy.conf`. Below is an + example of the configuration file. Replace the values with your proxy settings. Ask your network administrator for + guidance. + + ``` + [Service] + Environment="HTTP_PROXY=http://example.com:9090" + Environment="HTTPS_PROXY=http://example.com:9090" + Environment="NO_PROXY=127.0.0.1,localhost,100.64.0.0/17,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,,.cluster.local" + ``` + +
+ +6. Install the Palette Helm Chart using the following command. ```shell helm upgrade --values palette/values.yaml \ @@ -632,7 +679,7 @@ your environment. Reach out to our support team if you need assistance. TEST SUITE: None ``` -6. Track the installation process using the command below. Palette is ready when the deployments in the namespaces +7. Track the installation process using the command below. Palette is ready when the deployments in the namespaces `cp-system`, `hubble-system`, `ingress-nginx`, `jet-system` , and `ui-system` reach the _Ready_ state. The installation takes between two to three minutes to complete. @@ -647,7 +694,7 @@ your environment. Reach out to our support team if you need assistance. ::: -7. Create a DNS CNAME record that is mapped to the Palette `ingress-nginx-controller` load balancer. You can use the +8. Create a DNS CNAME record that is mapped to the Palette `ingress-nginx-controller` load balancer. You can use the following command to retrieve the load balancer IP address. You may require the assistance of your network administrator to create the DNS record. @@ -665,7 +712,7 @@ your environment. Reach out to our support team if you need assistance. ::: -8. Use the custom domain name or the IP address of the load balancer to visit the Palette system console. To access the +9. Use the custom domain name or the IP address of the load balancer to visit the Palette system console. To access the system console, open a web browser and paste the custom domain URL in the address bar and append the value `/system`. Replace the domain name in the URL with your custom domain name or the IP address of the load balancer. Alternatively, you can use the load balancer IP address with the appended value `/system` to access the system @@ -677,7 +724,7 @@ your environment. Reach out to our support team if you need assistance. ![Screenshot of the Palette system console showing Username and Password fields.](/palette_installation_install-on-vmware_palette-system-console.webp) -9. Log in to the system console using the following default credentials. Refer to the +10. Log in to the system console using the following default credentials. Refer to the [password requirements](../../system-management/account-management/credentials.md#password-requirements-and-security) documentation page to learn more about password requirements @@ -692,7 +739,7 @@ your environment. Reach out to our support team if you need assistance. Refer to the [Account Management](../../system-management/account-management/account-management.md) documentation page for more information. -10. After login, a summary page is displayed. Palette is installed with a self-signed SSL certificate. To assign a +11. After login, a summary page is displayed. Palette is installed with a self-signed SSL certificate. To assign a different SSL certificate you must upload the SSL certificate, SSL certificate key, and SSL certificate authority files to Palette. You can upload the files using the Palette system console. Refer to the [Configure HTTPS Encryption](../../system-management/ssl-certificate-management.md) page for instructions on how to diff --git a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/palette-helm-ref.md b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/palette-helm-ref.md index 7abbae97a3..627e8af7e6 100644 --- a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/palette-helm-ref.md +++ b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/palette-helm-ref.md @@ -37,20 +37,23 @@ Palette uses MongoDB Enterprise as its internal database and supports two modes - MongoDB Enterprise deployed and active inside the cluster. -- MongoDB Enterprise is hosted on a software-as-a-service (SaaS) platform, such as MongoDB Atlas. +- MongoDB Enterprise is hosted on a Software-as-a-Service (SaaS) platform, such as MongoDB Atlas. If you choose to use + MongoDB Atlas, ensure the MongoDB database has a user named `hubble` with the permission `readWriteAnyDatabase`. Refer + to the [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. The table below lists the parameters used to configure a MongoDB deployment. -| **Parameters** | **Description** | **Type** | **Default value** | -| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | -| `internal` | Specifies the MongoDB deployment either in-cluster or using Mongo Atlas. | Boolean | `true` | -| `databaseUrl` | The URL for MongoDB Enterprise. If using a remote MongoDB Enterprise instance, provide the remote URL. This parameter must be updated if `mongo.internal` is set to `false`. | String | `mongo-0.mongo,mongo-1.mongo,mongo-2.mongo` | -| `databasePassword` | The base64-encoded MongoDB Enterprise password. If you don't provide a value, a random password will be auto-generated. | String | `""` | -| `replicas` | The number of MongoDB replicas to start. | Integer | `3` | -| `memoryLimit` | Specifies the memory limit for each MongoDB Enterprise replica. | String | `4Gi` | -| `cpuLimit` | Specifies the CPU limit for each MongoDB Enterprise member. | String | `2000m` | -| `pvcSize` | The storage settings for the MongoDB Enterprise database. Use increments of `5Gi` when specifying the storage size. The storage size applies to each replica instance. The total storage size for the cluster is `replicas` \* `pvcSize`. | string | `20Gi` | -| `storageClass` | The storage class for the MongoDB Enterprise database. | String | `""` | +| **Parameters** | **Description** | **Type** | **Default value** | +| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | +| `internal` | Specifies the MongoDB deployment either in-cluster or using Mongo Atlas. | Boolean | `true` | +| `databaseUrl` | The URL for MongoDB Enterprise. If using a remote MongoDB Enterprise instance, provide the remote URL. This parameter must be updated if `mongo.internal` is set to `false`. You also need to ensure the MongoDB database has a user named `hubble` with the permission `readWriteAnyDatabase`. Refer to the [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a database user in Atlas. | String | `mongo-0.mongo,mongo-1.mongo,mongo-2.mongo` | +| `databasePassword` | The base64-encoded MongoDB Enterprise password. If you don't provide a value, a random password will be auto-generated. | String | `""` | +| `replicas` | The number of MongoDB replicas to start. | Integer | `3` | +| `memoryLimit` | Specifies the memory limit for each MongoDB Enterprise replica. | String | `4Gi` | +| `cpuLimit` | Specifies the CPU limit for each MongoDB Enterprise member. | String | `2000m` | +| `pvcSize` | The storage settings for the MongoDB Enterprise database. Use increments of `5Gi` when specifying the storage size. The storage size applies to each replica instance. The total storage size for the cluster is `replicas` \* `pvcSize`. | string | `20Gi` | +| `storageClass` | The storage class for the MongoDB Enterprise database. | String | `""` | ```yaml mongo: diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md index c332c3dce1..fbd5779dec 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md @@ -43,6 +43,11 @@ Complete the [Environment Setup](./kubernetes-airgap-instructions.md) steps befo - The Kubernetes cluster must have a Container Storage Interface (CSI) installed and configured. VerteX requires a CSI to store persistent data. You may install any CSI that is compatible with your Kubernetes cluster. +- If you are using MongoDB Atlas, or a self-hosted MongoDB instance ,ensure the MongoDB database has a user named + `hubble` with the permission `readWriteAnyDatabase`. Refer to the + [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. + - We recommended the following resources for VerteX. Refer to the [VerteX size guidelines](../../../install-palette-vertex/install-palette-vertex.md#size-guidelines) for additional sizing information. @@ -736,6 +741,25 @@ environment. Reach out to our support team if you need assistance. TEST SUITE: None ``` + +
+ How to update containerd to use proxy configurations + + If your Kubernetes cluster is behind a network proxy, ensure the containerd service is configured to use proxy + settings. You can do this by updating the containerd configuration file on each node in the cluster. The + configuration file is typically located at ` /etc/systemd/system/containerd.service.d/http-proxy.conf`. Below is an + example of the configuration file. Replace the values with your proxy settings. Ask your network administrator for + guidance. + + ``` + [Service] + Environment="HTTP_PROXY=http://example.com:9090" + Environment="HTTPS_PROXY=http://example.com:9090" + Environment="NO_PROXY=127.0.0.1,localhost,100.64.0.0/17,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,,.cluster.local" + ``` + +
+ 10. Install the VerteX Helm Chart using the following command. ```shell diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/install.md b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/install.md index 30069434d7..44802b0990 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/install.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/install.md @@ -37,6 +37,11 @@ has the necessary network connectivity for VerteX to operate successfully. - The Kubernetes cluster must have a Container Storage Interface (CSI) installed and configured. VerteX requires a CSI to store persistent data. You may install any CSI that is compatible with your Kubernetes cluster. +- If you are using MongoDB Atlas, or a self-hosted MongoDB instance, ensure the MongoDB database has a user named + `hubble` with the permission `readWriteAnyDatabase`. Refer to the + [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. + - We recommend the following resources for VerteX. Refer to the [VerteX size guidelines](../install-palette-vertex.md#size-guidelines) for additional sizing information. @@ -379,7 +384,7 @@ your environment. Reach out to our support team if you need assistance. - ```yaml {53,68-75,110-115} + ```yaml {53,68-75,87-96,110-115} ######################### # Spectro Cloud VerteX # ######################### @@ -466,15 +471,15 @@ your environment. Reach out to our support team if you need assistance. # insecureSkipVerify: false # caCert: "" - # ociImageRegistry: - # endpoint: "" # - # name: "" # - # password: "" # - # username: "" # - # baseContentPath: "" # - # insecureSkipVerify: false - # caCert: "" - # mirrorRegistries: "" + ociImageRegistry: + endpoint: "example.harbor.org" # + name: "Palette Packs OCI" # + password: "**************" # + username: "**************" # + baseContentPath: "spectro-images" # + insecureSkipVerify: false + caCert: "" + mirrorRegistries: "" # Instruction for mirrorRegistries. # ---------------------------------- @@ -629,8 +634,8 @@ your environment. Reach out to our support team if you need assistance. 5. This step is only required if you are installing Palette in an environment where a network proxy must be configured for Palette to access the internet. If you are not using a network proxy, skip to the next step. - Install the reach-system chart using the following command. Point to the **values.yaml** file you configured in the - previous step. + Install the reach-system chart using the following command. Point to the **values.yaml** file you configured in step + four. Make sure you configure the `reach-system.enable` section in the **values.yaml** file. ```shell helm upgrade --values vertex/values.yaml \ @@ -647,6 +652,25 @@ your environment. Reach out to our support team if you need assistance. TEST SUITE: None ``` + +
+ How to update containerd to use proxy configurations + + If your Kubernetes cluster is behind a network proxy, ensure the containerd service is configured to use proxy + settings. You can do this by updating the containerd configuration file on each node in the cluster. The + configuration file is typically located at ` /etc/systemd/system/containerd.service.d/http-proxy.conf`. Below is an + example of the configuration file. Replace the values with your proxy settings. Ask your network administrator for + guidance. + + ``` + [Service] + Environment="HTTP_PROXY=http://example.com:9090" + Environment="HTTPS_PROXY=http://example.com:9090" + Environment="NO_PROXY=127.0.0.1,localhost,100.64.0.0/17,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,,.cluster.local" + ``` + +
+ 6. Install the Palette Helm Chart using the following command. ```shell diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/vertex-helm-ref.md b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/vertex-helm-ref.md index 1d7b641330..ff54a2cc91 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/vertex-helm-ref.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/vertex-helm-ref.md @@ -38,20 +38,23 @@ Palette VerteX uses MongoDB Enterprise as its internal database and supports two - MongoDB Enterprise deployed and active inside the cluster. -- MongoDB Enterprise is hosted on a software-as-a-service (SaaS) platform, such as MongoDB Atlas. +- MongoDB Enterprise is hosted on a Software-as-a-Service (SaaS) platform, such as MongoDB Atlas. If you choose to use + MongoDB Atlas, ensure the MongoDB database has a user named `hubble` with the permission `readWriteAnyDatabase`. Refer + to the [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a + database user in Atlas. The table below lists the parameters used to configure a MongoDB deployment. -| **Parameters** | **Description** | **Type** | **Default value** | -| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | -| `internal` | Specifies the MongoDB deployment either in-cluster or using Mongo Atlas. | Boolean | `true` | -| `databaseUrl` | The URL for MongoDB Enterprise. If using a remote MongoDB Enterprise instance, provide the remote URL. This parameter must be updated if `mongo.internal` is set to `false`. | String | `mongo-0.mongo,mongo-1.mongo,mongo-2.mongo` | -| `databasePassword` | The base64-encoded MongoDB Enterprise password. If you don't provide a value, a random password will be auto-generated. | String | `""` | -| `replicas` | The number of MongoDB replicas to start. | Integer | `3` | -| `memoryLimit` | Specifies the memory limit for each MongoDB Enterprise replica. | String | `4Gi` | -| `cpuLimit` | Specifies the CPU limit for each MongoDB Enterprise member. | String | `2000m` | -| `pvcSize` | The storage settings for the MongoDB Enterprise database. Use increments of `5Gi` when specifying the storage size. The storage size applies to each replica instance. The total storage size for the cluster is `replicas` \* `pvcSize`. | string | `20Gi` | -| `storageClass` | The storage class for the MongoDB Enterprise database. | String | `""` | +| **Parameters** | **Description** | **Type** | **Default value** | +| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | +| `internal` | Specifies the MongoDB deployment either in-cluster or using Mongo Atlas. | Boolean | `true` | +| `databaseUrl` | The URL for MongoDB Enterprise. If using a remote MongoDB Enterprise instance, provide the remote URL. This parameter must be updated if `mongo.internal` is set to `false`. You also need to ensure the MongoDB database has a user named `hubble` with the permission `readWriteAnyDatabase`. Refer to the [Add a Database User](https://www.mongodb.com/docs/guides/atlas/db-user/) guide for guidance on how to create a database user in Atlas. | String | `mongo-0.mongo,mongo-1.mongo,mongo-2.mongo` | +| `databasePassword` | The base64-encoded MongoDB Enterprise password. If you don't provide a value, a random password will be auto-generated. | String | `""` | +| `replicas` | The number of MongoDB replicas to start. | Integer | `3` | +| `memoryLimit` | Specifies the memory limit for each MongoDB Enterprise replica. | String | `4Gi` | +| `cpuLimit` | Specifies the CPU limit for each MongoDB Enterprise member. | String | `2000m` | +| `pvcSize` | The storage settings for the MongoDB Enterprise database. Use increments of `5Gi` when specifying the storage size. The storage size applies to each replica instance. The total storage size for the cluster is `replicas` \* `pvcSize`. | string | `20Gi` | +| `storageClass` | The storage class for the MongoDB Enterprise database. | String | `""` | ```yaml mongo: diff --git a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md index dc58d956d5..e5c26084f8 100644 --- a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md @@ -21,5 +21,4 @@ by over-committing CPU and memory. - [Create VM Templates](./create-vm-template.md) - [Create DISK Templates](./create-disk-templates.md) - [Over-commit Resources to Enhance VM Performance](./vm-oversubscription.md) -- [Migrate a VM to a VMO cluster](./migrate-vm-kubevirt.md) - [Import and Deploy OVAs to Palette VMO](./deploy-import-ova.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md index 9d21a5e8a5..3c52caf67a 100644 --- a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt.md @@ -1,20 +1,22 @@ --- -sidebar_label: "Migrate a VM to a VMO cluster" -title: "Migrate a VM to a VMO cluster" -description: "Learn how to migrate VMs to Palette VMO using the Palette CLI." +sidebar_label: "Migrate a VM to a VMO cluster using the Palette CLI" +title: "Migrate a VM to a VMO cluster using the Palette CLI" +description: "Learn how to migrate VMs from VMware vSphere to Palette VMO using the Palette CLI" icon: " " hide_table_of_contents: false -sidebar_position: 40 -tags: ["vmo", "palette-cli"] +sidebar_position: 20 +tags: ["vmo", "palette cli"] +#toc_max_heading_level: 4 --- -During large scale Kubernetes adoptions, workloads are often rehosted or migrated instead of being redeployed from -scratch. This process allows system administrators to copy the application, together with its data, to a Kubernetes -cluster. However, the migration of VMs can be time consuming if done manually, so it is often automated with open source -tools such as [Forklift](https://github.com/kubev2v/forklift). +:::info -The [Palette CLI](../../../automation/palette-cli/palette-cli.md) provides the ability to migrate Virtual Machines (VMs) -from VMware vSphere to Palette VMO. +We recommend using the [VM Migration Assistant](../../vm-migration-assistant/vm-migration-assistant.md) instead of this +method for new migrations. + +::: + +This migration method uses the [Palette CLI](../../../automation/palette-cli/palette-cli.md). ## Limitations @@ -68,8 +70,18 @@ from VMware vSphere to Palette VMO. ::: -- A VMware vSphere user account with the necessary permissions to manage the VMs you want to migrate. - - Migration can optionally accelerated by providing credentials for the ESXi hosts where the VMs reside. +- A vCenter user account with the following necessary privileges to perform migrations. + + | **Privileges** | **Description** | + | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **[Virtual machine.Interaction.Power Off](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html)** | Allows shutting down a powered-on virtual machine, powering down its guest operating system. | + | **[Virtual machine.Interaction.Power On](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html)** | Enables starting a powered-off virtual machine or resuming a suspended one. | + | [**Virtual Machine Interaction Privileges**](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html) | Allow creating, cloning, modifying, customizing, and managing templates, virtual machines, their files, and customization specifications, as well as performing disk and deployment-related operations. | + | **[Virtual machine.Snapshot management.Create snapshot](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-222FE721-0968-4E9E-9F98-7CB03E7185E8.html)** | Allows capturing the current state of a virtual machine as a snapshot. | + | **[Virtual machine.Snapshot management.Remove Snapshot](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-222FE721-0968-4E9E-9F98-7CB03E7185E8.html)** | Permits deletion of a snapshot from the snapshot history. | + + - Migrations can be optionally accelerated by providing credentials for the ESXi hosts where the VMs reside. + - One or more VMs hosted in VMware vSphere. Only VMs whose operating systems are included under [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. - The VMs must be powered off before migration. @@ -80,13 +92,56 @@ from VMware vSphere to Palette VMO. - The Palette CLI must have access to both the VMO cluster and the machines to be migrated. - The kubectl command-line tool should also be installed. Refer to the [kubectl installation](https://kubernetes.io/docs/tasks/tools/install-kubectl/) guide to learn more. -- We recommend providing a VMware Virtual Disk Development Kit (VDDK) image for the migration. This will significantly - speed up the migration. +- We recommend providing a + [VMware Virtual Disk Development Kit (VDDK) image](https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/latest) + for the migration. This will significantly speed up the migration. The migration engine uses VDDK on the destination + VMO cluster to read virtual disks from the source environment, transfer the data, and write it to the target storage. + + - You must build and host the VDDK image in your own image registry, which must be accessible to the destination VMO + cluster for migrations. + + +
+ Example steps to build and upload VDDK image + + 1. Download the VDDK image from the + [Broadcom Developer Portal](https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/latest). + + 2. Decompress the downloaded image. + + ```shell + tar -xzf VMware-vix-disklib-.x86_64.tar.gz + ``` + + 3. Create a Dockerfile to build the VDDK image. + + ```shell + cat > Dockerfile < + USER 1001 + COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib + RUN mkdir -p /opt + ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"] + EOF + ``` + + Replace the `` with your chosen base image registry/repository (for example: + `alpine:latest`). + + 4. Build the image. + + ```shell + docker buildx build --platform linux/amd64 --tag /vddk: . + ``` + + 5. Push the built image to your image registry. + + ```shell + docker push /vddk: + ``` + +
- - The VDDK image must be built and uploaded to your image registry before starting the migration. Refer to the - [Creating a VDDK image](https://docs.redhat.com/en/documentation/migration_toolkit_for_virtualization/2.6/html/installing_and_using_the_migration_toolkit_for_virtualization/prerequisites_mtv#creating-vddk-image_mtv) - documentation for guidance. - - The migration host must have access to your image registry. - If you are using a private image registry, you must create a Secret to be used for the migration. The Secret must be in the form of a YAML file and the `metadata.name` value must be `vddk-image-pull-secret`. The `metadata.namespace` value should be left blank or omitted, as the Palette CLI will automatically populate it. @@ -103,6 +158,7 @@ from VMware vSphere to Palette VMO. --docker-username=myUsername \ --docker-password=myPassword \ --docker-email=myEmail \ + --kubeconfig=/path/to/myKubeconfig \ --output yaml > image-pull-secret.yaml ``` @@ -134,8 +190,10 @@ from VMware vSphere to Palette VMO. `vddk-image-pull-secret`, and the `metadata.namespace` is left blank or omitted. Refer to the - [Pull an Image from a Private Registry documentation](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) - for additional guidance. + [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) + and + [kubectl create secret docker-registry](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_docker-registry/) + documentation for additional guidance. @@ -154,7 +212,7 @@ from VMware vSphere to Palette VMO. namespace. ```shell - kubectl create namespaces + kubectl create namespace ``` 4. Execute the following command to start an interactive shell and begin the migration process to the cluster specified @@ -183,6 +241,7 @@ from VMware vSphere to Palette VMO. | **Migration Name** | The name of your migration and its corresponding configuration files. A default name is generated by the Palette CLI. | | | **Forklift Installation Type** | A cluster to be used for performing the migration. You can either choose to create a local cluster or use the destination cluster. [Forklift](https://github.com/kubev2v/forklift) is installed on the migration cluster. | `Local Kind Cluster` / `Destination Cluster` | | **Install Forklift?** | Specify whether to install Forklift on the migration cluster. | `Y` / `n` | + | **KUBECONFIG path** | The local filesystem path to the kubeconfig for your destination cluster. For example, `~/path/to/mycluster.kubeconfig`. | | | **Migration Namespace** | Namespace where the migration VM is created. The namespace must exist on the cluster. You can enter the namespace you created earlier or use the `default` namespace. | | | **vSphere Endpoint** | Your vSphere endpoint. You can specify a Full Qualified Domain Name (FQDN) or an IP address. Make sure you specify the endpoint without the HTTP scheme `https://` or `http://`. For example, `vcenter.mycompany.com`. | | | **vSphere Username (with domain)** | Your vSphere account username. | | @@ -220,7 +279,7 @@ from VMware vSphere to Palette VMO. ## Validate -1. Log into [Palette](https://console.spectrocloud.com). +1. Log in to [Palette](https://console.spectrocloud.com). 2. From the left **Main Menu**, select **Clusters**. Then, choose the VMO cluster that you migrated your VM to. The **Overview** tab appears. diff --git a/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md b/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md index 87e5f0aaef..e6318d8ce8 100644 --- a/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md +++ b/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md @@ -1,5 +1,5 @@ --- -sidebar_label: "Migrate a VM" +sidebar_label: "Migrate a VM to a Different Node" title: "Migrate a VM to a Different Node" description: "Learn how to migrate a VM to another physical host in the cluster using Palette." hide_table_of_contents: false diff --git a/docs/docs-content/vm-management/vm-management.md b/docs/docs-content/vm-management/vm-management.md index 5194b69a5b..c255254799 100644 --- a/docs/docs-content/vm-management/vm-management.md +++ b/docs/docs-content/vm-management/vm-management.md @@ -38,9 +38,11 @@ or Palette VerteX, review the [Install VMO in Airgap Environments](./install-vmo [Create a VMO Profile](./create-vmo-profile.md) guide to prepare everything you need to deploy your first VMO cluster. Once your VMO cluster is up and healthy, refer to the [Create and Manage VMs](./create-manage-vm/create-manage-vm.md) -section for information on deploying VMs from existing Palette templates and performing standard VM operations. -Alternatively, review the [Advanced Topics](./create-manage-vm/advanced-topics/advanced-topics.md) section to understand -how you can create VM and disk templates, manage the VM resources, and perform other advanced operations. +section for information on deploying VMs from existing Palette templates and performing standard VM operations. You can +also learn how to migrate VMs from VMware vSphere to a VMO cluster using the +[Virtual Machine Migration Assistant](./vm-migration-assistant/vm-migration-assistant.md). Alternatively, review the +[Advanced Topics](./create-manage-vm/advanced-topics/advanced-topics.md) section to understand how you can create VM and +disk templates, manage the VM resources, and perform other advanced operations. Finally, refer to the [Role-based Access Control (RBAC)](./rbac/rbac.md) section for information on configuring roles and permissions for your VMs. @@ -57,8 +59,8 @@ and permissions for your VMs. - [Advanced Topics](./create-manage-vm/advanced-topics/advanced-topics.md) -- [Migrate a VM to a VMO cluster](./create-manage-vm/advanced-topics/migrate-vm-kubevirt.md) - - [Import and Deploy OVAs to Palette VMO](./create-manage-vm/advanced-topics/deploy-import-ova.md) - [RBAC](./rbac/rbac.md) + +- [Virtual Machine Migration Assistant](./vm-migration-assistant/vm-migration-assistant.md) diff --git a/docs/docs-content/vm-management/vm-migration-assistant/_category_.json b/docs/docs-content/vm-management/vm-migration-assistant/_category_.json new file mode 100644 index 0000000000..ae9ddb024d --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 50 +} diff --git a/docs/docs-content/vm-management/vm-migration-assistant/additional-configuration.md b/docs/docs-content/vm-management/vm-migration-assistant/additional-configuration.md new file mode 100644 index 0000000000..54d95ed4e7 --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/additional-configuration.md @@ -0,0 +1,309 @@ +--- +sidebar_label: "Additional Configuration" +title: "VM Migration Assistant Additional Configuration" +description: "Learn how to configure additional settings in the VM Migration Assistant" +icon: " " +hide_table_of_contents: false +sidebar_position: 60 +tags: ["vmo", "vm migration assistant"] +--- + +## Overview Settings + +Navigate to your overview settings by clicking **Overview** on the left **Main Menu**. + +### Overview Tab + +The **Overview** tab has configurable settings for the migration controller. These parameters define the resource +allocation, performance tuning, and operational settings for efficiently managing virtual machine migrations. + +![Overview - Overview Tab Settings](/vm-management_vm-migration-assistant_additional-configuration_overview-settings.webp) + +#### Configure Migration Controller + +The configurable parameters are described in the following table. + +| Parameter | Description | Default Value | +| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| **Max concurrent virtual machine migrations** | The maximum number of VMs per plan that can be migrated simultaneously. | `20` | +| **Controller main container CPU limit** | The CPU limit (in milliCPU) allocated to the main container in the controller pod. | `500m` | +| **Controller main container Memory limit** | The Memory limit (in mebibytes) allocated to the main container in the controller pod. | `800Mi` | +| **Precopy interval (minutes)** | _(Only applicable to warm migrations)_ The interval time at which a new snapshot is requested prior to initiating a warm migration. The optimal choice depends on various factors such as network bandwidth and the rate of data changes. For example, VMs with heavy write workloads benefit from shorter intervals. | `60` | +| **Snapshot polling interval (seconds)** | _(Only applicable to warm migrations)_ The frequency at which the migration controller checks for changes or updates in snapshots during the migration process. Shorter frequencies may reduce the overall migration time, but will also increase resource usage. | `10` | + +Perform the following steps to change a setting. + +1. Click the pencil icon next to each value. +2. Adjust the value in the pop-up window. +3. Click **Save** after making changes. + +### YAML Tab + +The **YAML** tab displays a YAML editor for the VM Migration Assistant resource. + +View and edit the +[Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) for the VM +Migration Assistant on this tab. + +### Metrics Tab + +The **Metrics** tab displays your migration metrics. + +Perform the following steps to change the time period displayed for the Migrations and Virtual Machine Migrations +graphs. + +1. Click the **three-dot Menu** at the top-right of each graph. + + ![Overview - Metrics Tab](/vm-management_vm-migration-assistant_additional-configuration_overview-metrics.webp) + +2. Select from **7 days**, **31 days**, or **24 hours**. The graph updates after selection. + +## Provider Settings + +Navigate to your providers by clicking **Providers for virtualization** on the left **Main Menu**. + +Click on a provider name to view the provider settings. + +![Providers for virtualization - Providers Table](/vm-management_vm-migration-assistant_additional-configuration_providers-table.webp) + +### Details Tab + +The **Details** tab has configurable settings for the provider. + +#### Configure Provider Details + +##### Source Provider + +The configurable settings are described in the following table. These were originally defined when you performed the +steps in [Create Source Providers](./create-source-providers.md). + +| Setting | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **URL** | Your vSphere / ESXi API endpoint for the SDK. You can specify a Full Qualified Domain Name (FQDN) or an IP address. For example, `https://vcenter.mycompany.com/sdk`. | +| **External web UI link** | Your vSphere / ESXi UI endpoint. You can specify a Full Qualified Domain Name (FQDN) or an IP address. For example, `https://vcenter.mycompany.com/ui`. | +| **VDDK init image** | Provide the registry URL to the VMware Virtual Disk Development Kit (VDDK) image. If providing an image, make sure you specify the registry URL without the HTTP scheme `https://` or `http://`. For example, `docker.io/myorganization/vddk:v8.0.3`. | + +Perform the following steps to change a setting. + +1. Click the pencil icon next to each value. +2. Adjust the value in the pop-up window. +3. Click **Save** after making changes. + +##### Host Cluster + +The configurable settings are described in the following table. These are automatically defined when the VM Migration +Assistant is installed on your VMO cluster. + +| Setting | Description | +| ---------------------------- | -------------------------------------------------------------------------------------------------- | +| **Default Transfer Network** | Select a default migration network. If no network is selected, the pod network is used by default. | + +Perform the following steps to change a setting. + +1. Click the pencil icon next to each value. +2. Adjust the value in the pop-up window. +3. Click **Save** after making changes. + +### YAML Tab + +The **YAML** tab displays a YAML editor for the provider resource. + +View and edit the +[Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) for the +provider on this tab. + +### Credentials Tab + +The **Credentials** tab has configurable settings for the provider credentials. + +#### Configure Provider Credentials + +The configurable settings are described in the following table. These were originally defined when you performed the +steps in [Create Source Providers](./create-source-providers.md). + +| Setting | Description | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Username** | Your vSphere / ESXi account username. For example, `user@vsphere.local`. | +| **Password** | Your vSphere / ESXi account password. | +| **Skip certificate validation** | Enabling this option bypasses x509 CA verification. In production environments, do not enable if you are using a custom registry with self-signed SSL certificates, as the certificate can be provided in the next setting. | +| **CA certificate** | Upload or drag and drop the CA certificate for your vSphere / ESXi. You can also use the **Fetch certificate from URL** option if your CA certificate is not third party or self-managed. | + +Perform the following steps to change a setting. + +1. Click on **Edit credentials**. +2. Update the value for each setting that you want to change. +3. Click **Update credentials** after making changes. + +### Virtual Machines Tab + +The **Virtual Machines** tab displays a table of virtual machines from the provider. + +You can initiate migrations from this tab by selecting VMs and clicking on **Create migration plan**. Refer to +[Create Migration Plans](./create-migration-plans.md) for guidance. + +### Hosts Tab + +The **Hosts** tab displays a table of hosts from the provider. This tab is not visible on host clusters. + +You can configure the migration network for each listed host in the table. + +:::info + +Using the default management network for migration can lead to poor performance. Disk transfer operations may saturate +may saturate network bandwidth, which could affect communication between vCenter and ESXi hosts. + +A dedicated migration network can improve performance and reduce risks to the VMware environment. + +::: + +#### Configure Provider Host Network + +1. For each host that you want to configure, click the checkbox next to the hosts' name. +2. Click on **Select migration network**. +3. The configurable settings are described in the following table. + + | Setting | Description | + | ---------------------------- | ------------------------------------------------------------ | + | **Network** | Select the migration network to use from the drop-down Menu. | + | **ESXi host admin username** | Specify the ESXi host admin username. For example, `root`. | + | **ESXi host admin password** | Specify the ESXi host admin password. | + +4. After making changes, click **Save**. + +### Networks Tab + +The **Networks** tab displays a table of +[NetworkAttachmentDefinitions](https://docs.openshift.com/container-platform/4.8/rest_api/network_apis/networkattachmentdefinition-k8s-cni-cncf-io-v1.html) +from the cluster. This tab is only visible on host clusters. + +You can select a default migration network for the cluster to improve disk transfer performance. If no network is +selected, the pod network is used by default, which may not be optimal. + +#### Configure Default Transfer Network for Host Cluster + +1. Click on **Set default transfer network**. +2. Select a network name from the **drop-down Menu**. +3. After making changes, click **Save**. + +## Plan Settings + +Navigate to your plans by clicking **Plans for virtualization** on the left **Main Menu**. + +Click on a plan name to view the plan settings. + +![Plans for virtualization - Plans Table](/vm-management_vm-migration-assistant_additional-configuration_plans-table.webp) + +### Details Tab + +The **Details** tab has configurable settings for the plan. + +#### Configure Plan Details + +The configurable settings are described in the following table. Some of these were originally defined when you performed +the steps in [Create Migration Plans](./create-migration-plans.md). + +| Setting | Description | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Warm migration** | Choose whether this will be a warm or cold migration. A cold migration is when VMs are shut down at the start of migration. A warm migration is when VMs are shut down during the final switchover. | +| **Target namespace** | The target namespace for the migrated VMs. | +| **Disk decryption passphrases** | Provide a list of passphrases for [LUKS-encrypted devices](https://docs.fedoraproject.org/en-US/quick-docs/encrypting-drives-using-LUKS/#_encrypting_block_devices_using_dm_cryptluks) on the VMs you intend to migrate. | +| **Transfer Network** | Change the migration transfer network for this plan. If a migration transfer network is defined for the source provider and exists in the target namespace, it is used by default. Otherwise, the pod network is used. | +| **Preserve static IPs** | Choose whether to preserve the static IPs of the VMs migrated from vSphere. | +| **Root device** | Choose the root filesystem to convert. By default, the first root device is chosen in multi-boot systems. You can specify a root device (for example, `/dev/sda1`) for multi-boot systems, but if it is not detected as a root device, the migration will fail. | + +Perform the following steps to change a setting. + +1. Click the pencil icon next to each value. +2. Adjust the value in the pop-up window. +3. Click **Save** after making changes. + +### YAML Tab + +The **YAML** tab displays a YAML editor for the plan resource. + +View and edit the +[Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) for the plan on +this tab. + +### Virtual Machines Tab + +The **Virtual Machines** tab displays a table of VMs from the migration plan. + +You can view the status of your VM migrations in the **Pipeline status** column for each VM. + +#### Remove VMs from Plan + +Perform the following steps to remove VMs from your plan. You can only remove VMs from a plan if the plan has not yet +been started. + +1. Click the checkbox next to each VM that you want to remove from the plan. +2. Click on **Remove virtual machines**. +3. Click **Delete** in the pop-up window. + + :::info + + If you only have one VM remaining in your plan, delete the plan instead, as deleting all VMs from a plan is not + allowed. + + ::: + +### Resources Tab + +The **Resources** tab displays the calculated resources of your VMs from the migration plan. + +### Mappings tab + +The **Mappings** tab displays the network and storage mappings for the migration plan. + +#### Configure Plan Mappings + +The configurable settings are described in the following table. These were originally defined when you performed the +steps in [Create Migration Plans](./create-migration-plans.md). + +| Setting | Description | Example | +| --------------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| **Network map** | The source provider to target provider network map. Adjust the mapping, or leave the default mapping in place. | `VM Network` / `Pod Networking` | +| **Storage map** | The source provider to target provider storage map. Adjust the mapping, or leave the default mapping in place. | `vsanDatastore` / `spectro-storage-class` | + +Perform the following steps to change a setting. + +1. Click on **Edit mappings**. +2. Click on the **drop-down Menu** for each map and select a different option from the list. +3. Click **Update mappings** after making changes. + +### Hooks Tab + +The **Hooks** tab displays the migration hooks for the migration plan. + +#### Configure Plan Hooks + +Perform the following steps to enable a hook. + +1. Click on **Enable hook** toggle for either **Pre migration hook** or **Post migration hook**. + +2. The configurable settings are described in the following table. + + | Setting | Description | + | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **Hook runner image** | If enabling a pre or post migration hook, provide registry URL to the hook-runner or custom image. Make sure you specify the registry URL without the HTTP scheme `https://` or `http://`. For example, `quay.io/konveyor/hook-runner`. | + | **Ansible playbook** | You can optionally provide an [Ansible playbook](https://ansible.readthedocs.io/projects/runner/en/stable/intro/) for the hook. You can only specify a playbook if you are using a hook-runner image. | + +3. Click **Update hooks** after making changes. + +## Storage Maps + +Navigate to your storage maps by clicking **StorageMaps for virtualization** on the left **Main Menu**. A storage map +defines the mapping of source storage domains to target storage classes or datastores, ensuring VM disks are correctly +placed in the destination environment. + +Storage maps are visible on the **StorageMaps for virtualization** page once you have +[created a migration plan](./create-migration-plans.md). Click on a storage plan name to view the its details. + +## Network Maps + +Navigate to your network maps by clicking **NetworkMaps for virtualization** on the left **Main Menu**. A network map +defines the mapping of source networks to target networks, ensuring VM network interfaces are correctly connected in the +destination environment. + +Network maps are visible on the **NetworkMaps for virtualization** page once you have +[created a migration plan](./create-migration-plans.md). Click on a network plan name to view the its details. diff --git a/docs/docs-content/vm-management/vm-migration-assistant/cancel-active-migration-plans.md b/docs/docs-content/vm-management/vm-migration-assistant/cancel-active-migration-plans.md new file mode 100644 index 0000000000..b3d6416fab --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/cancel-active-migration-plans.md @@ -0,0 +1,56 @@ +--- +sidebar_label: "Cancel Active Migration Plans" +title: "Cancel Active Migration Plans" +description: "Learn how to cancel active migration plans in the VM Migration Assistant" +icon: " " +hide_table_of_contents: false +sidebar_position: 50 +tags: ["vmo", "vm migration assistant"] +--- + +Follow this guide if you need to cancel active migration plans in the VM Migration Assistant. An active migration plan +is a migration plan that has been started, but not yet completed. + +## Prerequisites + + +- The pack must be added to your cluster profile. Refer to [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) for guidance. + - The VM Migration Assistant service console must be accessible from a web browser. + +- An active migration plan. + +### Cancel VM Migration + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace drop-down Menu** to select your Kubernetes namespace for the migration. + +4. Click on the active migration plan name to view its details. + +5. Click on the **Virtual Machines** tab. + +6. Select the VMs that you want to stop from migrating. + +7. Click **Cancel**. + +8. Click **Yes, cancel** to confirm the cancellation. + +### Validate + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace drop-down Menu** to select your Kubernetes namespace for the migration. + +4. Click on the migration plan name to view its details. + +5. Click on the **Virtual Machines** tab. + +6. In the table, check that the migration status shown for each VM is **Cancelled**. + +## Resources + +- [Start Migration Plans](./start-migration-plans.md) diff --git a/docs/docs-content/vm-management/vm-migration-assistant/create-migration-plans.md b/docs/docs-content/vm-management/vm-migration-assistant/create-migration-plans.md new file mode 100644 index 0000000000..4955102615 --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/create-migration-plans.md @@ -0,0 +1,560 @@ +--- +sidebar_label: "Create Migration Plans" +title: "Create Migration Plans" +description: "Learn how to create migration plans using the VM Migration Assistant" +icon: " " +hide_table_of_contents: false +sidebar_position: 30 +tags: ["vmo", "vm migration assistant"] +--- + +Follow this guide to create migration plans using the VM Migration Assistant. + +## Limitations + +- You can only migrate VMs hosted in VMware vSphere 7.0 and 8.0. +- Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + +## Prerequisites + +- At least one source provider for the VMs to be migrated. Refer to + [Create Source Providers](./create-source-providers.md) for guidance. +- A healthy VMO cluster. Refer to the [Create a VMO Profile](../create-vmo-profile.md) for further guidance. + + - The VMO cluster must have network connectivity to vCenter and ESXi hosts, and the VMs you want to migrate. + + :::warning + + If you need to provision `Block` storage volumes during the VM migration process, add the following custom + configuration to your VMO cluster OS pack. Applying this configuration may cause a cluster repave. For more + information, refer to + [Repave Behaviors and Configurations](../../clusters/cluster-management/node-pool.md#repave-behavior-and-configuration) + + Additionally, we recommend provisioning volumes with the `ReadWriteMany` access mode to ensure that VMs can be + [live migrated](https://kubevirt.io/user-guide/compute/live_migration/#limitations). + + ```yaml + kubeadmconfig: + preKubeadmCommands: + # Start containerd with new configuration + - systemctl daemon-reload + - systemctl restart containerd + files: + - targetPath: /etc/containerd/config.toml + targetOwner: "root:root" + targetPermissions: "0644" + content: | + ## template: jinja + + # Use config version 2 to enable new configuration fields. + version = 2 + + imports = ["/etc/containerd/conf.d/*.toml"] + + [plugins] + [plugins."io.containerd.grpc.v1.cri"] + sandbox_image = "registry.k8s.io/pause:3.9" + device_ownership_from_security_context = true + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] + runtime_type = "io.containerd.runc.v2" + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] + SystemdCgroup = true + ``` + + ::: + +- One or more VMs hosted in VMware vSphere. Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + + - If you are migrating more than one VM in the same plan, they must all share the same network. + - For cold migrations, ensure that VMs operating Windows are shut down at the guest OS level. + - For warm migrations, + [Changed Block Tracking](https://knowledge.broadcom.com/external/article/315370/enabling-or-disabling-changed-block-trac.html) + must be enabled on your VMs. + + +- The pack must be added to your cluster profile. Refer to [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) for guidance. + - The VM Migration Assistant service console must be accessible from a web browser. + +- We recommend using a [ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/) to uninstall [VMware Tools](https://docs.vmware.com/en/VMware-Tools/index.html), and install the [QEMU Guest Agent](https://wiki.qemu.org/Features/GuestAgent) and [VirtiIO drivers](https://github.com/virtio-win/kvm-guest-drivers-windows) on your migrated VMs. Installing the QEMU agent and Virtio drivers enhances compatibility with [KVM](https://linux-kvm.org/page/Main_Page), and enables advanced features like live migration and accurate reporting of guest status. + + You can provide [virt-customize](https://github.com/kubev2v/forklift/commit/650d73d2308d73fe596666a2f097aefda32845f6) scripts inside a ConfigMap to automatically perform these actions on your VMs during migration. The ConfigMap must exist in your target namespace before migrating your VMs. + + +
+ Example steps to create a ConfigMap that deploys virt-customize scripts + + 1. Use the following example to create a YAML file named `configmap.yaml`. + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: forklift-virt-customize + namespace: my-vm-migration-namespace + data: + 00_linux_firstboot_install_vmtools.sh: | + #!/bin/bash + + set -eo pipefail + + # Global variables + LOGFILE="/var/log/vm_tools_management.log" + DRYRUN=false + + # Logging function + log() { + echo "[$(date +'%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOGFILE" + } + + # Function to detect the Linux distribution + detect_distro() { + if [ -f /etc/os-release ]; then + . /etc/os-release + echo "$ID" + elif [ -f /etc/lsb-release ]; then + . /etc/lsb-release + echo "$DISTRIB_ID" | tr '[:upper:]' '[:lower:]' + elif [ -f /etc/redhat-release ]; then + echo "rhel" + else + echo "unknown" + fi + } + + # Function to detect the system architecture + detect_arch() { + uname -m + } + + # Function to set package manager variables + set_package_manager() { + case "$distro" in + ubuntu|debian) + PKG_MANAGER="apt-get" + PKG_UPDATE="$PKG_MANAGER update" + PKG_INSTALL="$PKG_MANAGER install -y" + PKG_REMOVE="$PKG_MANAGER remove -y" + PKG_QUERY="dpkg -l" + ;; + rhel|centos|fedora) + if command -v dnf >/dev/null; then + PKG_MANAGER="dnf" + else + PKG_MANAGER="yum" + fi + PKG_UPDATE="$PKG_MANAGER makecache" + PKG_INSTALL="$PKG_MANAGER install -y" + PKG_REMOVE="$PKG_MANAGER remove -y" + PKG_QUERY="rpm -q" + ;; + opensuse|sles|opensuse-leap) + PKG_MANAGER="zypper" + PKG_UPDATE="$PKG_MANAGER refresh" + PKG_INSTALL="$PKG_MANAGER install -y" + PKG_REMOVE="$PKG_MANAGER remove -y" + PKG_QUERY="rpm -q" + ;; + arch) + PKG_MANAGER="pacman" + PKG_UPDATE="$PKG_MANAGER -Sy" + PKG_INSTALL="$PKG_MANAGER -S --noconfirm" + PKG_REMOVE="$PKG_MANAGER -Rns --noconfirm" + PKG_QUERY="pacman -Q" + ;; + *) + log "Error: Unsupported distribution" + exit 1 + ;; + esac + } + + # Function to get distribution-specific package names + get_package_name() { + local generic_name="$1" + case "$distro" in + ubuntu|debian) + case "$generic_name" in + qemu-guest-agent) echo "qemu-guest-agent" ;; + virtio-tools) echo "virtio-win" ;; + open-vm-tools) echo "open-vm-tools" ;; + *) echo "$generic_name" ;; + esac + ;; + rhel|centos|fedora) + case "$generic_name" in + qemu-guest-agent) echo "qemu-guest-agent" ;; + virtio-tools) echo "virtio-win" ;; + open-vm-tools) echo "open-vm-tools" ;; + *) echo "$generic_name" ;; + esac + ;; + opensuse|sles) + case "$generic_name" in + qemu-guest-agent) echo "qemu-guest-agent" ;; + virtio-tools) echo "virtio-drivers" ;; + open-vm-tools) echo "open-vm-tools" ;; + *) echo "$generic_name" ;; + esac + ;; + arch) + case "$generic_name" in + qemu-guest-agent) echo "qemu-guest-agent" ;; + virtio-tools) echo "linux-virtio" ;; + open-vm-tools) echo "open-vm-tools" ;; + *) echo "$generic_name" ;; + esac + ;; + esac + } + + # Function to update package manager repositories + update_repos() { + if [ "$DRYRUN" = true ]; then + log "Dry run: Would update package repositories" + return + fi + log "Updating package repositories..." + if $PKG_UPDATE; then + log "Package repositories updated successfully" + else + log "Error: Failed to update package repositories" + exit 1 + fi + } + + # Function to install packages + install_package() { + local package=$(get_package_name "$1") + if [ -z "$PKG_MANAGER" ]; then + log "Error: Package manager not set" + return 1 + fi + if [ "$DRYRUN" = true ]; then + log "Dry run: Would install $package" + return + fi + log "Installing $package..." + if $PKG_INSTALL "$package"; then + log "$package installed successfully" + else + log "Error: Failed to install $package" + return 1 + fi + } + + # Function to check if a package is installed + is_installed() { + local package=$(get_package_name "$1") + $PKG_QUERY "$package" >/dev/null 2>&1 + } + + # Function to handle Virtio drivers + handle_virtio_drivers() { + if lsmod | grep -qE "virtio_net|virtio_blk|virtio_scsi"; then + log "Virtio drivers are already installed and active." + else + log "Virtio drivers are not loaded. Attempting to install..." + if ! install_package virtio-tools; then + log "No separate virtio-tools package available. Virtio may be built into the kernel." + if [ "$DRYRUN" = false ]; then + modprobe virtio_net virtio_blk virtio_scsi || log "Failed to load Virtio modules" + else + log "Dry run: Would attempt to load Virtio modules" + fi + fi + fi + } + + # Function to handle QEMU guest agent + handle_qemu_agent() { + local package=$(get_package_name "qemu-guest-agent") + if is_installed "$package"; then + log "QEMU guest agent is already installed." + if [ "$DRYRUN" = false ]; then + if systemctl is-active --quiet qemu-guest-agent; then + log "QEMU guest agent service is running." + else + log "Starting QEMU guest agent service..." + systemctl start qemu-guest-agent || log "Failed to start QEMU guest agent service" + fi + else + log "Dry run: Would check and potentially start QEMU guest agent service" + fi + else + log "QEMU guest agent is not installed. Installing..." + if install_package "$package"; then + if [ "$DRYRUN" = false ]; then + log "Starting QEMU guest agent service..." + systemctl start qemu-guest-agent || log "Failed to start QEMU guest agent service" + else + log "Dry run: Would start QEMU guest agent service" + fi + fi + fi + } + + # Function to handle VMware Tools daemon (vmtoolsd) + handle_vmtoolsd() { + local package=$(get_package_name "open-vm-tools") + if is_installed "$package"; then + log "VMware Tools daemon (vmtoolsd) is installed." + if [ "$DRYRUN" = false ]; then + if pgrep -f vmware-vmx > /dev/null; then + log "Warning: VMware virtual machines are running. Skipping uninstallation." + return + fi + log "Uninstalling VMware Tools daemon..." + if $PKG_REMOVE "$package"; then + log "VMware Tools daemon uninstalled successfully." + else + log "Error: Failed to uninstall VMware Tools daemon." + fi + else + log "Dry run: Would uninstall VMware Tools daemon" + fi + else + log "VMware Tools daemon (vmtoolsd) is not installed." + fi + } + + # Function to check if running in a virtual environment + check_virtual_env() { + if [ -d /proc/vz ]; then + log "OpenVZ environment detected" + return 0 + elif [ -d /proc/xen ]; then + log "Xen environment detected" + return 0 + elif [ "$(systemd-detect-virt)" != "none" ]; then + log "Virtual environment detected: $(systemd-detect-virt)" + return 0 + else + log "No virtual environment detected" + return 1 + fi + } + + # Parse command line options + parse_options() { + while getopts ":hvqd" opt; do + case ${opt} in + h ) + echo "Usage: $0 [-h] [-v] [-q] [-d]" + echo " -h Display this help message" + echo " -v Verbose mode" + echo " -q Quiet mode" + echo " -d Dry run" + exit 0 + ;; + v ) + set -x + ;; + q ) + exec 1>/dev/null 2>&1 + ;; + d ) + DRYRUN=true + ;; + \? ) + echo "Invalid Option: -$OPTARG" 1>&2 + exit 1 + ;; + esac + done + shift $((OPTIND -1)) + } + + # Main script + main() { + parse_options "$@" + + log "Detecting system information..." + distro=$(detect_distro) + arch=$(detect_arch) + + log "Detected distribution: $distro" + log "Detected architecture: $arch" + + if [ "$distro" = "unknown" ]; then + log "Unable to detect distribution. Please proceed manually." + exit 1 + fi + + set_package_manager + + if ! check_virtual_env; then + log "Warning: This script is intended for virtual environments. Proceed with caution." + fi + + log "Ensuring package manager repositories are up to date..." + update_repos + + log "Handling Virtio drivers..." + handle_virtio_drivers + + log "Handling QEMU guest agent..." + handle_qemu_agent + + log "Handling VMware Tools daemon (vmtoolsd)..." + handle_vmtoolsd + + log "All tasks completed." + } + + main "$@" + + 01_linux_run.sh: | + #!/bin/bash + echo "running a run script. nothing to do" + + 00_win_firstboot.ps1: | + param ( + [string]$LogFile = "C:\vm_tools\installation-check.log", + [switch]$VerboseOutput = $false + ) + + # Function to log and write output + function Write-Log { + param ( + [string]$Message + ) + Write-Output $Message + Add-Content -Path $LogFile -Value $Message + } + + # Create or clear log file + if (Test-Path $LogFile) { + Clear-Content -Path $LogFile + } else { + New-Item -Path $LogFile -ItemType File -Force + } + + # Check for VirtIO Drivers + Write-Log "Checking for VirtIO Drivers..." + $VirtIODrivers = Get-WmiObject -Class Win32_PnPSignedDriver | Where-Object { + $_.DeviceName -like "*VirtIO*" -or $_.DriverProviderName -like "*Red Hat*" + } + if ($VirtIODrivers) { + Write-Log "VirtIO Drivers are installed." + } else { + Write-Log "VirtIO Drivers are NOT installed." + } + + # Check for QEMU Agent + Write-Log "Checking for QEMU Guest Agent..." + $QemuAgentInstalled = Get-WmiObject -Class Win32_Product | Where-Object { + $_.Name -like "*QEMU*" + } + if ($QemuAgentInstalled) { + Write-Log "QEMU Guest Agent is installed." + } else { + Write-Log "QEMU Guest Agent is NOT installed." + } + + # Check for VMware Tools (vmtoolsd) + Write-Log "Checking for VMware Tools (vmtoolsd)..." + $VmToolsInstalled = Get-Command -Name "vmtoolsd.exe" -ErrorAction SilentlyContinue + if ($VmToolsInstalled) { + Write-Log "VMware Tools (vmtoolsd) is installed." + } else { + Write-Log "VMware Tools (vmtoolsd) is NOT installed." + } + + # Verbose Output + if ($VerboseOutput) { + Get-Content -Path $LogFile + } + + Write-Log "Check completed. Log saved to $LogFile." + ``` + + 2. Make any changes that you need, but ensure that `metadata.name` is set to `forklift-virt-customize`, and `metadata.namespace` is set to your target VM migration namespace. + + Format rules: + + - Windows scripts must follow the regex `^([0-9]+_win_firstboot(([\w\-]*).ps1))$`. + - For example, `00_win_firstboot.ps1` is a PowerShell script that executes at boot. + - Linux scripts must follow the regex `^([0-9]+_linux_(run|firstboot)(([\w\-]*).sh))$`. + - `firstboot` means execute at first boot. + - `run` means execute after virt-v2v conversion, but before the VM starts. + - The number at the beginning of the key determines the script execution order. + + 3. Ensure that your terminal is [configured to access your VMO cluster](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) and issue the following command to create the ConfigMap on your cluster. + + ```shell + kubectl apply --filename configmap.yaml + ``` + +
+ +## Create Migration Plan + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace drop-down Menu** to select your Kubernetes namespace for the migration. + +4. In the top-right corner, click **Create Plan**. + +5. Click on your source provider to select it, the **Select virtual machines** table appears. + +6. For each VM that you want to migrate, click the checkbox next to the VM name. You can use the filters at the top of + the table to help you search. + +7. Once you have selected your VMs, click **Next**. + +8. Fill in the migration plan details. + + | Setting | Description | Example | + | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | + | **Plan name** | A unique name for your migration plan. | `myMigrationPlan` | + | **Target provider** | Select the target provider from the drop-down Menu. By default, this will be your host cluster. | `host` | + | **Target namespace** | Select the target namespace for the VM migration from the drop-down Menu. | `myVmMigrationNamespace` | + | **Network map** | A storage map defines the mapping of source storage domains to target storage classes or datastores, ensuring VM disks are correctly placed in the destination environment. Adjust the mapping, or leave the default mapping in place. | `VM Network` / `Pod Networking` | + | **Storage map** | A network map defines the mapping of source networks to target networks, ensuring VM network interfaces are correctly connected in the destination environment. Adjust the mapping, or leave the default mapping in place. | `vsanDatastore` / `spectro-storage-class` | + +9. Click **Create migration plan**. The **Details** tab for the plan is then displayed. + +10. Review the **Details** tab and check that the following settings are configured to your requirements. + + If you need to change a setting, click the pencil icon next to each value and adjust it in the pop-up window. Click + **Save** after making changes. + + | Setting | Description | + | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **Warm migration** | Choose whether this will be a warm or cold migration. A cold migration is when VMs are shut down at the start of migration. A warm migration is when VMs are shut down during the final switchover. | + | **Target namespace** | The target namespace for the migrated VMs. | + | **Disk decryption passphrases** | Provide a list of passphrases for [LUKS-encrypted devices](https://docs.fedoraproject.org/en-US/quick-docs/encrypting-drives-using-LUKS/#_encrypting_block_devices_using_dm_cryptluks) on the VMs you intend to migrate. | + | **Transfer Network** | Change the migration transfer network for this plan. If a migration transfer network is defined for the source provider and exists in the target namespace, it is used by default. Otherwise, the pod network is used. | + | **Preserve static IPs** | Choose whether to preserve the static IPs of the VMs migrated from vSphere. | + | **Root device** | Choose the root filesystem to convert. By default, the first root device is chosen in multi-boot systems. You can specify a root device, for example, `/dev/sda1`, for multi-boot systems, but if it is not detected as a root device, the migration will fail. | + + If you want to explore all additional plan settings, refer to the + [Additional Configuration - Plan Settings](./additional-configuration.md#plan-settings) for guidance. + +## Validate + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace drop-down Menu** to select your Kubernetes namespace for the migration. + +4. In the table, click on a plan name to view the plan details. + +5. In the **Details** tab, the plan status displays as **Ready**. + + ![Plan Ready Status](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_plan-ready.webp) + +## Next Steps + +You can now start your migration plans in the VM Migration Assistant. Refer to the +[Start Migration Plans](./start-migration-plans.md) guide to start migrations. + +## Resources + +- [Create Source Providers](./create-source-providers.md) +- [Additional Configuration](./additional-configuration.md) diff --git a/docs/docs-content/vm-management/vm-migration-assistant/create-source-providers.md b/docs/docs-content/vm-management/vm-migration-assistant/create-source-providers.md new file mode 100644 index 0000000000..4e8cc02010 --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/create-source-providers.md @@ -0,0 +1,258 @@ +--- +sidebar_label: "Create Source Providers" +title: "Create Source Providers" +description: "Learn how to create source providers using the VM Migration Assistant" +icon: " " +hide_table_of_contents: false +sidebar_position: 20 +tags: ["vmo", "vm migration assistant"] +--- + +Follow this guide to create source providers using the VM Migration Assistant. Source providers host the Virtual +Machines (VMs) that need to be migrated. + +## Limitations + +- You can only migrate VMs hosted in VMware vSphere 7.0 and 8.0. +- Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + +## Prerequisites + + +- The pack must be added to your cluster profile. Refer to [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) for guidance. + - The VM Migration Assistant service console must be accessible from a web browser. + +- A healthy VMO cluster. Refer to the [Create a VMO Profile](../create-vmo-profile.md) for further guidance. + + - The VMO cluster must have network connectivity to vCenter and ESXi hosts, and the VMs you want to migrate. + + :::warning + + If you need to provision `Block` storage volumes during the VM migration process, add the following custom + configuration to your VMO cluster OS pack. Applying this configuration may cause a cluster repave. For more + information, refer to + [Repave Behaviors and Configurations](../../clusters/cluster-management/node-pool.md#repave-behavior-and-configuration) + + Additionally, we recommend provisioning volumes with the `ReadWriteMany` access mode to ensure that VMs can be + [live migrated](https://kubevirt.io/user-guide/compute/live_migration/#limitations). + + ```yaml + kubeadmconfig: + preKubeadmCommands: + # Start containerd with new configuration + - systemctl daemon-reload + - systemctl restart containerd + files: + - targetPath: /etc/containerd/config.toml + targetOwner: "root:root" + targetPermissions: "0644" + content: | + ## template: jinja + + # Use config version 2 to enable new configuration fields. + version = 2 + + imports = ["/etc/containerd/conf.d/*.toml"] + + [plugins] + [plugins."io.containerd.grpc.v1.cri"] + sandbox_image = "registry.k8s.io/pause:3.9" + device_ownership_from_security_context = true + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] + runtime_type = "io.containerd.runc.v2" + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] + SystemdCgroup = true + ``` + + ::: + +- A vCenter user account with the following necessary privileges to perform migrations. + + | **Privileges** | **Description** | + |----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| + | **[Virtual machine.Interaction.Power Off](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html)** | Allows shutting down a powered-on virtual machine, powering down its guest operating system. | + | **[Virtual machine.Interaction.Power On](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html)** | Enables starting a powered-off virtual machine or resuming a suspended one. | + | [**Virtual Machine Interaction Privileges** (all)](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-3D47149A-947D-4608-88B3-E5811129EFA8.html) | Allow creating, cloning, modifying, customizing, and managing templates, virtual machines, their files, and customization specifications, as well as performing disk and deployment-related operations. | + | **[Virtual machine.Snapshot management.Create snapshot](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-222FE721-0968-4E9E-9F98-7CB03E7185E8.html)** | Allows capturing the current state of a virtual machine as a snapshot. | + | **[Virtual machine.Snapshot management.Remove Snapshot](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-222FE721-0968-4E9E-9F98-7CB03E7185E8.html)** | Permits deletion of a snapshot from the snapshot history. | + + - Migrations can be optionally accelerated by providing credentials for the ESXi hosts where the VMs reside. +- One or more VMs hosted in VMware vSphere. Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + + - If you are migrating more than one VM in the same plan, they must all share the same network. + - For cold migrations, ensure that VMs operating Windows are shut down at the guest OS level. + - For warm migrations, + [Changed Block Tracking](https://knowledge.broadcom.com/external/article/315370/enabling-or-disabling-changed-block-trac.html) + must be enabled on your VMs. + +- We recommend providing a + [VMware Virtual Disk Development Kit (VDDK) image](https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/latest) + for the migration. This will significantly speed up the migration. The migration engine uses VDDK on the destination VMO cluster to read virtual disks from the source environment, transfer the data, and write it to the target storage. + + - You must build and host the VDDK image in your own image registry, which must be accessible to the destination VMO cluster for migrations. + + +
+ Example steps to build and upload VDDK image + + 1. Download the VDDK image from the + [Broadcom Developer Portal](https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/latest). + + 2. Decompress the downloaded image. + + ```shell + tar -xzf VMware-vix-disklib-.x86_64.tar.gz + ``` + + 3. Create a Dockerfile to build the VDDK image. + + ```shell + cat > Dockerfile < + USER 1001 + COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib + RUN mkdir -p /opt + ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"] + EOF + ``` + + Replace the `` with your chosen base image registry/repository (for example: `alpine:latest`). + + 4. Build the image. + + ```shell + docker buildx build --platform linux/amd64 --tag /vddk: . + ``` + + 5. Push the built image to your image registry. + + ```shell + docker push /vddk: + ``` + +
+ + - If you are using a private image registry, you must create a Secret to be used for the migration. The Secret must be + created in the namespace where the VMs will be migrated to, and the `metadata.name` value must be + `vddk-image-pull-secret`. + + +
+ Example Secret Creation + + A Secret can be created by issuing the following command. + + ```shell + kubectl create secret docker-registry vddk-image-pull-secret \ + --docker-server=myRegistryServer \ + --docker-username=myUsername \ + --docker-password=myPassword \ + --docker-email=myEmail \ + --kubeconfig=/path/to/myKubeconfig \ + --namespace=myVmMigrationNamespace \ + --output yaml + ``` + + This creates the Secret named `vddk-image-pull-secret` in your destination cluster under the namespace provided. + Ensure that this namespace matches the one you have chosen for the VM migration. + + ```yaml hideClipboard + apiVersion: v1 + kind: Secret + metadata: + name: vddk-image-pull-secret + data: + .dockerconfigjson: #base64 encoded dockerconfigjson + type: kubernetes.io/dockerconfigjson + ``` + + The `data.dockerconfigjson` value contains your registry credentials, which have been base64 encoded by the command. + + Alternatively, you can manually encode a `config.json` by issuing the following command. + + ```shell + cat path/to/config.json | base64 --wrap=0 + ``` + + ```text hideClipboard title="Example output" + eyJodHRwczovL2luZGV4L ... J0QUl6RTIifX0= + ``` + + You can then use this output to create your own Secret manually. Ensure that the `metadata.name` is set to + `vddk-image-pull-secret`. + + Refer to the + [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) + and + [kubectl create secret docker-registry](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_docker-registry/) + documentation for additional guidance. + +
+ +## Create Source Provider + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Providers for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + + If you want to create a new namespace, click **Create Namespace**. Provide the **Name**, **Labels**, and select the + **Default network policy** in the drop-down Menu. After filling in the details, click **Create**. + +4. Click **Create Provider**. + +5. Select your provider type and click **Create provider**. + +6. Fill in the provider details. + + :::warning + + The Open Virtual Appliance (OVA) provider type is not supported. + + ::: + + | Setting | Description | + | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **Provider resource name** | A unique name for your provider. | + | **Endpoint type** | Select the type of endpoint to configure the connection. Choose **vCenter** if managing multiple hosts through a central server, or **ESXi** if connecting directly to a standalone host. | + | **URL** | Your vSphere / ESXi API endpoint for the SDK. You can specify a Full Qualified Domain Name (FQDN) or an IP address. For example, `https://vcenter.mycompany.com/sdk`. | + | **VDDK init image** | Provide the registry URL to the VMware Virtual Disk Development Kit (VDDK) image, or select **Skip VMware Virtual Disk Development Kit (VDDK) SDK acceleration, migration may be slow.**. If providing an image, make sure you specify the registry URL without the HTTP scheme `https://` or `http://`. For example, `docker.io/myorganization/vddk:v8.0.3`. | + | **Username** | Your vSphere / ESXi account username. For example, `user@vsphere.local`. | + | **Password** | Your vSphere / ESXi account password. | + | **Skip certificate validation** | Enabling this option bypasses x509 CA verification. In production environments, do not enable if you are using a custom registry with self-signed SSL certificates, as the certificate can be provided in the next setting. | + | **CA certificate** | Upload or drag and drop the CA certificate for your vSphere / ESXi. You can also use the **Fetch certificate from URL** option if your CA certificate is not third party or self-managed. | + +7. Click **Create Provider**. The provider details are then shown. + +8. If you need to change a setting, click the pencil icon next to each value and adjust it in the pop-up window. Click + **Save** after making changes. + +If you want to explore additional settings, refer to the +[Additional Configuration - Provider Settings](./additional-configuration.md#provider-settings) for guidance. + +## Validate + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Providers for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + +4. In the table, click on a provider name to view the provider details. + +5. In the **Details** tab, the provider status displays as **Ready**. + + ![Provider Ready Status](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_provider-ready.webp) + +## Next Steps + +You can now create migration plans in the VM Migration Assistant. Refer to the +[Create Migration Plans](./create-migration-plans.md) guide to start creating your plans. + +## Resources + +- [Create VM Migration Assistant Profile](./create-vm-migration-assistant-profile.md) +- [Additional Configuration](./additional-configuration.md) diff --git a/docs/docs-content/vm-management/vm-migration-assistant/create-vm-migration-assistant-profile.md b/docs/docs-content/vm-management/vm-migration-assistant/create-vm-migration-assistant-profile.md new file mode 100644 index 0000000000..b7fae88f95 --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/create-vm-migration-assistant-profile.md @@ -0,0 +1,90 @@ +--- +sidebar_label: "Create a VM Migration Assistant Profile" +title: "Create a VM Migration Assistant Profile" +description: "Learn how to create a Virtual Machine Migration Assistant cluster profile and add it your VMO cluster" +icon: " " +hide_table_of_contents: false +sidebar_position: 10 +tags: ["vmo", "vm migration assistant"] +--- + +Follow these steps to create a new add-on profile that will be applied to your existing VMO cluster. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a cluster profile. Refer to the + [Permissions](../../user-management/palette-rbac/permissions.md#operations) documentation for more information. +- A healthy VMO cluster. Refer to the [Create a VMO Profile](../create-vmo-profile.md) for further guidance. + - The VMO cluster must have network connectivity to vCenter and ESXi hosts, and the VMs you want to migrate. + +## Create the Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. + +4. Fill out the basic information and ensure you select **Add-on** for the type. Click on **Next** to continue. + +5. Select **Add New Pack**. In the next window that displays, enter **Virtual Machine Migration Assistant** in the + **Filter by name** search bar. The pack is in the **Spectro Addon Repo** registry. Select the pack when it appears. + +6. Palette displays the YAML file in the editor on the right. You can edit the YAML as needed. Review the following + service console parameters and adjust to your requirements if needed. + + | **Parameter** | **Description** | **Default Value** | + | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | + | `console.service.type` | Choose whether to use a `NodePort`, `LoadBalancer`, or an `Ingress` to expose the service console. | `"LoadBalancer"` | + | `console.service.ingress.domain` | If using `Ingress`, specify the domain name that the `Ingress` resource will use to expose the VM Migration Assistant service console. | `vm-migration.spectrocloud.dev` | + +7. Click on **Confirm & Create**. + +8. In the following screen, click **Next**. + +9. Click **Finish Configuration**. + +10. From the **Main Menu**, choose **Clusters** and select your VMO cluster. + +11. In the **Profile** tab, click **Add add-on profile (+)** and select the newly created profile. Click **Confirm**. + +12. Click **Save** to deploy the VM Migration Assistant to your cluster. + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to **Profiles** from the left **Main Menu**. + +3. Locate the newly created profile in the list. + +4. From the left **Main Menu**, click **Clusters** and select your cluster. + +5. In the **Overview** tab, ensure that the cluster status and health is **Running** and **Healthy**. + +6. In the **Overview** tab, the **Services** list displays the **vm-migration** service with a clickable port. Click the + port to access the VM Migration Assistant service console. The port number is based on your service console + configuration. + +## Access the VM Migration Assistant Service Console + +You can access the service console based on how you configured the VM Migration Assistant YAML manifest when +[creating the cluster profile](#create-the-profile). + +The following examples are for each `console.service.type`: + +- If you configured an `Ingress` with a `domain` of `vm-migration.mycompany.dev`, you can access the service console at + `https://vm-migration.mycompany.dev`. + +- If you configured a `NodePort` with a `nodePort` of `30443`, you can access the service console at + `https://:30443`. + + +- If you configured a `LoadBalancer` with a `loadBalancerPort` of `443`, you can access the service console at + `https://`, where the load balancer IP address is provided by your load balancer solution (such as + ). + +## Next Steps + +You can now use the VM Migration Assistant to migrate your VMs. Refer to the +[Create Source Providers](./create-source-providers.md) guide to start creating your source providers. diff --git a/docs/docs-content/vm-management/vm-migration-assistant/start-migration-plans.md b/docs/docs-content/vm-management/vm-migration-assistant/start-migration-plans.md new file mode 100644 index 0000000000..019b097e80 --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/start-migration-plans.md @@ -0,0 +1,257 @@ +--- +sidebar_label: "Start Migration Plans" +title: "Start Migration Plans" +description: "Learn how to start migration plans in the VM Migration Assistant" +icon: " " +hide_table_of_contents: false +sidebar_position: 40 +tags: ["vmo", "vm migration assistant"] +--- + +Follow this guide to start migration plans in the VM Migration Assistant. + +## Start Cold Migration Plans + +### Prerequisites + +- A cold migration plan created and ready to start. Refer to [Create Migration Plans](./create-migration-plans.md) for + guidance. +- One or more VMs hosted in VMware vSphere. Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + + - If you are migrating more than one VM in the same plan, they must all share the same network. + - Ensure that VMs operating Windows are shut down at the virtualized OS level. + + +- The pack must be added to your cluster profile. Refer to [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) for guidance. + - The VM Migration Assistant service console must be accessible from a web browser. + +### Start Cold Migration + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + +4. Find your plan in the table and click the plan name to view its details. + +5. Click **Start migration** in the top-right corner. + +6. Click **Start** in the pop-up window. + +7. Click on the **Virtual Machines** tab. + +8. In the table, view the status of the migration for each VM in the **Pipeline status** column. Each circle represents + a stage in the migration. You can click on a circle to view additional details. + + ![Pipeline Status](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-status-cold.webp) + + View additional pipeline details by clicking on the **>** icon next to the VM name. + + ![Pipeline Details](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-cold.webp) + +### Validate + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + +4. In the table, click on a plan name to view the plan details. + +5. In the **Details** tab, the plan status displays as **Successful**. + +6. Log in to [Palette](https://console.spectrocloud.com). + +7. From the left **Main Menu**, select **Clusters**. Then, choose the VMO cluster that you migrated your VMs to. The + **Overview** tab appears. + +8. Select the **Virtual Machines** tab. Then, select your migration namespace from the **Namespace** drop-down Menu. + Your migrated VMs appear. + +9. For each migrated VM, click on the **three-dot Menu** and select **Start**. Your VMs are now ready to use. + + ![Start migrated VM](/migrate-vm-kubevirt-guide/vm-management_create-manage-vm_migrate-vm-kubevirt_start_migrated_vm.webp) + +## Start Warm Migration Plans + +### Prerequisites + +- A warm migration plan created and ready to start. Refer to [Create Migration Plans](./create-migration-plans.md) for + guidance. +- One or more VMs hosted in VMware vSphere. Only VMs whose operating systems are included under + [`virt-v2v` supported guest systems](https://libguestfs.org/virt-v2v-support.1.html) can be migrated. + + - If you are migrating more than one VM in the same plan, they must all share the same network. + - [Changed Block Tracking](https://knowledge.broadcom.com/external/article/315370/enabling-or-disabling-changed-block-trac.html) + must be enabled on your VMs. + +- Terminal access to execute [kubectl](https://kubernetes.io/docs/reference/kubectl/) commands on your VMO cluster. + + +- The pack must be added to your cluster profile. Refer to [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) for guidance. + - The VM Migration Assistant service console must be accessible from a web browser. + +### Start Warm Migration + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + +4. Find your plan in the table and click the plan name to view its details. + +5. Click **Start migration** in the top-right corner. + +6. Click **Start** in the pop-up window. + +7. Click on the **Virtual Machines** tab. + +8. In the table, view the status of the migration for each VM in the **Pipeline status** column. Each circle represents + a stage in the migration. You can click on a circle to view additional details. + + ![Pipeline Status](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-status-warm.webp) + + View additional pipeline details by clicking on the **>** icon next to the VM name. + + ![Pipeline Details](/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-warm.webp) + +9. Open a terminal session and + [configure access](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) + to your VMO cluster. + +10. Issue the following command to check for [datavolumes](https://kubevirt.io/2018/CDI-DataVolumes.html) in your chosen + VM migration namespace. + + ```shell + kubectl get datavolume --namespace + ``` + + Example output. + + ```shell + NAME PHASE PROGRESS AGE + vm-migration-cold-vm-140860-92mwk Succeeded 100% 30m + vm-migration-warm-vm-140852-p446x Importing 75% 20m + ``` + + The datavolume names are uniquely generated using the `--` template. + +11. Issue the following command to output the datavolume details to your terminal. + + ```shell + kubectl describe datavolume --namespace + ``` + + When the status of the volume is paused and awaiting cutover, the warm migration is ready for the final cutover. + + +
+ Example output + + ```shell + Name: vm-migration-warm-vm-140852-p446x + Namespace: konveyor-forklift + Labels: migration=0ef09f8f-2a96-41cb-ab72-3f7cceb7f7b5 + plan=2e663a0f-2d49-45f1-ac2d-4406d3472da2 + vmID=vm-140852 + Annotations: cdi.kubevirt.io/storage.bind.immediate.requested: true + cdi.kubevirt.io/storage.deleteAfterCompletion: false + cdi.kubevirt.io/storage.usePopulator: true + forklift.konveyor.io/disk-source: [vsanDatastore2] f9564467-a3c8-851c-84ff-0cc47a92e4ca/migration01_2.vmdk + migration: 0ef09f8f-2a96-41cb-ab72-3f7cceb7f7b5 + plan: 2e663a0f-2d49-45f1-ac2d-4406d3472da2 + vmID: vm-140852 + API Version: cdi.kubevirt.io/v1beta1 + Kind: DataVolume + Metadata: + Creation Timestamp: 2024-11-25T12:43:50Z + Generate Name: vm-migration-warm-vm-140852- + Generation: 1 + Resource Version: 3534737 + UID: 83e32262-c480-4609-9029-d14fe69f65d6 + Spec: + Checkpoints: + Current: snapshot-140857 + Previous: snapshot-140856 + Source: + Vddk: + Backing File: [vsanDatastore2] f9564467-a3c8-851c-84ff-0cc47a92e4ca/migration01_2.vmdk + Secret Ref: vm-migration-warm-vm-140852-l9qjp + Thumbprint: E3:95:23:08:79:A6:6B:2B:B6:82:6F:34:A7:88:85:12:11:47:5D:B2 + URL: https://vcenter.mycompany.dev/sdk + Uuid: 4238710f-bdda-6ede-1870-b095b1c5dbd5 + Storage: + Resources: + Requests: + Storage: 60Gi + Storage Class Name: spectro-storage-class + Status: + Claim Name: vm-migration-warm-vm-140852-p446x + Conditions: + Last Heartbeat Time: 2024-11-25T13:43:50Z + Last Transition Time: 2024-11-25T13:43:50Z + Message: Data volume paused after warm sync + Reason: ImportPaused + Status: True + Type: Paused + Last Heartbeat Time: 2024-11-25T13:43:50Z + Last Transition Time: 2024-11-25T13:43:50Z + Message: Warm sync completed successfully; awaiting cutover + Reason: SyncComplete + Status: True + Type: Succeeded + Progress: + Current: 59Gi + Total: 60Gi + Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal WarmSyncStarted 25m datavolume-controller Warm sync started for the VM + Normal WarmSyncComplete 10m datavolume-controller Warm sync completed; awaiting cutover + Warning Paused 5m datavolume-controller Data volume paused; awaiting migration cutover + ``` + +
+ +12. Return to the VM Migration Assistant. + +13. On the **Virtual Machines** tab for your plan, click the **Actions** drop-down Menu in the top-right corner. + +14. Click **Cutover**. + +15. In the pop-up window, click on the calendar icon and select a cutover date in the calendar. Next, click on the clock + icon and select a cutover time from the drop-down Menu. + +16. Click **Set cutover** once complete. + +When the cutover is initiated, the source VM is powered off, and a final synchronization of remaining disk changes is +completed. The target VM is then created and powered on on the destination VMO cluster. + +### Validate + +1. [Access the VM Migration Assistant service console](./create-vm-migration-assistant-profile.md#access-the-vm-migration-assistant-service-console). + +2. From the left **Main Menu**, select **Plans for virtualization**. + +3. In the top-left corner, use the **Namespace** drop-down Menu to select your Kubernetes namespace for the migration. + +4. In the table, click on a plan name to view the plan details. + +5. In the **Details** tab, the plan status displays as **Successful**. + +6. Log in to [Palette](https://console.spectrocloud.com). + +7. From the left **Main Menu**, select **Clusters**. Then, choose the VMO cluster that you migrated your VMs to. The + **Overview** tab appears. + +8. Select the **Virtual Machines** tab. Then, select your migration namespace from the **Namespace** drop-down Menu. + Your migrated VMs appear with a **Running** status. + +## Resources + +- [Create Migration Plans](./create-migration-plans.md) +- [Cancel Active Migration Plans](./cancel-active-migration-plans.md) diff --git a/docs/docs-content/vm-management/vm-migration-assistant/vm-migration-assistant.md b/docs/docs-content/vm-management/vm-migration-assistant/vm-migration-assistant.md new file mode 100644 index 0000000000..a087d392bb --- /dev/null +++ b/docs/docs-content/vm-management/vm-migration-assistant/vm-migration-assistant.md @@ -0,0 +1,47 @@ +--- +sidebar_label: "VM Migration Assistant" +title: "Virtual Machine Migration Assistant" +description: + "Learn about how Palette's Virtual Machine (VM) Migration Assistant can be used to migrate VMs to your Virtual Machine + Orchestrator cluster." +icon: " " +hide_table_of_contents: false +sidebar_position: 60 +tags: ["vmo"] +--- + +During large scale Kubernetes adoptions, workloads are often rehosted or migrated instead of being redeployed from +scratch. This process allows system administrators to copy the application, together with its data, to a Kubernetes +cluster. However, the migration of Virtual Machines (VMs) can be time consuming if done manually, so it is often +automated with open source tools such as [Forklift](https://github.com/kubev2v/forklift). + + + +Palette provides the ability to migrate VMs from VMware vSphere to Virtual Machine Orchestrator (VMO) using the Virtual Machine Migration Assistant (VM Migration Assistant). +The is an +add-on pack that can be added to your cluster profile and works alongside the + pack. + + + +## Access Pack + +To get access to the Virtual Machine Migration Assistant Pack, contact our support team by sending an email to +support@spectrocloud.com. Include the following information in your email: + +- Your full name +- Organization name (if applicable) +- Email address +- Phone number (optional) + +Our dedicated Support team will promptly get in touch with you to provide the necessary credentials and assistance +required to get access. + +## Resources + +- [Create a VM Migration Assistant Cluster Profile](./create-vm-migration-assistant-profile.md) +- [Create Source Providers](./create-source-providers.md) +- [Create Migration Plans](./create-migration-plans.md) +- [Start Migration Plans](./start-migration-plans.md) +- [Cancel Active Migration Plans](./cancel-active-migration-plans.md) +- [Additional Configuration](./additional-configuration.md) diff --git a/package-lock.json b/package-lock.json index a979709081..ffea9acbb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "@ant-design/icons": "^5.5.1", "@commitlint/cli": "^19.5.0", "@commitlint/config-conventional": "^19.2.2", - "@docusaurus/core": "^3.6.1", - "@docusaurus/faster": "^3.6.1", - "@docusaurus/plugin-client-redirects": "^3.6.1", - "@docusaurus/plugin-ideal-image": "^3.6.1", - "@docusaurus/preset-classic": "^3.6.1", - "@docusaurus/types": "^3.6.1", + "@docusaurus/core": "^3.6.3", + "@docusaurus/faster": "^3.6.3", + "@docusaurus/plugin-client-redirects": "^3.6.3", + "@docusaurus/plugin-ideal-image": "^3.6.3", + "@docusaurus/preset-classic": "^3.6.3", + "@docusaurus/types": "^3.6.3", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", @@ -102,34 +102,34 @@ "license": "MIT" }, "node_modules/@algolia/autocomplete-core": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.6.tgz", - "integrity": "sha512-lkDoW4I7h2kKlIgf3pUt1LqvxyYKkVyiypoGLlUnhPSnCpmeOwudM6rNq6YYsCmdQtnDQoW5lUNNuj6ASg3qeg==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", "license": "MIT", "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.17.6", - "@algolia/autocomplete-shared": "1.17.6" + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" } }, "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.6.tgz", - "integrity": "sha512-17NnaacuFzSWVuZu4NKzVeaFIe9Abpw8w+/gjc7xhZFtqj+GadufzodIdchwiB2eM2cDdiR3icW7gbNTB3K2YA==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.17.6" + "@algolia/autocomplete-shared": "1.17.7" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.6.tgz", - "integrity": "sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.17.6" + "@algolia/autocomplete-shared": "1.17.7" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -137,9 +137,9 @@ } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.6.tgz", - "integrity": "sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -171,15 +171,15 @@ } }, "node_modules/@algolia/client-abtesting": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.13.0.tgz", - "integrity": "sha512-6CoQjlMi1pmQYMQO8tXfuGxSPf6iKX5FP9MuMe6IWmvC81wwTvOehnwchyBl2wuPVhcw2Ar53K53mQ60DAC64g==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.15.0.tgz", + "integrity": "sha512-FaEM40iuiv1mAipYyiptP4EyxkJ8qHfowCpEeusdHUC4C7spATJYArD2rX3AxkVeREkDIgYEOuXcwKUbDCr7Nw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -251,24 +251,24 @@ } }, "node_modules/@algolia/client-common": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.13.0.tgz", - "integrity": "sha512-2SP6bGGWOTN920MLZv8s7yIR3OqY03vEe4U+vb2MGdL8a/8EQznF3L/nTC/rGf/hvEfZlX2tGFxPJaF2waravg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.15.0.tgz", + "integrity": "sha512-IofrVh213VLsDkPoSKMeM9Dshrv28jhDlBDLRcVJQvlL8pzue7PEB1EZ4UoJFYS3NSn7JOcJ/V+olRQzXlJj1w==", "license": "MIT", "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-insights": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.13.0.tgz", - "integrity": "sha512-ldHTe+LVgC6L4Wr6doAQQ7Ku0jAdhaaPg1T+IHzmmiRZb2Uq5OsjW2yC65JifOmzPCiMkIZE2mGRpWgkn5ktlw==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.15.0.tgz", + "integrity": "sha512-bDDEQGfFidDi0UQUCbxXOCdphbVAgbVmxvaV75cypBTQkJ+ABx/Npw7LkFGw1FsoVrttlrrQbwjvUB6mLVKs/w==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -296,30 +296,30 @@ } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.13.0.tgz", - "integrity": "sha512-pYo0jbLUtPDN1r341UHTaF2fgN5rbaZfDZqjPRKPM+FRlRmxFxqFQm1UUfpkSUWYGn7lECwDpbKYiKUf81MTwA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.15.0.tgz", + "integrity": "sha512-wu8GVluiZ5+il8WIRsGKu8VxMK9dAlr225h878GGtpTL6VBvwyJvAyLdZsfFIpY0iN++jiNb31q2C1PlPL+n/A==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.13.0.tgz", - "integrity": "sha512-s2ge3uZ6Zg2sPSFibqijgEYsuorxcc8KVHg3I95nOPHvFHdnBtSHymhZvq4sp/fu8ijt/Y8jLwkuqm5myn+2Sg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.15.0.tgz", + "integrity": "sha512-Z32gEMrRRpEta5UqVQA612sLdoqY3AovvUPClDfMxYrbdDAebmGDVPtSogUba1FZ4pP5dx20D3OV3reogLKsRA==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -332,15 +332,15 @@ "license": "MIT" }, "node_modules/@algolia/ingestion": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.13.0.tgz", - "integrity": "sha512-fm5LEOe4FPDOc1D+M9stEs8hfcdmbdD+pt9og5shql6ueTZJANDbFoQhDOpiPJizR/ps1GwmjkWfUEywx3sV+Q==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.15.0.tgz", + "integrity": "sha512-MkqkAxBQxtQ5if/EX2IPqFA7LothghVyvPoRNA/meS2AW2qkHwcxjuiBxv4H6mnAVEPfJlhu9rkdVz9LgCBgJg==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -362,15 +362,15 @@ } }, "node_modules/@algolia/monitoring": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.13.0.tgz", - "integrity": "sha512-e8Hshlnm2G5fapyUgWTBwhJ22yXcnLtPC4LWZKx7KOvv35GcdoHtlUBX94I/sWCJLraUr65JvR8qOo3LXC43dg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.15.0.tgz", + "integrity": "sha512-QPrFnnGLMMdRa8t/4bs7XilPYnoUXDY8PMQJ1sf9ZFwhUysYYhQNX34/enoO0LBjpoOY6rLpha39YQEFbzgKyQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -435,12 +435,12 @@ } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.13.0.tgz", - "integrity": "sha512-NV6oSCt5lFuzfsVQoSBpewEWf/h4ySr7pv2bfwu9yF/jc/g39pig8+YpuqsxlRWBm/lTGVA2V0Ai9ySwrNumIA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.15.0.tgz", + "integrity": "sha512-Po/GNib6QKruC3XE+WKP1HwVSfCDaZcXu48kD+gwmtDlqHWKc7Bq9lrS0sNZ456rfCKhXksOmMfUs4wRM/Y96w==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -453,24 +453,24 @@ "license": "MIT" }, "node_modules/@algolia/requester-fetch": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.13.0.tgz", - "integrity": "sha512-094bK4rumf+rXJazxv3mq6eKRM0ep5AxIo8T0YmOdldswQt79apeufFiPLN19nHEWH22xR2FelimD+T/wRSP+Q==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.15.0.tgz", + "integrity": "sha512-rOZ+c0P7ajmccAvpeeNrUmEKoliYFL8aOR5qGW5pFq3oj3Iept7Y5mEtEsOBYsRt6qLnaXn4zUKf+N8nvJpcIw==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.13.0.tgz", - "integrity": "sha512-JY5xhEYMgki53Wm+A6R2jUpOUdD0zZnBq+PC5R1TGMNOYL1s6JjDrJeMsvaI2YWxYMUSoCnRoltN/yf9RI8n3A==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.15.0.tgz", + "integrity": "sha512-b1jTpbFf9LnQHEJP5ddDJKE2sAlhYd7EVSOWgzo/27n/SfCoHfqD0VWntnWYD83PnOKvfe8auZ2+xCb0TXotrQ==", "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0" + "@algolia/client-common": "5.15.0" }, "engines": { "node": ">= 14.0.0" @@ -3267,420 +3267,1512 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.1", + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", + "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "license": "MIT", + "node_modules/@csstools/color-helpers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", + "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "engines": { - "node": ">=10.0.0" + "node": ">=18" } }, - "node_modules/@docsearch/css": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.7.0.tgz", - "integrity": "sha512-1OorbTwi1eeDmr0v5t+ckSRlt1zM5GHjm92iIl3kUu7im3GHuP+csf6E0WBg8pdXQczTWP9J9+o9n+Vg6DH5cQ==", - "license": "MIT" - }, - "node_modules/@docsearch/react": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.7.0.tgz", - "integrity": "sha512-8e6tdDfkYoxafEEPuX5eE1h9cTkLvhe4KgoFkO5JCddXSQONnN1FHcDZRI4r8894eMpbYq6rdJF0dVYh8ikwNQ==", + "node_modules/@csstools/css-calc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz", + "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.17.6", - "@algolia/autocomplete-preset-algolia": "1.17.6", - "@docsearch/css": "3.7.0", - "algoliasearch": "^5.12.0" + "engines": { + "node": ">=18" }, "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" } }, - "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.13.0.tgz", - "integrity": "sha512-pS3qyXiWTwKnrt/jE79fqkNqZp7kjsFNlJDcBGkSWid74DNc6DmArlkvPqyLxnoaYGjUGACT6g56n7E3mVV2TA==", + "node_modules/@csstools/css-color-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz", + "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@csstools/color-helpers": "^5.0.1", + "@csstools/css-calc": "^2.1.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" } }, - "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.13.0.tgz", - "integrity": "sha512-RnCfOSN4OUJDuMNHFca2M8lY64Tmw0kQOZikge4TknTqHmlbKJb8IbJE7Rol79Z80W2Y+B1ydcjV7DPje4GMRA==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "engines": { + "node": ">=18" }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "engines": { - "node": ">= 14.0.0" + "node": ">=18" } }, - "node_modules/@docsearch/react/node_modules/@algolia/recommend": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.13.0.tgz", - "integrity": "sha512-53/wW96oaj1FKMzGdFcZ/epygfTppLDUvgI1thLkd475EtVZCH3ZZVUNCEvf1AtnNyH1RnItkFzX8ayWCpx2PQ==", + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", + "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "@algolia/client-common": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docsearch/react/node_modules/algoliasearch": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.13.0.tgz", - "integrity": "sha512-04lyQX3Ev/oLYQx+aagamQDXvkUUfX1mwrLrus15+9fNaYj28GDxxEzbwaRfvmHFcZyoxvup7mMtDTTw8SrTEQ==", - "license": "MIT", - "dependencies": { - "@algolia/client-abtesting": "5.13.0", - "@algolia/client-analytics": "5.13.0", - "@algolia/client-common": "5.13.0", - "@algolia/client-insights": "5.13.0", - "@algolia/client-personalization": "5.13.0", - "@algolia/client-query-suggestions": "5.13.0", - "@algolia/client-search": "5.13.0", - "@algolia/ingestion": "1.13.0", - "@algolia/monitoring": "1.13.0", - "@algolia/recommend": "5.13.0", - "@algolia/requester-browser-xhr": "5.13.0", - "@algolia/requester-fetch": "5.13.0", - "@algolia/requester-node-http": "5.13.0" - }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "engines": { - "node": ">= 14.0.0" + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" } }, - "node_modules/@docusaurus/babel": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.1.tgz", - "integrity": "sha512-JcKaunW8Ml2nTnfnvFc55T00Y+aCpNWnf1KY/gG+wWxHYDH0IdXOOz+k6NAlEAerW8+VYLfUqRIqHZ7N/DVXvQ==", + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", "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/runtime-corejs3": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "babel-plugin-dynamic-import-node": "^2.3.3", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=18.0" + "node": ">=4" } }, - "node_modules/@docusaurus/bundler": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.1.tgz", - "integrity": "sha512-vHSEx8Ku9x/gfIC6k4xb8J2nTxagLia0KvZkPZhxfkD1+n8i+Dj4BZPWTmv+kCA17RbgAvECG0XRZ0/ZEspQBQ==", - "license": "MIT", + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz", + "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.6.1", - "@docusaurus/cssnano-preset": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "autoprefixer": "^10.4.14", - "babel-loader": "^9.2.1", - "clean-css": "^5.3.2", - "copy-webpack-plugin": "^11.0.0", - "css-loader": "^6.8.1", - "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.1", - "null-loader": "^4.0.1", - "postcss": "^8.4.26", - "postcss-loader": "^7.3.3", - "react-dev-utils": "^12.0.1", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.95.0", - "webpackbar": "^6.0.1" + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": ">=18.0" + "node": ">=18" }, "peerDependencies": { - "@docusaurus/faster": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz", + "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "color-convert": "^2.0.1" + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz", + "integrity": "sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz", + "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "color-name": "~1.1.4" + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@docusaurus/bundler/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/@docusaurus/bundler/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "license": "MIT", + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "license": "ISC", + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz", + "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.0.9" + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", - "license": "MIT", + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz", + "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=18" }, "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "license": "MIT", + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz", + "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "license": "MIT", + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz", + "integrity": "sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", + "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "license": "MIT", + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", + "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, - "node_modules/@docusaurus/bundler/node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "license": "MIT", + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss-selector-parser": "^7.0.0" } }, - "node_modules/@docusaurus/bundler/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", "license": "MIT", "dependencies": { - "css-tree": "~2.2.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz", + "integrity": "sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", + "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz", + "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", + "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz", + "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz", + "integrity": "sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz", + "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz", + "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz", + "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz", + "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz", + "integrity": "sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz", + "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.0", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.0.tgz", + "integrity": "sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==", + "license": "MIT" + }, + "node_modules/@docsearch/react": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.0.tgz", + "integrity": "sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.0", + "algoliasearch": "^5.12.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.15.0.tgz", + "integrity": "sha512-lho0gTFsQDIdCwyUKTtMuf9nCLwq9jOGlLGIeQGKDxXF7HbiAysFIu5QW/iQr1LzMgDyM9NH7K98KY+BiIFriQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.15.0.tgz", + "integrity": "sha512-LfaZqLUWxdYFq44QrasCDED5bSYOswpQjSiIL7Q5fYlefAAUO95PzBPKCfUhSwhb4rKxigHfDkd81AvEicIEoA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.15.0.tgz", + "integrity": "sha512-5eupMwSqMLDObgSMF0XG958zR6GJP3f7jHDQ3/WlzCM9/YIJiWIUoJFGsko9GYsA5xbLDHE/PhWtq4chcCdaGQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.15.0.tgz", + "integrity": "sha512-Yf3Swz1s63hjvBVZ/9f2P1Uu48GjmjCN+Esxb6MAONMGtZB1fRX8/S1AhUTtsuTlcGovbYLxpHgc7wEzstDZBw==", + "license": "MIT", + "dependencies": { + "@algolia/client-abtesting": "5.15.0", + "@algolia/client-analytics": "5.15.0", + "@algolia/client-common": "5.15.0", + "@algolia/client-insights": "5.15.0", + "@algolia/client-personalization": "5.15.0", + "@algolia/client-query-suggestions": "5.15.0", + "@algolia/client-search": "5.15.0", + "@algolia/ingestion": "1.15.0", + "@algolia/monitoring": "1.15.0", + "@algolia/recommend": "5.15.0", + "@algolia/requester-browser-xhr": "5.15.0", + "@algolia/requester-fetch": "5.15.0", + "@algolia/requester-node-http": "5.15.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.3.tgz", + "integrity": "sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==", + "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/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.3.tgz", + "integrity": "sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.6.3", + "@docusaurus/cssnano-preset": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "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.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "postcss-preset-env": "^10.1.0", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/bundler/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/bundler/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/bundler/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/bundler/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@docusaurus/bundler/node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@docusaurus/bundler/node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/@docusaurus/bundler/node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/@docusaurus/bundler/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/@docusaurus/bundler/node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/@docusaurus/bundler/node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/@docusaurus/bundler/node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/@docusaurus/bundler/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/@docusaurus/bundler/node_modules/csso/node_modules/css-tree": { @@ -3709,15 +4801,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/@docusaurus/bundler/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/@docusaurus/bundler/node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -3733,6 +4816,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@docusaurus/bundler/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/@docusaurus/bundler/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -4256,6 +5348,15 @@ "url": "https://opencollective.com/svgo" } }, + "node_modules/@docusaurus/bundler/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/@docusaurus/bundler/node_modules/webpackbar": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", @@ -4296,18 +5397,18 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.1.tgz", - "integrity": "sha512-cDKxPihiM2z7G+4QtpTczS7uxNfNG6naSqM65OmAJET0CFRHbc9mDlLFtQF0lsVES91SHqfcGaaLZmi2FjdwWA==", - "license": "MIT", - "dependencies": { - "@docusaurus/babel": "3.6.1", - "@docusaurus/bundler": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.3.tgz", + "integrity": "sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.6.3", + "@docusaurus/bundler": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "boxen": "^6.2.1", "chalk": "^4.1.2", "chokidar": "^3.5.3", @@ -4441,9 +5542,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.1.tgz", - "integrity": "sha512-ZxYUmNeyQHW2w4/PJ7d07jQDuxzmKr9uPAQ6IVe5dTkeIeV0mDBB3jOLeJkNoI42Ru9JKEqQ9aVDtM9ct6QHnw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.3.tgz", + "integrity": "sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==", "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", @@ -5136,13 +6237,13 @@ } }, "node_modules/@docusaurus/faster": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.6.1.tgz", - "integrity": "sha512-W3a9m7Q/fEeOpOw9/XktLCHRtp1sV2AdZWMCjH3kP1jY1TDyLFFiHJ0+1uwVpOw4/oPJqZSTRKP+IdW4+65NgQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.6.3.tgz", + "integrity": "sha512-cHad4m/SPDEMRHJTLsGCe194NVYwD4D3ebCd1WvjJtbq7EJSkZ0u7WULY9pccQfHcv01tbrdUixzzJn0jVAWVg==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.6.1", - "@rspack/core": "^1.0.14", + "@docusaurus/types": "3.6.3", + "@rspack/core": "^1.1.1", "@swc/core": "^1.7.39", "@swc/html": "^1.7.39", "browserslist": "^4.24.2", @@ -5153,12 +6254,15 @@ }, "engines": { "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" } }, "node_modules/@docusaurus/logger": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.1.tgz", - "integrity": "sha512-OvetI/nnOMBSqCkUzKAQhnIjhxduECK4qTu3tq/8/h/qqvLsvKURojm04WPE54L+Uy+UXMas0hnbBJd8zDlEOw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.3.tgz", + "integrity": "sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==", "license": "MIT", "dependencies": { "chalk": "^4.1.2", @@ -5239,12 +6343,12 @@ } }, "node_modules/@docusaurus/lqip-loader": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.6.1.tgz", - "integrity": "sha512-H/VVvnvFupFhQ81FuTyA/XHxEZPKh99T6Wg6KgN+/yvcn7869RdgrlDhKDnXZ7j2u80eFsVNjAcPfW1cSAtK6A==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.6.3.tgz", + "integrity": "sha512-GlQIhVpskcD7T1Lm/eYR+T0ZurEly3291t/KIJCRZcl3ggVcpRlPDXVx3X2o6O5ESClEt5V5ev0i1J9UaCw8IQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", + "@docusaurus/logger": "3.6.3", "file-loader": "^6.2.0", "lodash": "^4.17.21", "sharp": "^0.32.3", @@ -5255,14 +6359,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.1.tgz", - "integrity": "sha512-KPIsYi0S3X3/rNrW3V1fgOu5t6ahYWc31zTHHod8pacFxdmk9Uf6uuw+Jd6Cly1ilgal+41Ku+s0gmMuqKqiqg==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.3.tgz", + "integrity": "sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -5294,12 +6398,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.1.tgz", - "integrity": "sha512-J+q1jgm7TnEfVIUZImSFeLA1rghb6nwtoB9siHdcgKpDqFJ9/S7xhQL2aEKE7iZMZYzpu+2F390E9A7GkdEJNA==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", + "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.6.1", + "@docusaurus/types": "3.6.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -5326,16 +6430,16 @@ } }, "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.6.1.tgz", - "integrity": "sha512-gY1LEQw4zSLSPNVxZk9mDj5ct+sJNux0SiY1PbMiI9sK8xXqkTC7QuRyrxRPelSZX9K4nyhK8PjYbVXAN+GUWQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.6.3.tgz", + "integrity": "sha512-fQDCxoJCO1jXNQGQmhgYoX3Yx+Z2xSbrLf3PBET6pHnsRk6gGW/VuCHcfQuZlJzbTxN0giQ5u3XcQQ/LzXftJA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "eta": "^2.2.0", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -5350,19 +6454,19 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.1.tgz", - "integrity": "sha512-FUmsn3xg/XD/K/4FQd8XHrs92aQdZO5LUtpHnRvO1/6DY87SMz6B6ERAN9IGQQld//M2/LVTHkZy8oVhQZQHIQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.3.tgz", + "integrity": "sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "cheerio": "1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -5384,20 +6488,20 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.1.tgz", - "integrity": "sha512-Uq8kyn5DYCDmkUlB9sWChhWghS4lUFNiQU+RXcAXJ3qCVXsBpPsh6RF+npQG1N+j4wAbjydM1iLLJJzp+x3eMQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.3.tgz", + "integrity": "sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -5416,16 +6520,16 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.1.tgz", - "integrity": "sha512-TZtL+2zq20gqGalzoIT2rEF1T4YCZ26jTvlCJXs78+incIajfdHtmdOq7rQW0oV7oqTjpGllbp788nY/vY9jgw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.3.tgz", + "integrity": "sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -5439,14 +6543,14 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.1.tgz", - "integrity": "sha512-DeKPZtoVExDSYCbzoz7y5Dhc6+YPqRWfVGwEEUyKopSyQYefp0OV8hvASmbJCn2WyThRgspOUhog3FSEhz+agw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.3.tgz", + "integrity": "sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -5460,14 +6564,14 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.1.tgz", - "integrity": "sha512-ZEoERiDHxSfhaEeT35ukQ892NzGHWiUvfxUsnPiRuGEhMoQlxMSp60shBuSZ1sUKuZlndoEl5qAXJg09Wls/Sg==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.3.tgz", + "integrity": "sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -5479,14 +6583,14 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.1.tgz", - "integrity": "sha512-u/E9vXUsZxYaV6Brvfee8NiH/iR0cMml9P/ifz4EpH/Jfxdbw8rbCT0Nm/h7EFgEY48Uqkl5huSbIvFB9n8aTQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.3.tgz", + "integrity": "sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -5499,14 +6603,14 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.1.tgz", - "integrity": "sha512-By+NKkGYV8tSo8/RyS1OXikOtqsko5jJZ/uioJfBjsBGgSbiMJ+Y/HogFBke0mgSvf7NPGKZTbYm5+FJ8YUtPQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.3.tgz", + "integrity": "sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -5518,17 +6622,17 @@ } }, "node_modules/@docusaurus/plugin-ideal-image": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.6.1.tgz", - "integrity": "sha512-hiGRPPlsM02aEOPlQc9rVnrckbVR6HswG7yDpZOtBEhw+ysXFsl/8gzAxFBL4ogKjN28WrlMCn/6IIkxY/EyOQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.6.3.tgz", + "integrity": "sha512-y5Pi4UH8wsFUEFPzjzo1GEtb9vfi5VfWTH/ONifDW84ldYaZBPzVM4AIVWcuNPlYG+p4eYwHE4eTuJFe2iupKQ==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/lqip-loader": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/lqip-loader": "3.6.3", "@docusaurus/responsive-loader": "^1.7.0", - "@docusaurus/theme-translations": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@slorber/react-ideal-image": "^0.0.12", "react-waypoint": "^10.3.0", "sharp": "^0.32.3", @@ -5550,17 +6654,17 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.1.tgz", - "integrity": "sha512-i8R/GTKew4Cufb+7YQTwfPcNOhKTJzZ1VZ5OqQwI9c3pZK2TltQyhqKDVN94KCTbSSKvOYYytYfRAB2uPnH1/A==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.3.tgz", + "integrity": "sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==", "license": "MIT", "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -5574,24 +6678,24 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.1.tgz", - "integrity": "sha512-b90Y1XRH9e+oa/E3NmiFEFOwgYUd+knFcZUy81nM3FJs038WbEA0T55NQsuPW0s7nOsCShQ7dVFyKxV+Wp31Nw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/plugin-content-blog": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/plugin-content-pages": "3.6.1", - "@docusaurus/plugin-debug": "3.6.1", - "@docusaurus/plugin-google-analytics": "3.6.1", - "@docusaurus/plugin-google-gtag": "3.6.1", - "@docusaurus/plugin-google-tag-manager": "3.6.1", - "@docusaurus/plugin-sitemap": "3.6.1", - "@docusaurus/theme-classic": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-search-algolia": "3.6.1", - "@docusaurus/types": "3.6.1" + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.3.tgz", + "integrity": "sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/plugin-debug": "3.6.3", + "@docusaurus/plugin-google-analytics": "3.6.3", + "@docusaurus/plugin-google-gtag": "3.6.3", + "@docusaurus/plugin-google-tag-manager": "3.6.3", + "@docusaurus/plugin-sitemap": "3.6.3", + "@docusaurus/theme-classic": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-search-algolia": "3.6.3", + "@docusaurus/types": "3.6.3" }, "engines": { "node": ">=18.0" @@ -5636,24 +6740,24 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.1.tgz", - "integrity": "sha512-5lVUmIXk7zp+n9Ki2lYWrmhbd6mssOlKCnnDJvY4QDi3EgjRisIu5g4yKXoWTIbiqE7m7q/dS9cbeShEtfkKng==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/plugin-content-blog": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/plugin-content-pages": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-translations": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.3.tgz", + "integrity": "sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", @@ -5684,15 +6788,15 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.1.tgz", - "integrity": "sha512-18iEYNpMvarGfq9gVRpGowSZD24vZ39Iz4acqaj64180i54V9el8tVnhNr/wRvrUm1FY30A1NHLqnMnDz4rYEQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.3.tgz", + "integrity": "sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==", "license": "MIT", "dependencies": { - "@docusaurus/mdx-loader": "3.6.1", - "@docusaurus/module-type-aliases": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -5719,19 +6823,19 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.1.tgz", - "integrity": "sha512-BjmuiFRpQP1WEm8Mzu1Bb0Wdas6G65VHXDDNr7XTKgbstxalE6vuxt0ioXTDFS2YVep5748aVhKvnxR9gm2Liw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.3.tgz", + "integrity": "sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==", "license": "MIT", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.6.1", - "@docusaurus/logger": "3.6.1", - "@docusaurus/plugin-content-docs": "3.6.1", - "@docusaurus/theme-common": "3.6.1", - "@docusaurus/theme-translations": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-validation": "3.6.1", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -5759,9 +6863,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.1.tgz", - "integrity": "sha512-bNm5G6sueUezvyhsBegA1wwM38yW0BnqpZTE9KHO2yKnkERNMaV5x/yPJ/DNCOHjJtCcJ5Uz55g2AS75Go31xA==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.3.tgz", + "integrity": "sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==", "license": "MIT", "dependencies": { "fs-extra": "^11.1.1", @@ -5772,9 +6876,9 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.1.tgz", - "integrity": "sha512-hCB1hj9DYutVYBisnPNobz9SzEmCcf1EetJv09O49Cov3BqOkm+vnnjB3d957YJMtpLGQoKBeN/FF1DZ830JwQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", + "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", "license": "MIT", "dependencies": { "@mdx-js/mdx": "^3.0.0", @@ -5793,14 +6897,14 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.1.tgz", - "integrity": "sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.3.tgz", + "integrity": "sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/types": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -5825,12 +6929,12 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.1.tgz", - "integrity": "sha512-LX1qiTiC0aS8c92uZ+Wj2iNCNJyYZJIKY8/nZDKNMBfo759VYVS3RX3fKP3DznB+16sYp7++MyCz/T6fOGaRfw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.3.tgz", + "integrity": "sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==", "license": "MIT", "dependencies": { - "@docusaurus/types": "3.6.1", + "@docusaurus/types": "3.6.3", "tslib": "^2.6.0" }, "engines": { @@ -5838,14 +6942,14 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.1.tgz", - "integrity": "sha512-+iMd6zRl5cJQm7nUP+7pSO/oAXsN79eHO34ME7l2YJt4GEAr70l5kkD58u2jEPpp+wSXT70c7x2A2lzJI1E8jw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.3.tgz", + "integrity": "sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==", "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.6.1", - "@docusaurus/utils": "3.6.1", - "@docusaurus/utils-common": "3.6.1", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", @@ -10180,9 +11284,9 @@ "license": "Apache-2.0" }, "node_modules/@swc/html": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html/-/html-1.9.2.tgz", - "integrity": "sha512-HoRqmYbxribu9thQ8vDshh6mgVcs2MSF0lEdoRBUBGcXbLwOMdCQMncbJoVguy0ehmmOzBwt+9qnP58IY+RWbg==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html/-/html-1.9.3.tgz", + "integrity": "sha512-32AOIHc2zclkZFdgYvAWdebsnYQyMp3MOevQWXZzk5Ti5cw0gbDNki55lT6tSpPCHyGbSrTe7K33rKxvRn9uhQ==", "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" @@ -10191,22 +11295,22 @@ "node": ">=14" }, "optionalDependencies": { - "@swc/html-darwin-arm64": "1.9.2", - "@swc/html-darwin-x64": "1.9.2", - "@swc/html-linux-arm-gnueabihf": "1.9.2", - "@swc/html-linux-arm64-gnu": "1.9.2", - "@swc/html-linux-arm64-musl": "1.9.2", - "@swc/html-linux-x64-gnu": "1.9.2", - "@swc/html-linux-x64-musl": "1.9.2", - "@swc/html-win32-arm64-msvc": "1.9.2", - "@swc/html-win32-ia32-msvc": "1.9.2", - "@swc/html-win32-x64-msvc": "1.9.2" + "@swc/html-darwin-arm64": "1.9.3", + "@swc/html-darwin-x64": "1.9.3", + "@swc/html-linux-arm-gnueabihf": "1.9.3", + "@swc/html-linux-arm64-gnu": "1.9.3", + "@swc/html-linux-arm64-musl": "1.9.3", + "@swc/html-linux-x64-gnu": "1.9.3", + "@swc/html-linux-x64-musl": "1.9.3", + "@swc/html-win32-arm64-msvc": "1.9.3", + "@swc/html-win32-ia32-msvc": "1.9.3", + "@swc/html-win32-x64-msvc": "1.9.3" } }, "node_modules/@swc/html-darwin-arm64": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.9.2.tgz", - "integrity": "sha512-ZUdSXezeJrYgzrUv5alsjBI5wPMks/DyskHypOD6XwFJq1rFYRlFkiiwgf1U/uVSZnseIoXezBURnPliWpkrHQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.9.3.tgz", + "integrity": "sha512-14hZma2ANDXSp+Ok7akCGijfSglbicLPdZtzkzNVizIb3Py8NQerUGaRKZsZjzPGxz5Qlb6SNKjwN6ORivXBQQ==", "cpu": [ "arm64" ], @@ -10220,9 +11324,9 @@ } }, "node_modules/@swc/html-darwin-x64": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-darwin-x64/-/html-darwin-x64-1.9.2.tgz", - "integrity": "sha512-5/8xDeP10VjEP5MhMAe83EDeh3rlB+BHbZB6mVFxP1NuEfY1DlW+z3+wPKp0qsvkPcK+82nZu43hystTkCXHhQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-x64/-/html-darwin-x64-1.9.3.tgz", + "integrity": "sha512-XhSVogvSE1R6ZhZ3pE8F7u5NPjEYmTsWeyn1dM170SXaKZ6uPTBwuuwWWYsSIgkHVucsLl75eZ3r65PV/bXHjQ==", "cpu": [ "x64" ], @@ -10236,9 +11340,9 @@ } }, "node_modules/@swc/html-linux-arm-gnueabihf": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.9.2.tgz", - "integrity": "sha512-AJQ8FpbVC2hx0upqe15b/i8PUpye5B8W0sEw8bOz/PAV7Ub+P+qFXBPmu1qFz+GLtIE+yAvhA8GRrReXJvALQQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.9.3.tgz", + "integrity": "sha512-MkUxy34NtV2MQQGi0uzbmu7iGo95w6e3WUmLrA5Ee85yOME3XGqnKE4qZJYzdUCK5U8sOhRu9ObrcST678d4MA==", "cpu": [ "arm" ], @@ -10252,9 +11356,9 @@ } }, "node_modules/@swc/html-linux-arm64-gnu": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.9.2.tgz", - "integrity": "sha512-rhTeDQjXo9gYK8OPGTsgXl1a0pKPnXLHeF2DfRGpAdOqChRdS3GEOX2Qawl7+fRjJ5UGs0/lOXo+BWwVcPyrSw==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.9.3.tgz", + "integrity": "sha512-+PsKNvbJzfRtS+IQMM4WE271r60MjIkl6hrVKwIpCaOu/Idf/2/XBZno5jKVkxtOs/ICYvqHA6t7ZglNh7Bpxw==", "cpu": [ "arm64" ], @@ -10268,9 +11372,9 @@ } }, "node_modules/@swc/html-linux-arm64-musl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.9.2.tgz", - "integrity": "sha512-zJGhfYARjVaQ1bJ0NBsmoG7GYqXx/Qi5WnDEvq+jK5Ue9u6++Xeit5X9vVx67+B20w0ecngM5RqD9Yoc34MT4g==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.9.3.tgz", + "integrity": "sha512-PLnkXYQyCZ6Z17pg+/M6QYl7Cc/9q5qWUEBaah5tBxDg2/blsIu78Ff/Pw7K+hhHYzwx5coO2ikmRRrzCyfNoQ==", "cpu": [ "arm64" ], @@ -10284,9 +11388,9 @@ } }, "node_modules/@swc/html-linux-x64-gnu": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.9.2.tgz", - "integrity": "sha512-acbKaR7/dnYJ8g0GeQGEmWTmMuEMr3+8blJJ/ksxHjIopsWjNplLaKNCM8GfvF7vjIr9zgtLgP3NB+e3OLagKg==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.9.3.tgz", + "integrity": "sha512-TDs0vtdScvfPBWJAu5sbpLmeb4HYLLlNtujl856PlYmJKV6uQ3gg1WdaJNREWTsxZ5iqSjjj3mY3IhIgAuvQrA==", "cpu": [ "x64" ], @@ -10300,9 +11404,9 @@ } }, "node_modules/@swc/html-linux-x64-musl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.9.2.tgz", - "integrity": "sha512-wuNhqpkN1ZZWj/4RGHH+Cz1tjs7NfEu53en13YzDjwfPxsIfnbksQ0UD/uEVp8l8alsniJ9EokzXgfenmjDvlQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.9.3.tgz", + "integrity": "sha512-YhN14GgB3c0UwmPOFMCtTAE4qXTYChMhbzPBNEoJfWR7qEWR1mDeLpow91TMxcboEhFFFxpOkHvl2IbGpPLeNA==", "cpu": [ "x64" ], @@ -10316,9 +11420,9 @@ } }, "node_modules/@swc/html-win32-arm64-msvc": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.9.2.tgz", - "integrity": "sha512-x2H2aWZX4HbU09rDWsf6W7fS0ApJwNBlthBDlMZj6gGzTgkRQtNwD/gpg3eRZmu5DxsnmBZ2a/rxxiU1IMv5mA==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.9.3.tgz", + "integrity": "sha512-tO9mxD9lyA/ZwjQH3x9nM4OtyYdUB2mRvZ6/8HpZmCHh2dcc1pQI69cFbS4iP1i1yRFPqQSzlhPyoSp5Y6Hlfw==", "cpu": [ "arm64" ], @@ -10332,9 +11436,9 @@ } }, "node_modules/@swc/html-win32-ia32-msvc": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.9.2.tgz", - "integrity": "sha512-4bMY6HHAEVtX8buJm69XVs5sucxce9gyEzcNCXy2rfXAG9kxClE/ZbMWhXl3z6nYRWKBuoPoaL2eio1dEAvyTQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.9.3.tgz", + "integrity": "sha512-NGxkb6r5xhSpd/9utpK5zZHZ1WIEsXYLENN8jQODa0YmrRPj6xYMf8/jRg94IVBxpGcWrVnW9IxledmmdjaOsg==", "cpu": [ "ia32" ], @@ -10348,9 +11452,9 @@ } }, "node_modules/@swc/html-win32-x64-msvc": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.9.2.tgz", - "integrity": "sha512-HbxGfXT3KzSlo8uvoiQL8Q9ZnWzxHGYoe2emwFS5FeQuR01LMF0MWB3r2NhAYGx+DlD2h/3BR/hSM1qiDjl9VQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.9.3.tgz", + "integrity": "sha512-z5Ptkq+xLA1/+KqyaCEEXpL2hIISODIYgCIZkxYIcbqOAEixdM+PhI529QFAmfFHUVeMja2OhEKJcFGmo/2oEA==", "cpu": [ "x64" ], @@ -16209,6 +17313,44 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "6.4.1", "dev": true, @@ -16220,6 +17362,68 @@ "postcss": "^8.0.9" } }, + "node_modules/css-has-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.1.tgz", + "integrity": "sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/css-loader": { "version": "6.8.1", "license": "MIT", @@ -16295,6 +17499,28 @@ "node": ">=0.10.0" } }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/css-select": { "version": "5.1.0", "license": "BSD-2-Clause", @@ -16344,6 +17570,22 @@ "dev": true, "license": "MIT" }, + "node_modules/cssdb": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.1.tgz", + "integrity": "sha512-KwEPys7lNsC8OjASI8RrmwOYYDcm0JOW9zQhcV83ejYcQkirTEyeAGui8aO2F5PiS6SLpxuTzl6qlMElIdsgIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, "node_modules/cssesc": { "version": "3.0.0", "license": "MIT", @@ -29925,9 +31167,9 @@ } }, "node_modules/lightningcss": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.28.1.tgz", - "integrity": "sha512-KRDkHlLlNj3DWh79CDt93fPlRJh2W1AuHV0ZSZAMMuN7lqlsZTV5842idfS1urWG8q9tc17velp1gCXhY7sLnQ==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.28.2.tgz", + "integrity": "sha512-ePLRrbt3fgjXI5VFZOLbvkLD5ZRuxGKm+wJ3ujCqBtL3NanDHPo/5zicR5uEKAPiIjBYF99BM4K4okvMznjkVA==", "license": "MPL-2.0", "dependencies": { "detect-libc": "^1.0.3" @@ -29940,22 +31182,22 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.28.1", - "lightningcss-darwin-x64": "1.28.1", - "lightningcss-freebsd-x64": "1.28.1", - "lightningcss-linux-arm-gnueabihf": "1.28.1", - "lightningcss-linux-arm64-gnu": "1.28.1", - "lightningcss-linux-arm64-musl": "1.28.1", - "lightningcss-linux-x64-gnu": "1.28.1", - "lightningcss-linux-x64-musl": "1.28.1", - "lightningcss-win32-arm64-msvc": "1.28.1", - "lightningcss-win32-x64-msvc": "1.28.1" + "lightningcss-darwin-arm64": "1.28.2", + "lightningcss-darwin-x64": "1.28.2", + "lightningcss-freebsd-x64": "1.28.2", + "lightningcss-linux-arm-gnueabihf": "1.28.2", + "lightningcss-linux-arm64-gnu": "1.28.2", + "lightningcss-linux-arm64-musl": "1.28.2", + "lightningcss-linux-x64-gnu": "1.28.2", + "lightningcss-linux-x64-musl": "1.28.2", + "lightningcss-win32-arm64-msvc": "1.28.2", + "lightningcss-win32-x64-msvc": "1.28.2" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.28.1.tgz", - "integrity": "sha512-VG3vvzM0m/rguCdm76DdobNeNJnHK+jWcdkNLFWHLh9YCotRvbRIt45JxwcHlIF8TDqWStVLTdghq5NaigVCBQ==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.28.2.tgz", + "integrity": "sha512-/8cPSqZiusHSS+WQz0W4NuaqFjquys1x+NsdN/XOHb+idGHJSoJ7SoQTVl3DZuAgtPZwFZgRfb/vd1oi8uX6+g==", "cpu": [ "arm64" ], @@ -29973,9 +31215,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.28.1.tgz", - "integrity": "sha512-O7ORdislvKfMohFl4Iq7fxKqdJOuuxArcglVI3amuFO5DJ0wfV3Gxgi1JRo49slfr7OVzJQEHLG4muTWYM5cTQ==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.28.2.tgz", + "integrity": "sha512-R7sFrXlgKjvoEG8umpVt/yutjxOL0z8KWf0bfPT3cYMOW4470xu5qSHpFdIOpRWwl3FKNMUdbKtMUjYt0h2j4g==", "cpu": [ "x64" ], @@ -29993,9 +31235,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.28.1.tgz", - "integrity": "sha512-b7sF89B31kYYijxVcFO7l5u6UNA862YstNu+3YbLl/IQKzveL4a5cwR5cdpG+OOhErg/c2u9WCmzZoX2I5GBvw==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.28.2.tgz", + "integrity": "sha512-l2qrCT+x7crAY+lMIxtgvV10R8VurzHAoUZJaVFSlHrN8kRLTvEg9ObojIDIexqWJQvJcVVV3vfzsEynpiuvgA==", "cpu": [ "x64" ], @@ -30013,9 +31255,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.28.1.tgz", - "integrity": "sha512-p61kXwvhUDLLzkWHjzSFfUBW/F0iy3jr3CWi3k8SKULtJEsJXTI9DqRm9EixxMSe2AMBQBt4auTYiQL4B1N51A==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.28.2.tgz", + "integrity": "sha512-DKMzpICBEKnL53X14rF7hFDu8KKALUJtcKdFUCW5YOlGSiwRSgVoRjM97wUm/E0NMPkzrTi/rxfvt7ruNK8meg==", "cpu": [ "arm" ], @@ -30033,9 +31275,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.28.1.tgz", - "integrity": "sha512-iO+fN9hOMmzfwqcG2/BgUtMKD48H2JO/SXU44fyIwpY2veb65QF5xiRrQ9l1FwIxbGK3231KBYCtAqv+xf+NsQ==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.28.2.tgz", + "integrity": "sha512-nhfjYkfymWZSxdtTNMWyhFk2ImUm0X7NAgJWFwnsYPOfmtWQEapzG/DXZTfEfMjSzERNUNJoQjPAbdqgB+sjiw==", "cpu": [ "arm64" ], @@ -30053,9 +31295,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.28.1.tgz", - "integrity": "sha512-dnMHeXEmCUzHHZjaDpQBYuBKcN9nPC3nPFKl70bcj5Bkn5EmkcgEqm5p035LKOgvAwk1XwLpQCML6pXmCwz0NQ==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.28.2.tgz", + "integrity": "sha512-1SPG1ZTNnphWvAv8RVOymlZ8BDtAg69Hbo7n4QxARvkFVCJAt0cgjAw1Fox0WEhf4PwnyoOBaVH0Z5YNgzt4dA==", "cpu": [ "arm64" ], @@ -30073,9 +31315,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.28.1.tgz", - "integrity": "sha512-7vWDISaMUn+oo2TwRdf2hl/BLdPxvywv9JKEqNZB/0K7bXwV4XE9wN/C2sAp1gGuh6QBA8lpjF4JIPt3HNlCHA==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.28.2.tgz", + "integrity": "sha512-ZhQy0FcO//INWUdo/iEdbefntTdpPVQ0XJwwtdbBuMQe+uxqZoytm9M+iqR9O5noWFaxK+nbS2iR/I80Q2Ofpg==", "cpu": [ "x64" ], @@ -30093,9 +31335,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.28.1.tgz", - "integrity": "sha512-IHCu9tVGP+x5BCpA2rF3D04DBokcBza/a8AuHQU+1AiMKubuMegPwcL7RatBgK4ztFHeYnnD5NdhwhRfYMAtNA==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.28.2.tgz", + "integrity": "sha512-alb/j1NMrgQmSFyzTbN1/pvMPM+gdDw7YBuQ5VSgcFDypN3Ah0BzC2dTZbzwzaMdUVDszX6zH5MzjfVN1oGuww==", "cpu": [ "x64" ], @@ -30113,9 +31355,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.28.1.tgz", - "integrity": "sha512-Erm72kHmMg/3h350PTseskz+eEGBM17Fuu79WW2Qqt0BfWSF1jHHc12lkJCWMYl5jcBHPs5yZdgNHtJ7IJS3Uw==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.28.2.tgz", + "integrity": "sha512-WnwcjcBeAt0jGdjlgbT9ANf30pF0C/QMb1XnLnH272DQU8QXh+kmpi24R55wmWBwaTtNAETZ+m35ohyeMiNt+g==", "cpu": [ "arm64" ], @@ -30133,9 +31375,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.28.1.tgz", - "integrity": "sha512-ZPQtvx+uQBzrSdHH8p4H3M9Alue+x369TPZAA3b4K3d92FPhpZCuBG04+HQzspam9sVeID9mI6f3VRAs2ezaEA==", + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.28.2.tgz", + "integrity": "sha512-3piBifyT3avz22o6mDKywQC/OisH2yDK+caHWkiMsF82i3m5wDBadyCjlCQ5VNgzYkxrWZgiaxHDdd5uxsi0/A==", "cpu": [ "x64" ], @@ -56515,70 +57757,204 @@ "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, "engines": { "node": ">=4" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", + "node_modules/postcss-calc": { + "version": "8.2.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "node_modules/postcss": { - "version": "8.4.38", + "node_modules/postcss-color-functional-notation": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz", + "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "github", + "url": "https://github.com/sponsors/csstools" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ { "type": "github", - "url": "https://github.com/sponsors/ai" + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "dev": true, - "license": "MIT", + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "postcss-selector-parser": "^6.0.9", + "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "postcss": "^8.2.2" + "postcss": "^8.4" } }, "node_modules/postcss-colormin": { @@ -56613,6 +57989,142 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-custom-media": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", + "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", + "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", + "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-discard-comments": { "version": "5.1.2", "dev": true, @@ -56671,6 +58183,195 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz", + "integrity": "sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-lab-function": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz", + "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/postcss-load-config": { "version": "3.1.4", "dev": true, @@ -56719,6 +58420,31 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-logical": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.0.0.tgz", + "integrity": "sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/postcss-merge-idents": { "version": "5.1.1", "dev": true, @@ -56877,6 +58603,90 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nesting": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", + "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.0.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", + "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-normalize-charset": { "version": "5.1.0", "dev": true, @@ -57013,6 +58823,28 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/postcss-ordered-values": { "version": "5.1.3", "dev": true, @@ -57028,6 +58860,190 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.1.tgz", + "integrity": "sha512-wqqsnBFD6VIwcHHRbhjTOcOi4qRVlB26RwSr0ordPj7OubRRxdWebv/aLjKLRR8zkZrbxZyuus03nOIgC5elMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^5.0.1", + "@csstools/postcss-color-function": "^4.0.6", + "@csstools/postcss-color-mix-function": "^3.0.6", + "@csstools/postcss-content-alt-text": "^2.0.4", + "@csstools/postcss-exponential-functions": "^2.0.5", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.6", + "@csstools/postcss-gradients-interpolation-method": "^5.0.6", + "@csstools/postcss-hwb-function": "^4.0.6", + "@csstools/postcss-ic-unit": "^4.0.0", + "@csstools/postcss-initial": "^2.0.0", + "@csstools/postcss-is-pseudo-class": "^5.0.1", + "@csstools/postcss-light-dark-function": "^2.0.7", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.3", + "@csstools/postcss-media-minmax": "^2.0.5", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.6", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/postcss-random-function": "^1.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.6", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.0", + "@csstools/postcss-stepped-value-functions": "^4.0.5", + "@csstools/postcss-text-decoration-shorthand": "^4.0.1", + "@csstools/postcss-trigonometric-functions": "^4.0.5", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.1", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.1", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.2.1", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.6", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.5", + "postcss-custom-properties": "^14.0.4", + "postcss-custom-selectors": "^8.0.4", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.0", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.6", + "postcss-logical": "^8.0.0", + "postcss-nesting": "^13.0.1", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-reduce-idents": { "version": "5.2.0", "dev": true, @@ -57071,6 +59087,53 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-selector-parser": { "version": "6.1.0", "license": "MIT", @@ -60254,9 +62317,9 @@ } }, "node_modules/search-insights": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz", - "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==", + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", "license": "MIT", "peer": true }, diff --git a/package.json b/package.json index a6ab814a53..6010c0fc68 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,12 @@ "@ant-design/icons": "^5.5.1", "@commitlint/cli": "^19.5.0", "@commitlint/config-conventional": "^19.2.2", - "@docusaurus/core": "^3.6.1", - "@docusaurus/faster": "^3.6.1", - "@docusaurus/plugin-client-redirects": "^3.6.1", - "@docusaurus/plugin-ideal-image": "^3.6.1", - "@docusaurus/preset-classic": "^3.6.1", - "@docusaurus/types": "^3.6.1", + "@docusaurus/core": "^3.6.3", + "@docusaurus/faster": "^3.6.3", + "@docusaurus/plugin-client-redirects": "^3.6.3", + "@docusaurus/plugin-ideal-image": "^3.6.3", + "@docusaurus/preset-classic": "^3.6.3", + "@docusaurus/types": "^3.6.3", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-metrics.webp b/static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-metrics.webp new file mode 100644 index 0000000000000000000000000000000000000000..6d78a3d57d266445464c3d27ade3d9ebe8f52564 GIT binary patch literal 69174 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 literal 0 HcmV?d00001 diff --git a/static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-settings.webp b/static/assets/docs/images/vm-management_vm-migration-assistant_additional-configuration_overview-settings.webp new file mode 100644 index 0000000000000000000000000000000000000000..54ab6ac32d4d1c9a2536c2c260ff8a35d49f4a21 GIT binary patch literal 150206 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�qg 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

i_~73TDW@m?i!G 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

#HbH%5tV9dN3ec#?*LX58Jqp(EtsC_R7V0ZT8 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 WFC(t&!ZhK-SN-2t`CFy`8}%QSd08_6 literal 0 HcmV?d00001 diff --git a/static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-cold.webp b/static/assets/docs/images/vm-management_vm-migration-assistant_migrate-vms-vmo-cluster_pipeline-details-cold.webp new file mode 100644 index 0000000000000000000000000000000000000000..8e8b00def4b8ea92ccab3fb1cc56e7439fae4c6e GIT binary patch literal 95050 zcmeFY1yEht)-8-faDqF*U4uJ8gF|o$?(PVCHRc#&jx8f1D9C3G2%sRqCnYb%q6i590095+cM~3f{TTqS zn3QlR82|tv;d|5B_hI+(zR%mK_#aiei7w1!TMNnX&~xRu+j=Y6MLHOM^YK63*iw8QqI>5?<6HQ>|y~{ zDJWmi#?z(_m(XX@P0?5aR;;}@I| zQCp2mw$^%qt^{}%lI5cdyWO7|`Q z>q`E3%pqjIX;(kAMmFF6XuW4q?906gTI{%e&3)%n?0PNKbg_$je-z@T z=6G5$xnH}vrefBxTRC6HfVVc5D?6#~JTR`HW_g)~`qpA$`u^@Z#qB&l#brG|<^JM& z;ih+;bF;<1W>bQI?iIHQ!bGqLQH&271z+%x;Nh0MZy>~+yAYq+%Y2R`Yt5HAF&@d!V}t4AYMDP{{AZea)(E4bel^C^5oJRUIpVnBHMo#(nRECT;$UI5_zOT zpbHl{qwj6^LA<;7j~P1aH`J6>-518`9aja^u@38MLe}&yit&u}e79qgS@FapMz?4nr@kzCQ{<#9mVN$Bm3`E;K%M6H zfo9`0`jvnqUO7j1L*2$Z;6S%Qo$d6zNiW!@(C}Irhm;adY~zy0K=QMb2j1@*O9dTV%*Je2o zvkVEysvBN1(UvYT9)o&e8@mgRd58iaL>2iv9#O2aJwNx8_ z=Af^iO!#a}9@+ z={T!nuz2FGt}ef?{IcNM!Fq4+hr3&m`)x&Dd`UR{(p^n1AeW0;5jNqhJ2()*=YVb- z4q_jjd!|_P!413i4g)4!2M@FoC5IlHohic1tS^EEpWxH+WeA!Zj_o@_q?3UW8sP4* z>{{;hbcwsz+9E}0&<*1i;~e)7QG+S!W3TA9*XT6kiBDuXjE@@bktER*97yfnkdJr?ZfS(^y5)jRYcp9sn)r%D(c`Ar&DJu=E+5DZ?bz% z;v#;v)ay-UO`Zhqm@ktAEtXv+ZAjTf@{otr5g*c>QBjo~Xuz$9H3w;HO&G(mtQ3Ar zPR&^~)f&>VUFz?*Y}x;UYeF&UwL~fx2NzvgwP^i9Y`bQ?f2}K|uDI*uc!z9APy4oL zE?SL$t*qc?uC+a3aT8@b!3%EZFy(>kxXy!Gm-E59uerx?M8)~mJ)~~yDBy8h6Up^w za36xi2dNul>tVqGYHdbYwM0z^+8y@Zt=U>rUep5|IqpALe8n2xKkoK2l z)sh8F){K&IWv|D$YO70%e@<|5$j&)|(j22~FzM@W?X6fl?X{r?3;x=7s1bt_m{L3G zqob#%x!+&EP{F~i<`S6I;XEdIXeF9=GS<7jtg9l}nX`rxB2X;3-dj8;qe80xUeH=} zJ!7&;9z~DD`u1Ml5?y9<5-U2PdmgmGwIZAnYioaAsTMjrZ>C#6Jj%N7oVVDmV0APm za9aaEz%H7yfCH$Z=&edT#XBe-Y%!2SHcl_6<;{%>c4oDWA=GFRpga<}Io7h0EBuq* zGxcN|!eVI^XMC5O3(|p|9STn4(~7MMH?8WVOgX=0vGi)|)7>rGgWemlO{}e8HpG## zhQg&0zHQ(w+o|4Glc?l)D1z*X-qGS%qH~c`HY;5^={dAE|9Fc0{(hRO#*gY<1=&I< zff-j66dw*t=dR+Nuu~FVpD^W<1NdfTFu=YeMNLud z-peUTntm#*dtPax;6k3m%1yesOxZt7wUpL1B(LI=3GMBjoBZT`uDU)+r_mISg7J1t z{v@kUPkd#E)Tu{@jI&yn`nvo^;8MmGSH8>3&tr^Rw(4ft)-Rmpg^Fa0k5&4hkY6*~ z$t|GCFn^o`)diNT^~xm~iHW72%T!0Ll*cdF)MRhVrKrjXj=P*2IAi2ui!|~co`?r~ zt?WFXu8ulc#reM0SaGdMd{nr{^o$Wfy=PzDqq9;#Iz#7W#ktv4{Oc1UrwjA4Dxy#n zt2hrvFJr7`J>c9cTb0;?zx|E$12EAY<>{Idf8 ztiV4j@XreTvjYDYu7F`b+x_99ThQ(r_Z?K;>;rrB+>$@7Wmz_pE)Kldw=-itUd%QG zZKMvWR=cT+t5t8H_Nz7?-@fsy6Kog^tfm;>p7X0yZ5Vu3p4Q5@hr4BK*M2L|Fc?(L zoi~Y2H_;E18Li@cFW(>$QXUrm_Tyv^!a2by8yOvr@uFPuikE5jf%qvK)AEC&5E7Up z8Q(sTZ+<7$0Q;fZK6las;au=!ra`iK_f+PjmYPm!6gsCUKG{dzZLzK}`9Rrd_tfF! zO0Js|zM)Yim$|W%Sbr^g;;fd$>7CyG#A_|mQR-L4=U-8@3W|F-H%{Zj!_quhW=6v{ z=aRuQCK=AmsA&2@pGQqbJVy`|KVfyGFJNWW5~pmCL=L8b4B#ZZ&0Z0|Kx zMk9$$)>Q0{%Bw0pS|$LhFT?q;R}HxgRrNJsJS_^9rYP#zP$+<*U&=7ic%=i__-i0r zBdjY?CHQb0+n2XNLbnO>3yc2Ta{Pq-belGGxc)it=ARChKgm}_s%XSoHsaCDh4-TL zo(icr9Ioh9#I`{Nf)ed~)D3A4dyBd#8rlH7RNOah%MFnNP zf(ZY$RV#i9LwZDqO(Bn|$zbVLTuS-DsqpDYB=012u#jVUEzg*uJKu3x7;nQU%UB6I zxJm!Pq91xR6Ta?apHrP(Yu zAfgA_LEu~gs?Q9?51EfpP_cHa<28-w^&B?zBjpOX`=Eyx5~Y`OkDx-mFk?L4x6`Nv z5W=A(goL}A7JQO`ZE|X66^xClkg^j#86etmFl|hWE_$&6_bH3E{zjUedSQ0|c+tu&Oo!`7nKXUz{Y zbrY#|WJ~0v<5Hta(nEN$26>EZVpITCMR&n2`M|ZMk2ol7$fdWWRat^lL(0)d z=P9d5RBaQGN0U^Vp^?*MwdpN_AU)t4dWCYq2J)k4!(w2f*~G2njbyQ{ByQL9hi){UPr@13&gI04(T?Iy{+G4fyI2WVEODJtWr&gqb^z0iA!Iz_~F zprm9-6OH&4wV5r5O!D(V#n}uuJ!goL+Fm7wqNEmVGehwPfgj>BL3TTkxTse!?u^ml z*^4!0bZbh_>5tEO*+Q(jj+`t@bueVGqYD-`Ohk8;RPy_DM7e?;ampNtRQqudrZ^;J zb7yu=6ejjuvw~6FI9OFTt4fnah-jgPw1`~9aOuJ(0|QAumv|?ZoV|pi8f@s80obar zqVtVg=zHV9#KS_hn@ky~V^%Yna1?VaJmtxv?IVDkRix(n52$ zY3ge=2M!Bs7^d*+oCxE%_nxko)4WgdKo{Z==Rf8;TWmEH}L>C%~&qJsA#J z7M9vVl-6r@#VBbU8Hm|riYl5Xne3Vjf;$|~r<8GvPG*9QYC^?HRw=o+<zBRBhPYqUoSJq(T5X^C7P$l3QCLMj|B?FWS{I7e2a{`;EP6Ss{#Wt1tBzCu&Bm~ zSpBR)s5X}H$kVa}{zD$q?7L;SrsksnisZVoic-N0Xnh1zE}mo3WCBMrLickvc>j|x zrd$@6YiEUShPEC1`+OO`yo0S2E<9%e(;KYsV`j*ZvW22hwyD;-xEy*HuIw&wSsDXN zp{1!%j~!4z8aWC@U!(KjDI#7p(b8_Lf+sA1AGW5gb97mu0Z7l(3{txtH{c# zz>98EDTVnLgKFpYRm{xtFJ^+bw8$ixz1O{L1j9PkS=f?Zv0vi(;8*h;tO8yP-W^V= z8!6nva^SoxX)3FzfgLeC6z1{v^Z@VQZ(p`>gd`Jl+4E^YvtM9+!?^OZAVt4-q#k_9V^@^hB zs9hWU+G1u6V|t`OPMA=ngqTc{)EYC5GM-@g6{kqOs%be}!)nwEWH_^fxfCVwMaX-^ zb1o-~5-4`&_g<^6;AaZGK3HH_-AoV+y#BaTjZB)U_Ko5=(*-p;WX745AJXixVw()?bR)^{7{q6*N_yqc>*(+MDn`X z=85+dwBsJ1^K=dRG@6;{Y#4q0nX=a4?F9*>yicbp6bq}|DS?$)l3PbH>C4*!Rf^zq6X^xs)6G%uQRMlCD#n=8izn5C1qtj`4Wh4V*4*X*lLeD*Alfd_#_qfp9<(FBqn+ zl9%w-4hd@2DhoFA^IK&co@=(q%Cz!2IKjK!j~e(!q(*S#iftS` zNj6z!H9+AQSd)9t0Vl(?yEo3Lr*Z`(C{}G=>!r-%Oi@oU^=r|Ly?-SYecfPIH(oG# z5X$!{$KnGvF_ zpb^tcm7tX(CfLpjrSD(o%o~m6A@|ZZhaWn;d>-AJk08hzp5?_zPD0T-V!)9M60Qj| zuH3-;dj9TtIV>1$EgM!5w*8!C*E(w&J_$X2f~RR}*t<5lnYwa*qXEGN$bvWB>tR`; z0&VcTyThOJyvs9<*^Ky+L>i^|(jfWD=FRM#8o1CqY&X^WM!K+61}y{nG0K+6rvQQm z&aM@WtKww9qWj=tZdfp=n9-Ow zgOg<4IUxAJvfTYrsG@H~tDi@gqJ4^l;#R$Q*0gF?$GlKp2_!3)^l~(vlsW%Y)9CVVE2qQX~yyb`91DT z*u>cm_Hg)hm*hZ<>3f&n95%xk2DQ5r%1k8>u33RnF40Ai2Tg1Rciw@26}h+SX~~AZ zRLmMTVZzj4j4hNek*7w1tWjl(PzQ(>ZjTZ}sKtzg(9UnlmPm+t#|2G@9}0>#q<4JD zmj+U}+5tJk)gj;KYIs)M4>-;m>TB3L0be*+04dMwHEorv*xVo{BJ-ZE7&1g(&l^D~ zsYtpuoFBqtyk`tZkvPIb`{>f8RFN|3^+`%bZZFsPv_epBfILFb-7Z0vOs*p3*W=7+ zB>+*P2!96-6af?kuuH~x}eq8ec3kRLxzEK7zAYqj!?P7OVUotXS5 zXytg!!EBk~zzW64l9KR|$`Nm%7uZ`L$?D#C-%OfG`*kco(<0M@3fwJg@5&sH)`}KO zdSWzj=NNftvZ;bai`1*Dvfa&*a1TYewF%IAul%{h(ls zNPoQH=f+vvc?{h>{XI;5PEi4X46xw)%KSp1q9*0!z#sbyG;kI~jmZUCB2D9$P^w|W zK;*SD(of9|0IE$tr5y@0wV5ct@pknv%+IsfDw6ab4{v^L@}{J5@N-C;Ly)OpiJ_kC z8|hPHdM^u5e#S5m<>kWGTIJ0)ZM||6kr8Dwnl(n;kmYa!ei0 zO2OnAn!OemMI!BXH&Gi#JK>8RU|xC$Y!y-)Io!%CTgvkXjOS3=ylk;XQrr;ivzD%*S%(PAF^2a2@$X>{il_k&67+etIsm6=)mWJ70(&>h)%u`AuCIu5?Pz9C7 z_r#0*Du0NixdsudE-nS4msbm$o{SgWE-n7~Yj%K>eBLIRUY;mVKS*w-fm|X`e~`!K z#7ktVHJpd#11%-2+QKBRdSjy}pc~o0iU-N7B$MdbpP2QD0huvw(`TDU5RX*3Vjwbs z9HW6afZCeCFFBQ(Y*L9y{8n}!om?QH2AN+$s?sQ)=3MTj(QAQ}8gzb@VFT>k7E9a? z4f(=YS_MHC?9__EBExv@%Ve|6Y6AWy9i7@ag^{8-I#dB#!`os8q`j2bIL+eHsF*zB)_`iv|v9+H}PK_Y+v!;UaXfaF{79M8B+nc_q; z3GmbLjvWl#Vf+ovZcNa>$XamU9TuHVx+!y+-;rGG-LY~HrS#nGZZ!08W?i4}EG~2E z+p5iQy-Bvb0l!N*#2MqBx|?=RxJA70n`6EbI;WX#QstJzty_$~2fQ!1|9IPQu5#~t zEpTtXJbB7}`nIYGz-_E)#_j&B{(fj@<<9(Gveb94>R$5Bb^q;^o5LMuQ{nyW?ao>C z{pEc`)qU1t;r#}8hwGH{`X$Y-+cI~PTkO5s?e^%~E?4vG^RxYSo$_e=j>sQ+$8<_Nu;_tLC)pH00!Mx$7WzkJG?X@Ey(lT|4f^{oPgGeawB% zt?$*oX;a#L)BWO|_AOHlDMy9Z%M84(IERK%lcPgtyy?~DGv2bkjvX)kn80bUAsWfKC^|D5*Eg8Wk<|Llc-z~LXX{C~4A;LJBpe5DKV5Wv{G9%P(9Pc*LE zXPLBLuq@iIUr}3h?5t}%4z_={{?D(!FG~SfGgYGU3*VG4VUfN+Swi_skKD1`nuDD zWI7T(3muH(S3)%$5~jK7l@b#;=sf&RDzB7QeJ1S(brHy7V6l72oNevL)S~1oTp>b*h3FAAJ#Rj38_0roM+ORV| zhF4Ji@Wt|?|8dqvUHR(jHM}Bul~f)&sjDN+OP?lhNN6t{-CwC9X#(A*YSjiy-{hIU zz1%5G%S^s(@VE*fraU{^xwO=Fir_H(Gm3=U(2%G}J2cDJ4hD1aFK38JHK!wH-h0Ym zddFo_n#dta;}LTpLoPKUgW^5ZN83BDZPL37`*`)u6UM~GQ!)#E%$ zm8J!mD&E~S^^tkEWN(9=+XkVagY>l;h{q?*ok<1Rr4L^k{osa}by|bmGN)l?YB8ho5w)JclaY#@%av%~cjfHtTGKQPSK%-{ zB*#sJu%EMS-5EoG8fJI~0x*89#y=qWncMAo(!B%C&Jt9CJ&!3T0Gxe>H($5}|6T{| zi#t;bYfX;}QP`|=Zbp|D!TNh1GNn!p$85h;L<-7%{noiH$i&E0q>$KjPs<>r;_5)b z4|Y|wJ-j)3tz>@qU-x6Blx_d>3P4SsAXJ#F|JKl&WcW0XoTG@>YY-bW_Vk#n#c3m9 z5MA=h!;xkYp)%cYIlcAtrI^r>jB(7BK5xN!qfb2{u14f>+c;+1yM+1Jvp7T`-`@)H zL9-}gC?;|xCf(ipywUV2rM{{*`iUY z$ncsT+VQ`rbub2ju2Z||)_xUHt(DYe?T{cYuMbq0Ee={n7zQq#GQL!= zK1g2O>)M|wZjnES%a8x8%i&!i7QiE9Zh_=bS-LQpz9HZX*I>Ha_9hE$=7WW-u(GdE z#fwU1XWe78KDz8XFI3W7uJ;h3i`|a>`LsP~q2WMd-4Im)M0hwdK9K5y?e`27rb9%prH%jY#T@{L1}_B5B;H_!LDkBilDmyw$ZQu85 z?L@t1a>}~M_R8MCUY=a6@aYM14K3Wn@~4Ux`&PEVWy|ojQqEb6ZPGUh%1g{FWJ;cX z_rbW6@gZMl+Vb>u`d3R_Q;q==!#Umg81yfT7q6>Q+kYb7ziS(T`uIP#osdgylkuc} zt+@wS(OxtX05cTGW%I3I^ptmi`w!#jHkZO9YRi}i+4=;h^`sgZNW^)oIa;%<-}~F| zdi9eluo%R+PW^We^!4M)uOkU@{tgWivB?VgGK`}MYqRI9&ubL`*4^;(<#hUP#Vtr7 z#`xl)9fqjga+g&E(o(^P;oh6!g~k%ftllgG=O9T`Mw=!NIsvt1kzV%W3X+MZ zQ2IJMX7FwggA!DHVPS+qDS_Pzkc@Eg-Yg#k0