From f1628aa2204b2a6936a41182db71338ef58cecca Mon Sep 17 00:00:00 2001 From: nhtyy Date: Tue, 3 Dec 2024 16:33:23 -0800 Subject: [PATCH] Revert "chore(docs) migrate to docusaurus" This reverts commit 3917e90c1a149f732e1d2d1f07f162e73265fad7. --- book2/.gitignore | 20 - book2/README.md | 41 - book2/create-markdown-templates.sh | 45 - .../developers/building-circuit-artifacts.md | 8 - book2/docs/developers/common-issues.md | 147 - book2/docs/developers/rv32im-specification.md | 8 - book2/docs/developers/usage-in-ci.md | 27 - book2/docs/generating-proofs/advanced.mdx | 68 - book2/docs/generating-proofs/basics.mdx | 19 - .../hardware-acceleration.md | 7 - .../hardware-acceleration/avx.md | 30 - .../hardware-acceleration/cuda.md | 26 - book2/docs/generating-proofs/proof-types.md | 49 - .../docs/generating-proofs/prover-network.md | 9 - .../prover-network/explorer.png | Bin 167094 -> 0 bytes .../prover-network/key-setup.md | 40 - .../generating-proofs/prover-network/key.png | Bin 10085 -> 0 bytes .../generating-proofs/prover-network/usage.md | 83 - .../prover-network/versions.md | 30 - .../recommended-workflow.mdx | 57 - book2/docs/generating-proofs/setup.md | 38 - book2/docs/generating-proofs/sp1-sdk-faq.md | 15 - .../getting-started/hardware-requirements.md | 41 - book2/docs/getting-started/install.md | 115 - .../docs/getting-started/project-template.md | 5 - book2/docs/getting-started/quickstart.md | 124 - book2/docs/introduction.md | 33 - .../contract-addresses.md | 80 - .../onchain-verification/getting-started.mdx | 34 - .../docs/onchain-verification/solidity-sdk.md | 122 - book2/docs/sp1.png | Bin 66629 -> 0 bytes book2/docs/theme/head.hbs | 6 - .../verification/off-chain-verification.md | 48 - .../onchain/contract-addresses.md | 101 - .../verification/onchain/getting-started.mdx | 35 - .../docs/verification/onchain/solidity-sdk.md | 122 - book2/docs/what-is-a-zkvm.md | 35 - book2/docs/why-use-sp1.md | 46 - book2/docs/writing-programs/basics.mdx | 15 - book2/docs/writing-programs/compiling.mdx | 100 - .../docs/writing-programs/cycle-tracking.mdx | 124 - .../writing-programs/inputs-and-outputs.mdx | 67 - book2/docs/writing-programs/patched-crates.md | 234 - book2/docs/writing-programs/precompiles.mdx | 24 - .../writing-programs/proof-aggregation.md | 58 - book2/docs/writing-programs/setup.md | 50 - book2/docusaurus.config.ts | 113 - book2/package-lock.json | 18242 ---------------- book2/package.json | 48 - book2/sidebars.ts | 108 - book2/src/css/custom.css | 30 - book2/src/pages/index.tsx | 11 - book2/static/.nojekyll | 0 book2/static/crates_zkvm_lib_src_lib.rs.mdx | 133 - ...s_cycle-tracking_program_bin_normal.rs.mdx | 34 - ...examples_fibonacci_program_src_main.rs.mdx | 39 - ...les_fibonacci_script_bin_compressed.rs.mdx | 35 - ...amples_fibonacci_script_bin_execute.rs.mdx | 37 - ..._fibonacci_script_bin_groth16_bn254.rs.mdx | 42 - .../examples_fibonacci_script_build.rs.mdx | 5 - .../examples_fibonacci_script_src_main.rs.mdx | 56 - .../examples_groth16_program_src_main.rs.mdx | 30 - .../examples_groth16_script_src_main.rs.mdx | 57 - .../examples_io_program_src_main.rs.mdx | 25 - book2/static/img/favicon.ico | Bin 4286 -> 0 bytes book2/tsconfig.json | 8 - 66 files changed, 21439 deletions(-) delete mode 100644 book2/.gitignore delete mode 100644 book2/README.md delete mode 100755 book2/create-markdown-templates.sh delete mode 100644 book2/docs/developers/building-circuit-artifacts.md delete mode 100644 book2/docs/developers/common-issues.md delete mode 100644 book2/docs/developers/rv32im-specification.md delete mode 100644 book2/docs/developers/usage-in-ci.md delete mode 100644 book2/docs/generating-proofs/advanced.mdx delete mode 100644 book2/docs/generating-proofs/basics.mdx delete mode 100644 book2/docs/generating-proofs/hardware-acceleration.md delete mode 100644 book2/docs/generating-proofs/hardware-acceleration/avx.md delete mode 100644 book2/docs/generating-proofs/hardware-acceleration/cuda.md delete mode 100644 book2/docs/generating-proofs/proof-types.md delete mode 100644 book2/docs/generating-proofs/prover-network.md delete mode 100644 book2/docs/generating-proofs/prover-network/explorer.png delete mode 100644 book2/docs/generating-proofs/prover-network/key-setup.md delete mode 100644 book2/docs/generating-proofs/prover-network/key.png delete mode 100644 book2/docs/generating-proofs/prover-network/usage.md delete mode 100644 book2/docs/generating-proofs/prover-network/versions.md delete mode 100644 book2/docs/generating-proofs/recommended-workflow.mdx delete mode 100644 book2/docs/generating-proofs/setup.md delete mode 100644 book2/docs/generating-proofs/sp1-sdk-faq.md delete mode 100644 book2/docs/getting-started/hardware-requirements.md delete mode 100644 book2/docs/getting-started/install.md delete mode 100644 book2/docs/getting-started/project-template.md delete mode 100644 book2/docs/getting-started/quickstart.md delete mode 100644 book2/docs/introduction.md delete mode 100644 book2/docs/onchain-verification/contract-addresses.md delete mode 100644 book2/docs/onchain-verification/getting-started.mdx delete mode 100644 book2/docs/onchain-verification/solidity-sdk.md delete mode 100644 book2/docs/sp1.png delete mode 100644 book2/docs/theme/head.hbs delete mode 100644 book2/docs/verification/off-chain-verification.md delete mode 100644 book2/docs/verification/onchain/contract-addresses.md delete mode 100644 book2/docs/verification/onchain/getting-started.mdx delete mode 100644 book2/docs/verification/onchain/solidity-sdk.md delete mode 100644 book2/docs/what-is-a-zkvm.md delete mode 100644 book2/docs/why-use-sp1.md delete mode 100644 book2/docs/writing-programs/basics.mdx delete mode 100644 book2/docs/writing-programs/compiling.mdx delete mode 100644 book2/docs/writing-programs/cycle-tracking.mdx delete mode 100644 book2/docs/writing-programs/inputs-and-outputs.mdx delete mode 100644 book2/docs/writing-programs/patched-crates.md delete mode 100644 book2/docs/writing-programs/precompiles.mdx delete mode 100644 book2/docs/writing-programs/proof-aggregation.md delete mode 100644 book2/docs/writing-programs/setup.md delete mode 100644 book2/docusaurus.config.ts delete mode 100644 book2/package-lock.json delete mode 100644 book2/package.json delete mode 100644 book2/sidebars.ts delete mode 100644 book2/src/css/custom.css delete mode 100644 book2/src/pages/index.tsx delete mode 100644 book2/static/.nojekyll delete mode 100644 book2/static/crates_zkvm_lib_src_lib.rs.mdx delete mode 100644 book2/static/examples_cycle-tracking_program_bin_normal.rs.mdx delete mode 100644 book2/static/examples_fibonacci_program_src_main.rs.mdx delete mode 100644 book2/static/examples_fibonacci_script_bin_compressed.rs.mdx delete mode 100644 book2/static/examples_fibonacci_script_bin_execute.rs.mdx delete mode 100644 book2/static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx delete mode 100644 book2/static/examples_fibonacci_script_build.rs.mdx delete mode 100644 book2/static/examples_fibonacci_script_src_main.rs.mdx delete mode 100644 book2/static/examples_groth16_program_src_main.rs.mdx delete mode 100644 book2/static/examples_groth16_script_src_main.rs.mdx delete mode 100644 book2/static/examples_io_program_src_main.rs.mdx delete mode 100644 book2/static/img/favicon.ico delete mode 100644 book2/tsconfig.json diff --git a/book2/.gitignore b/book2/.gitignore deleted file mode 100644 index b2d6de3062..0000000000 --- a/book2/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/book2/README.md b/book2/README.md deleted file mode 100644 index 0c6c2c27be..0000000000 --- a/book2/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Website - -This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. - -### Installation - -``` -$ yarn -``` - -### Local Development - -``` -$ yarn start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -### Build - -``` -$ yarn build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/book2/create-markdown-templates.sh b/book2/create-markdown-templates.sh deleted file mode 100755 index 9aaae0de9f..0000000000 --- a/book2/create-markdown-templates.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -# Define an array of file paths -paths=( - "../examples/fibonacci/script/bin/execute.rs" - "../examples/fibonacci/script/src/main.rs" - "../examples/fibonacci/script/bin/groth16_bn254.rs" - "../examples/fibonacci/script/build.rs" - "../examples/fibonacci/script/src/main.rs" - "../examples/groth16/program/src/main.rs" - "../examples/groth16/script/src/main.rs" - "../examples/io/program/src/main.rs" - "../examples/cycle-tracking/program/bin/normal.rs" - "../crates/zkvm/lib/src/lib.rs" - "../examples/fibonacci/script/bin/compressed.rs" - "../examples/fibonacci/program/src/main.rs" -) - -# Ensure the ./static directory exists -mkdir -p ./static - -# Loop over the paths and process each file -for file in "${paths[@]}"; do - if [[ -f "$file" ]]; then - # Get the full path and strip everything before 'sp1/' - stripped_path=$(readlink -f "$file" | sed -e 's|.*sp1/||') - - # Replace slashes with underscores for the target file name - target_name=$(echo "$stripped_path" | tr '/' '_') - - # Define the target markdown file path - target="./static/${target_name}.mdx" - - # Write the content into the markdown file - { - echo "\`\`\`rust" - cat "$file" - echo "\`\`\`" - } > "$target" - - echo "Processed $file -> $target" - else - echo "File not found: $file" - fi -done diff --git a/book2/docs/developers/building-circuit-artifacts.md b/book2/docs/developers/building-circuit-artifacts.md deleted file mode 100644 index 9e936d3ff3..0000000000 --- a/book2/docs/developers/building-circuit-artifacts.md +++ /dev/null @@ -1,8 +0,0 @@ -# Building Circuit Artifacts - -To build the production Groth16 and PLONK Bn254 artifacts from scratch, you can use the `Makefile` inside the `prover` directory. - -```shell,noplayground -cd prover -RUST_LOG=info make build-circuits -``` diff --git a/book2/docs/developers/common-issues.md b/book2/docs/developers/common-issues.md deleted file mode 100644 index 5d0a50e808..0000000000 --- a/book2/docs/developers/common-issues.md +++ /dev/null @@ -1,147 +0,0 @@ -# Common Issues - -## Rust Version Errors - -If you are using a library that has an MSRV specified, you may encounter an error like this when building your program. - -```txt -package `alloy v0.1.1 cannot be built because it requires rustc 1.76 or newer, while the currently active rustc version is 1.75.0-nightly` -``` - -This is due to the fact that your current Succinct Rust toolchain has been built with a lower version than the MSRV of the crates you are using. - -You can check the version of your local Succinct Rust toolchain by running `cargo +succinct --version`. The latest release of the Succinct Rust toolchain is **1.81**. You can update to the latest version by running [`sp1up`](../getting-started/install.md). - -```shell -% sp1up -% cargo +succinct --version -cargo 1.81.0-dev (2dbb1af80 2024-08-20) -``` - -A Succinct Rust toolchain with version **1.81** should work for all crates that have an MSRV of **1.81** or lower. - -If the MSRV of your crate is higher than **1.81**, try the following: - -- If using `cargo prove build` directly, pass the `--ignore-rust-version` flag: - - ```bash - cargo prove build --ignore-rust-version - ``` - -- If using `build_program` in an `build.rs` file with the `sp1-build` crate, set `ignore_rust_version` to true inside the `BuildArgs` struct and use - `build_program_with_args`: - - ```rust - let args = BuildArgs { - ignore_rust_version: true, - ..Default::default() - }; - build_program_with_args("path/to/program", args); - ``` - -## `alloy_sol_types` Errors - -If you are using a library that depends on `alloy_sol_types`, and encounter an error like this: - -```txt -perhaps two different versions of crate `alloy_sol_types` are being used? -``` - -This is likely due to two different versions of `alloy_sol_types` being used. To fix this, you can set `default-features` to `false` for the `sp1-sdk` dependency in your `Cargo.toml`. - -```toml -[dependencies] -sp1-sdk = { version = "2.0.0", default-features = false } -``` - -This will configure out the `network` feature which will remove the dependency on `alloy_sol_types` and configure out the `NetworkProver`. - -## Stack Overflow Errors + Bus Errors - -If you encounter any of the following errors in a script using `sp1-sdk`: - -```shell -# Stack Overflow Error -thread 'main' has overflowed its stack -fatal runtime error: stack overflow - -# Bus Error -zsh: bus error - -# Segmentation Fault -Segmentation fault (core dumped) -``` - -Run your script with the `--release` flag. SP1 currently only supports release builds. This is because -the `sp1-core` library and `sp1-recursion` require being compiled with the `release` profile. - -## C Binding Errors - -If you are building a program that uses C bindings or has dependencies that use C bindings, you may encounter the following errors: - -```txt -cc did not execute successfully -``` - -```txt -Failed to find tool. Is `riscv32-unknown-elf-gcc` installed? -``` - -To resolve this, re-install sp1 with the `--c-toolchain` flag: - -```bash -sp1up --c-toolchain -``` - -This will install the C++ toolchain for RISC-V and set the `CC_riscv32im_succinct_zkvm_elf` environment -variable to the path of the installed `riscv32-unknown-elf-gcc` binary. You can also use your own -C++ toolchain be setting this variable manually: - -```bash -export CC_riscv32im_succinct_zkvm_elf=/path/to/toolchain -``` - -## Compilation Errors with [`sp1-lib::syscall_verify_sp1_proof`](https://docs.rs/sp1-lib/latest/sp1_lib/fn.syscall_verify_sp1_proof.html) - -If you are using the [`sp1-lib::syscall_verify_sp1_proof`](https://docs.rs/sp1-lib/latest/sp1_lib/fn.syscall_verify_sp1_proof.html) function, you may encounter compilation errors when building your program. - -```bash - [sp1] = note: rust-lld: error: undefined symbol: syscall_verify_sp1_proof - [sp1] >>> referenced by sp1_lib.b593533d149f0f6e-cgu.0 - [sp1] >>> sp1_lib-8f5deb4c47d01871.sp1_lib.b593533d149f0f6e-cgu.0.rcgu.o:(sp1_lib::verify::verify_sp1_proof::h5c1bb38f11b3fe71) in ... - [sp1] - [sp1] - [sp1] error: could not compile `package-name` (bin "package-name") due to 1 previous error -``` - -To resolve this, ensure that you're importing both `sp1-lib` and `sp1-zkvm` with the verify feature enabled. - -```toml -[dependencies] -sp1-lib = { version = "", features = ["verify"] } -sp1-zkvm = { version = "", features = ["verify"] } -``` - -## `sp1-sdk` `rc` Version Semver Errors - -When using release candidate (RC) versions of `sp1-sdk` (such as `3.0.0-rc1`), you might face compilation errors if you upgrade to a newer RC version (like `3.0.0-rc4`) and then try to downgrade back to an earlier RC version (such as `3.0.0-rc1`). - -This issue arises because some RC releases introduce breaking changes that aren't reflected in their version numbers according to Semantic Versioning (SemVer) rules. To fix this, you need to explicitly downgrade all related crates in your `Cargo.lock` file to match the desired RC version. - -To start, verify that the `sp1-sdk` version in your `Cargo.lock` file differs from the version specified in your `Cargo.toml` file: - -```shell -% cargo tree -i sp1-sdk -sp1-sdk v3.0.0-rc4 (/Users/sp1/crates/sdk) -├── sp1-cli v3.0.0-rc4 (/Users/sp1/crates/cli) -├── sp1-eval v3.0.0-rc4 (/Users/sp1/crates/eval) -└── sp1-perf v3.0.0-rc4 (/Users/sp1/crates/perf) -``` - -After confirming the version of `sp1-sdk` in your lockfile, you can downgrade to a specific RC version using the following command. Replace `3.0.0-rc1` with the desired version number: - -```shell -% cargo update -p sp1-build -p sp1-sdk -p sp1-recursion-derive -p sp1-recursion-gnark-ffi -p sp1-zkvm --precise 3.0.0-rc1 -``` - -This command will update the `Cargo.lock` file to specify the lower RC version, resolving any version conflicts and allowing you to continue development. diff --git a/book2/docs/developers/rv32im-specification.md b/book2/docs/developers/rv32im-specification.md deleted file mode 100644 index 84e8aa7584..0000000000 --- a/book2/docs/developers/rv32im-specification.md +++ /dev/null @@ -1,8 +0,0 @@ -# RV32IM Specification - -SP1 implements the RISC-V RV32IM instruction set with some implementation details that make it more suitable for proving. - -- LW/SW memory access must be word aligned. -- LH/LHU/SH memory access must be half-word aligned. -- Memory access is only valid for addresses `0x20, 0x78000000`. Accessing addresses outside of this range will result in undefined behavior. The global heap allocator in `sp1_zkvm` will panic if memory exceeds this range. -- The ECALL instruction is used for system calls and precompiles. Only valid syscall IDs should be called, and only using the specific convention of loading the ID into register T0 and arguments into registers A0 and A1. If the arguments are addresses, they must be word-aligned. Failure to follow this convention can result in undefined behavior. Correct usages can be found in the `sp1_zkvm` and `sp1_lib` crates. diff --git a/book2/docs/developers/usage-in-ci.md b/book2/docs/developers/usage-in-ci.md deleted file mode 100644 index 33da5e45f9..0000000000 --- a/book2/docs/developers/usage-in-ci.md +++ /dev/null @@ -1,27 +0,0 @@ -# Usage in CI - -You may want to use SP1 in your [Github Actions](https://docs.github.com/en/actions) CI workflow. - -You first need to have Rust installed, and you can use -[actions-rs/toolchain](https://github.com/actions-rs/toolchain) for this: - -```yaml -- name: Install Rust Toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.81.0 - profile: default - override: true - default: true - components: llvm-tools, rustc-dev -``` - -And then you can install the SP1 toolchain: - -```yaml -- name: Install SP1 toolchain - run: | - curl -L https://sp1.succinct.xyz | bash - ~/.sp1/bin/sp1up - ~/.sp1/bin/cargo-prove prove --version -``` diff --git a/book2/docs/generating-proofs/advanced.mdx b/book2/docs/generating-proofs/advanced.mdx deleted file mode 100644 index cd4848c48d..0000000000 --- a/book2/docs/generating-proofs/advanced.mdx +++ /dev/null @@ -1,68 +0,0 @@ -import Compressed from "../../static/examples_fibonacci_script_bin_compressed.rs.mdx"; -import Execute from "../../static/examples_fibonacci_script_bin_execute.rs.mdx"; - -# Advanced Usage - -## Execution Only - -We recommend that during the development of large programs (> 1 million cycles) you do not generate proofs each time. -Instead, you should have your script only execute the program with the RISC-V runtime and read `public_values`. Here is an example: - - - -If the execution of your program succeeds, then proof generation should succeed as well! (Unless there is a bug in our zkVM implementation.) - -## Compressed Proofs - -With the `ProverClient`, the default `prove` function generates a proof that is succinct, but can have size that scales with the number of cycles of the program. To generate a compressed proof of constant size, you can use the `prove_compressed` function instead. This will use STARK recursion to generate a proof that is constant size (around 7Kb), but will be slower than just calling `prove`, as it will use recursion to combine the core SP1 proof into a single constant-sized proof. - - - -You can run the above script with `RUST_LOG=info cargo run --bin compressed --release` from `examples/fibonacci/script`. - -## Logging and Tracing Information - -You can use `utils::setup_logger()` to enable logging information respectively. You should only use one or the other of these functions. - -**Logging:** - -```rust -utils::setup_logger(); -``` - -You must run your command with: - -```bash -RUST_LOG=info cargo run --release -``` - -## CPU Acceleration - -To enable CPU acceleration, you can use the `RUSTFLAGS` environment variable to enable the `target-cpu=native` flag when running your script. This will enable the compiler to generate code that is optimized for your CPU. - -```bash -RUSTFLAGS='-C target-cpu=native' cargo run --release -``` - -Currently there is support for AVX512 and NEON SIMD instructions. For NEON, you must also enable the `sp1-sdk` feature `neon` in your script crate's `Cargo.toml` file. - -```toml -sp1-sdk = { version = "2.0.0", features = ["neon"] } -``` - -## Performance - -For maximal performance, you should run proof generation with the following command and vary your `shard_size` depending on your program's number of cycles. - -```rust -SHARD_SIZE=4194304 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --release -``` - -## Memory Usage - -To reduce memory usage, set the `SHARD_BATCH_SIZE` environment variable depending on how much RAM -your machine has. A higher number will use more memory, but will be faster. - -```rust -SHARD_BATCH_SIZE=1 SHARD_SIZE=2097152 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --release -``` diff --git a/book2/docs/generating-proofs/basics.mdx b/book2/docs/generating-proofs/basics.mdx deleted file mode 100644 index 808833e905..0000000000 --- a/book2/docs/generating-proofs/basics.mdx +++ /dev/null @@ -1,19 +0,0 @@ -import Example from "../../static/examples_fibonacci_script_src_main.rs.mdx"; - -# Basics - -All the methods you'll need for generating proofs are included in the `sp1_sdk` crate. Most importantly, you'll need to use the `ProverClient` to setup a proving key and verifying key for your program and then use the `execute`, `prove` and `verify` methods to execute your program, and generate and verify proofs. - -To make this more concrete, let's walk through a simple example of generating a proof for a Fibonacci program inside the zkVM. - -## Example: Fibonacci - - - -You can run the above script in the `script` directory with `RUST_LOG=info cargo run --release`. Note that running the above script will generate a proof locally. - -
-WARNING: Local proving often is much slower than the prover network and for certain proof types (e.g. Groth16, PLONK) require a significant amount of RAM and will likely not work on a laptop. -
- -We recommend using the [prover network](./prover-network.md) to generate proofs. Read more about the [recommended workflow](./recommended-workflow.md) for developing with SP1. diff --git a/book2/docs/generating-proofs/hardware-acceleration.md b/book2/docs/generating-proofs/hardware-acceleration.md deleted file mode 100644 index 766c9db4ed..0000000000 --- a/book2/docs/generating-proofs/hardware-acceleration.md +++ /dev/null @@ -1,7 +0,0 @@ -# Hardware Acceleration - -SP1 supports hardware acceleration on the following platforms: -- [AVX256/AVX512](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) on x86 CPUs -- [CUDA](https://en.wikipedia.org/wiki/CUDA) on Nvidia GPUs - -To enable hardware acceleration, please refer to the platform specific instructions available in this section. \ No newline at end of file diff --git a/book2/docs/generating-proofs/hardware-acceleration/avx.md b/book2/docs/generating-proofs/hardware-acceleration/avx.md deleted file mode 100644 index e9fe8007bf..0000000000 --- a/book2/docs/generating-proofs/hardware-acceleration/avx.md +++ /dev/null @@ -1,30 +0,0 @@ -# AVX - -SP1 supports both AVX256 and AVX512 acceleration on x86 CPUs due to support in [Plonky3](https://github.com/Plonky3/Plonky3). -Whenever possible, we recommend using AVX512 acceleration as it provides better performance. - -## Checking for AVX - -To check if your CPU supports AVX, you can run the following command: - -`grep avx /proc/cpuinfo` - -Look for the flags `avx2` and `avx512`. - -## Enabling AVX256 - -To enable AVX256 acceleration, you can set the `RUSTFLAGS` environment variable to include the following flags: - -```bash -RUSTFLAGS="-C target-cpu=native" cargo run --release -``` - -## Enabling AVX512 - -To enable AVX512 acceleration, you can set the `RUSTFLAGS` environment variable to include the following flags: - -```bash -RUSTFLAGS="-C target-cpu=native -C target-feature=+avx512f" cargo run --release -``` - -Note that the `+avx512f` flag is required to enable AVX512 acceleration. \ No newline at end of file diff --git a/book2/docs/generating-proofs/hardware-acceleration/cuda.md b/book2/docs/generating-proofs/hardware-acceleration/cuda.md deleted file mode 100644 index e27d0ce9ac..0000000000 --- a/book2/docs/generating-proofs/hardware-acceleration/cuda.md +++ /dev/null @@ -1,26 +0,0 @@ -# CUDA - -
-WARNING: CUDA proving is still an experimental feature and may be buggy. -
- - -SP1 supports CUDA acceleration, which can provide dramatically better latency and cost performance -compared to using the CPU prover, even with AVX acceleration. - -## Software Requirements - -Please make sure you have the following installed before using the CUDA prover: - -- [CUDA 12](https://developer.nvidia.com/cuda-12-0-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local) -- [CUDA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) - -## Hardware Requirements - -- **CPU**: We recommend having at least 8 CPU cores with 32GB of RAM available to fully utilize the GPU. -- **GPU**: 24GB or more for core/compressed proofs, 40GB or more for shrink/wrap proofs - -## Usage - -To use the CUDA prover, you can compile the `sp1-sdk` crate with the `cuda` feature enabled. You -can use the normal methods on the `ProverClient` to generate proofs. \ No newline at end of file diff --git a/book2/docs/generating-proofs/proof-types.md b/book2/docs/generating-proofs/proof-types.md deleted file mode 100644 index c6d713e754..0000000000 --- a/book2/docs/generating-proofs/proof-types.md +++ /dev/null @@ -1,49 +0,0 @@ -# Proof Types - -There are a few different types of proofs that can be generated by the SP1 zkVM. Each proof type has its own tradeoffs in terms of proof generation time, verification cost, and proof size. - -The `ProverClient` follows a "builder" pattern that allows you to configure the proof type and other options after creating a `ProverClient` and calling `prove` on it. - -For a full list of options, see the following [docs](https://docs.rs/sp1-sdk/1.2.0/sp1_sdk/action/struct.Prove.html). - -## Core (Default) - -The default prover mode generates a list of STARK proofs that in aggregate have size proportional to -the size of the execution. Use this in settings where you don't care about **verification cost / proof size**. - -```rust -let client = ProverClient::new(); -client.prove(&pk, stdin).run().unwrap(); -``` - -## Compressed - -The compressed prover mode generates STARK proofs that have constant size. Use this in settings where you -care about **verification cost / proof size**, but not onchain verification. Compressed proofs are also useful because they can be cheaply recursively verified within SP1 itself (see the [proof aggregation](../writing-programs/proof-aggregation.md) section). - -```rust -let client = ProverClient::new(); -client.prove(&pk, stdin).compressed().run().unwrap(); -``` - -## Groth16 (Recommended) - -The Groth16 prover mode generates a SNARK proof that is ~260 bytes large and can be verified onchain for around ~270k gas. - -The trusted setup for the Groth16 circuit keys uses the [Aztec Ignition ceremony](https://github.com/AztecProtocol/ignition-verification) + entropy contributions from members of the Succinct team. - -```rust -let client = ProverClient::new(); -client.prove(&pk, stdin).groth16().run().unwrap(); -``` - -## PLONK - -The PLONK prover mode generates a SNARK proof that is ~868 bytes large and can also be verified onchain for around ~300k gas. Plonk proofs take about ~1m30s longer to generate over a compressed proof. - -PLONK does not require a trusted setup. - -```rust -let client = ProverClient::new(); -client.prove(&pk, stdin).plonk().run().unwrap(); -``` diff --git a/book2/docs/generating-proofs/prover-network.md b/book2/docs/generating-proofs/prover-network.md deleted file mode 100644 index f5b61d2204..0000000000 --- a/book2/docs/generating-proofs/prover-network.md +++ /dev/null @@ -1,9 +0,0 @@ -# Prover Network Beta - -> **See [Supported Versions](./prover-network/versions.md) for the currently supported versions of SP1 on the Prover Network.** - -Succinct [has been building](https://blog.succinct.xyz/succinct-network/) the Succinct Prover Network, a distributed network of provers that can generate proofs of any size quickly and reliably. It's currently in private beta, but you can get access by following the steps below. - -To get started, **[FILL OUT THIS FORM](https://forms.gle/rTUvhstS8PFfv9B3A)** to gain access to the Succinct -Network. Completing this form requires you to complete the [key -setup](./prover-network/key-setup.md) steps below. diff --git a/book2/docs/generating-proofs/prover-network/explorer.png b/book2/docs/generating-proofs/prover-network/explorer.png deleted file mode 100644 index 9241510cd8c277134e60ce1a11c46a34f9c0cf37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167094 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
-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 z z1Dw$Ouao}m34ftQrs{j_;x?Jo+Ml%peG1+f6=8v&zt)<1`A?>+ zrq@*yFO1rVM^u1W0I#8t;FvKudZOAPuczqacR(4Cbqk=jlS8=vJq{Iq{q-a-!=_`} zUqjosDp##9rA(66sp|4Sa>g9Bxn?^-)ePg46a?`^Lh{>%aP2FSKACVdQB_S9j(Yi? z0pQ&?hi6>6Fa58#H=g5iT{we{y2R$E-Ea1#u*inpGeH1RfCzAxR1XikC*G$3ULIhT z{_6t#aJ~yJVgO??55wZ@N1sNi-?wRW9Ck^vxpL`xEEljAT-yzu8J?4pXI&NrH5bIP zTxYa+u2t`fHC7FlywabNn`@z=y?3;-6yv#JEQr2`^8ZlZ+tM~4AbrojVYZM?0 zTK5Z&eX;2tCoV?G^u3MAon1pyJgGN6`CDQ@J_{Cvu|jlM_b4qsTq$ zqb-fC3V-W+BKa&|V~qjC!|-strK<-O3^b+NQ^DKq&VoBR16FAxv}C~t?Lcd5%*d<% z`h^NmZIBt=5>UH8N?6o5uU#GSu|7FSvOXcL>f4H1Nt~>4NRHQavz>8#S>-dE)(5C{ zlzF{@Vd)c+8Lv+D-uaWbt+%fx-s3L4+iqpp0BT`f(b-IIrD`1zpRm1DQMuFUffoFI z-(w-kOs7#1A-O!{YAon)s1FD+zP`M$CTTErUDvT5_o83c=_NnPl(F0mu)csl43>{M zACbn+OBVfQjhZ)%6ER0&s_A{e0FMlYU%>W|DowG zxVkct(8ULI=~Fy+D{;)QWG&Xx;z@Ff$9`viG$mcQQ2mOIuPa+48jl}v zDlcBOROSt{50>bRd@6w{cZyw-lTd>6gR`?R`^D4H!IE5$vW@feN=YXj=Fo81j-Te^ zM-Hcv&qRZ=@=%0tAaNNDUqZvGsff>x1Y0<&EzTxYTqxZ#bSnOVXUh{C#!w?=*(+c3 z(%r*{uv|_b_6|k!k^^sw@mZ#6e}2_q2x=6$qZV_-y*&Wi7UfKXl;Tf!+WBrQtOEu_ zBb0i{!l-vraBlDv{dTPFhC|FnRs3dz6XS_%Ubp^54EgLo6LVBo{%N&-%K3);;7>v& zMCwD=vz0WDS&d1j1ESB2SYBfGO_}E|&{`$RYewGfh(1bIkZ`h)@RO}_0?Imed8N%A zUj&+fV1NG9Upznnt`z&9*;fckU8(oesezXC4AUzjSzz&1?+n&Zv zz~_h`8^g4I(3+d#Y@QB1a(T--Z#JK2(aaNooAH@-M>px!FJ@7EPI{{$26xQjij>VS zHUD)7P#nby1?1@D$0LU(R!yjn`rpQEtDP;~$!x68+y2g@y#xIdeE|kjoNJt|RIRs@ z=(N1lxZRtL`qwra-$P;#Co+D_j!(?E^+-(ut5&=j&e-xOQ8ifxM-{H)04uvp^b zY^NrP02;VF zKfnX^uUhToN1WZu&HtiltYms-R}=8^rp#|u@3ZxME8yFn6LIIkrBT~HbMyJ(_aL{l z?+caxz}gR_YGh+yhgu#&cZ{=pZ*;H$^r@Q%h39n>W))?&`ZW&kWq*?)bzEeKeI|9( zoq-RYP94o~N#>TnAp#WuyZrx4l4UpY?T-5=NtQ$Uz}CEKtCg)D2PX}rOmVuOBjqzr z5^5LPr~a!E{pGF+1TQ>6qc=1|MkP&MGY>!I)Yam>bCIq55F+bKJGIlSGU?s*00?by zE3$0WCmksr3Y}ImEE-C;uZFOI-^6yn%h_`uR&HEhn}%&nGPY(Amg+aSxD>ljDa9X2 zif#x`*57aFUbrp^bgS0xG5T$$@rjq^(2{32apjE$f&-`>E88JM&l*lkX@3dabUz>BRIChUo57=bX|13+^-%naE+1V zsP{`aVX|De;DRFIv!pCQF!xDeOKp&HO!4`g8RO{|zD&-v{SMA96s6gLv?j%#Tm z7^Y>H<*9%LBmHawFfwXTHYPqL$ZE87R$MaDHqUrSuy3{QbSCf&J%0i?2+`Kej|zs6 zLM}aF?LT0s`UFYyQLqCz^p+h&M@IhUGw)bXSP6t27?D;KzErr`WuXxdP!C-ZdKI-JO_qGII*xCoLp`0;=)8f<6a6e)P zuf@*S;R$}wnK6U;1`sf#D+Zl>ap+Hvp|esqKMaMcNEsf9&6PiG4ss#eEhPYEvL0yc zi`bo|kwKMWmFN`Q_%l_#y59-`hZHP1RojoU&KeOpQrH})}k_xa3 zweYAAS98};fIT_$NR@L)poDU-52fMxrx-l;G~*f>ap#;!qw#$V^3X4{_GotJ+gjq8 zL+!21NrT^tR_?Rj2@et;^FSz5z&Eh@EDM*b`L&}eUjJGSE)cW<-*JnuUdr$KjIsy!fjUe<>ysm-S4l zvL`Y~#gD2rnKK)kc#zlh4c0u*;4N9=B_3Zcw4}GL0@pgij?P7h&OWgSh>yrl7pzo@ z(Wx@o#*!^})9}|l0;t^e!!8?1-*>7ePEv2=!UcIBzw-Q2C+7QEUwy%7NRt7h>=0=3 zbG0ump;jUsIIi#kgf{70y*=df=c+9JcT`h=84g7qg*TRO7xudO{bXuoff5-^QW~Af zrF55(!kiRs`&UC>R2EmmKlHvcqBEFDzj7_)a&WN`mLM~N)Vgif7N@oLrnqEhX7`M* zx_M$_(roOnXiZk`Zdj+rms%_NbvgLD(TP#-23;Zhc4$Ug(9@S}{YZ7pnAd6>Pv|GR z-|8**awL|+vDubA2(u!-dAKg7aRL`}fV+ntOIt3#`WDS^{Ox%Wq-#TnkGfIFKxEc- zH=Q+Q3F*9R`U{iLO(ze%BFz&1TqCr_PCcig z-~>?m@niz9OHsWAIc=fnCQ9N?;n+Kv$wKeObOZJi97c7$dKPdY%tvS2WV{C`Wd(}Z zY(E!?xnD0of$fFA>?2Lel*d4jP@f;N>z*uZ%RqxGYGUD)aln+vB5lfQc1>S8j@P{pn5W&0bbus=WbJo*w4#{iVIl15+M?H~~CM z&9!~x=9DqCLgyqx(SatsSUA5_XsD}dcr@A2_w1&$qwP12Yt@)>R#imr_GyUu zSCiLzeN*g*Zo*Ur*zvesZRP zjZ<%ldUfWhB!OGlqu4rUugn@*?JwmAn<%TQS2iA$c*YzRF`>@gwNcGflJ`aW>B)?x z_HsZ3z)rqdx`mvE*hLxeT*6G@uvaZ0NMiF;_+h7v7Iib*Wh6iu5Ep6Sd%iyEc4hNa zbPa72_0%N3Sy?uaN*rVrx*ll=E;=uk+55>OwkQs&ReKk2^w*txXPaVbJU;gOvH2y+ z&dl0*{2!Tt8YQ$J5L}FXGMUta~VF z^sOYd`~k3Z{&Um&HN@cTd)s$COxu*@lH2SyPeoh{9)1?5V&_?r`12_GbXjlqI+SIA z_`HxCz7S>tM^^7Q!h02!BzHdbW*-bn;>@)pu8nKQU*jHWiIO4Qk>cD6D!1$Y^kfim zpM1uC46wnW8o{el+%9A%N=Q#69!*2)cI({{?y_0Uu+q8>^q71eAE(TzT-(YSMcJ3( z?tRoVRHY=UqH!QrZxCf9JC;8Dr1|RP&pA_-M*k7HOux)?TJ18T#x0riajY0(^yWFy zl9N`|!63;K9pyea%Fnk2WY5<=kuv+bkE@fR8pm=-IQ_$hJSgaNi!?D*eCv&@KpvE% zcu~Ne7T?M=XepxkAv#;RC3EO8BP{*0+Sm?hz|gW|?@&q~j_{C6VmHs2? zKFC`pu%;SKvyK^79us-CUVb$?h8Q5>plla|e z#GU%zI2>N_^|3dW!8e5)rZvm>SwG+wPEb%Wy)+Clddj82j3_a{1@j`Dp;Bu3@Uue3 ztfRsbmjGjU?4qo+DWTFTATJ}#0Vr`^Eci%1|LdJx^vT+xyQx^K6t(8;X9noC`E_6@R)->cl(T)-bjByjgC&)$2pte2o^JhRzqGgsD| zWzte90j&;aDZ8t3KZ=xWZ9ufFcV`vJx#j$VT{%Dg`r^sdvPVn&l=NP#S?Cqjz1n)G znh|4Mykt;1=WDQe_8O~<0e0LhTk!rt@N*`&GlpoAI_MUj965&G9rXGRp;EC2 z)z;T*^5TR_%P!1>fQ!<@PJL#jNI%>8_WCdxmVO%~JTJLHDFPE=c5NfG>%KU30Sljt zV_ppSAXla#XohU`FE4|M3pSS-!Wm3=rRN`f`hEk*bsVyw&TJRs zF>AGihMdB+8cw&NAJ&duX3+OUbO1H@{n2+hfKk!%>4Lp{@P_L$@<=5xBV@A-o55~AFFZ+Tf z!vzA>Tr$0hXFFNSJwihXS7jP*e4}j+;>Qbu!KZY^{*2#IVBUJ)$`fv(CD!nK4I`%I zihTdM--_915<9h~o=pq6r*Xv@X~$*VzeeeoDP1;=OpUO?fQV>$DstmiVY?|#Ozl>l zo0jQB7nj!v@98VY5nriQpZk1i>71pAW!wbS#bk@g1d)K!3=`ZFJ>4^gmAtUBUiL`0 zx*q|RY&hEF$AjpXOOdZ|D)fb~^HCqu;Ma$r+5OV?oBK4t?NQt)vqUpprEw*i@7TPg zr&li@MR>K^gcam1+CFBBFTGiJ;AhXN#5YE8=h%K37i508d+7g+@#b<86 zYMLc`>orSGi?MbkvZ+6R_`4Fy_$TiazRgEfwIMSw6hS|0X)dxDhJR!+K+1Cx6f;nc zqFfa8w*bKep93YQ>}IX;qrVQmwMIS}Da3e;OHCsH4bo+OrOwt1#aCr{{70_nF%mKu zynJJUu-u>BsbCjdTNz}p|D_Be8&)Bi_QDlw>hm(dfYzMc8Ub)DWMd8NzQTEMqDnBAg{Yo*D5_|KV+33|&54$@% zP?2rwWAh;C#lt}UODryZPc9~Lcw}S_y1NB`t>!FoM5Iw$Ey`ZG5*ZQis+UFoMrKXk z)I3s!6KBcyGtI}pX}|mMwWLxL*s6y#pQVRe`_$^yYAw?bC2}CU_}=p-^_p1fp-YDG zHOuR4ll-@P^iN)E9tO(Tvf+gH=3s>-EOuTUWO_OWX8gR8YgFZ1KWqJDN` zg`TdT$VewHP3m>MpW(-Jz&TL*jER|Vs+N)!~3Lw|!vyR`>n5txv<;Wj*O>3s5yG3$pIg z$R6rKt3ynWDi*}6caN_h-^vf}zbWp4x!uv5raUcY6q@b@dHn&<-H^mE`v~-8#~A@G z>F;_fVUKtO@AX{!M^_{EBR@HitnhrE4zrq6L7eZO4s(NouCmuR&{OOGIiXX2{a{E1 z1wIiAE8Ab{MjFF^#abJ$8fwd&jK2+)?^&&qNarqPzMT`D&t9Zr>KOrvhfryG64VQ0$DAB@DI1>J9rnP>ezW^hb->rf!6zZjnm7gt!x?hFGU?BPVR;UBm! z$(rv-j*ba%yuT{{`9QXhtasUku#oWNe5(`~uEJa=sb>Ja{DQLsZ`C$NSRDum905#x zrS*@+dv$88V$<#jK2Z_^JEw( z`c3(vp>et8rCg0nx5b+Y;)^ByRzCID-}Q{FjxP3%=v*n>G4yEQiu%__m{xfK3iABx zU$6dko8-18+hZ2X{zbW*YDdc{hySvZ0*PIGM6b zm^He5tlZM3wvYvV76&y8z2T}B?U0pWzP}`{2qa8)x>@&1H>2cR^bNihkx-V!9fLc6 zo(fRc_`z8t#n`!1=szAlN~W`v-@-aj=gYl(h*9RAs(V|iHY~UH{gLzh8g^R1+1#Bc zb1fZ(YdOx2lIf>^YxRU%Y4CCNQYmF-BgdFx+!f_7e?BcAoy@L#tW5VZ^W-n?@5chm8ytGOtw-3JNR;AzQ^*>>s2Gq3SEM?HJ-{RtRUX{_RVOO_=t)Vb zr*FZa{4=>4h0fzeC7M-X@{T-ZgU^T(_i(`Rm}j&Z_G~9`68r6T0KaHzVueVsz2Eaa zr$4@AfG_0x?hEqRiW?n}ml{K3QiL>VNIT9i^a_0@r{Q1P^vUX_r+s^a9?t+sM11n} zUi2F0 zZ6udFj+ClIyt5XLrMzIBs5}YKymKSi{`~ufDPN&sk4!$*J|QXAwDpa!ShPv$VrHV` zoV&ldh11kL6xb}25?ILLz z{*Zx`>B-|csU5kYy%7D^4rw#J7+Zo-ef?A@?G%<5G$JTGW=bM z?NYz43Mf(b& zFGfSsHeTO4$#yoJK~Sx1=F0TZ8pVJJXOw}js0MNO=6p)kj z@o>l1`)C67@GiI|dSz6rv;J@ZeUc1<;|GeT;3Z;~OS|^B4=V?|osD6y*0+LS7tK>a z-KQcbsNJ2ixRb-plMj5ELNryMich)JSs1UYYgVH?Tw;Kv@bdMND8f31-d)E)KEqC!jj zzA>H!s)zM>t4+SmDK}-^x67*$5JpLT?R~aWL`5A|N%MnYlld3MXCcZXsb2)Mjv6^J zG4O5r;2;aQ=3b*G9MbP31CA|?V2Ob2iWp+UVVy~aHOd|-kdA!k@@IUW$Vcqhl0Rl_1}KsJ~W1+}s$E|SUX68pc5J`BYTm3BnviKIz@pQ<@Q?NRPJ z*qKw7d))T*1Q1-Hy?Df%7bnqWP|{ex7%4WI3Z7h;&C`1L`>RYwPu>~%SR|88aeJX* z#@W&p>&0zjwD+*gCJ5Oij5V%GcNz&B$xwRzhP@Q+-5gH%XfCo*8<4a=`cmg;^=tj^ z_o9BJg|n+NbG=Q|g#8NyS9gXNq_HB#t-;gSq7k()Pily$x#ls{ikm=(H@NQkd;}|+ z7t=PJ8cUuujZl}Jm-8HE{|=;^rD!=eN40MH3_Dr$9|e+f(8Yin+xkRYHxB6gn0;85 zAQ|pww^yoTq9VRKOL>Y~a89`sx^N-3t7Y7}-vsNzQFwO2{*yF`&&qGdO3EBPO#H-1nd-|L+z<2%{KgwU3!t1rxk0eshA9#t*uxq} zOnFOf1r5GYi0c#(B@QIPzoor|pa;iq>z0<7_9dACg31O!!Ow!w2enFf_)Chs3~{vS znDtdd5q(Ae8Q(&fD-jKAXM%-JJ!*9`X2qM-3ENFo8np-?I@2(ubv4-m>?QbUXKd6!UY=DL5W8Q!U zQ|K!BsD!$5V9>_vGq2_5QeVOAyoD_I#YLn@uOYo*h45>}#-egLhdUXAuhq~xUFgrC z5e&`F>*C?Bty;++9(DaW>?;1Zkxe zr7hRy-z+%`%xypd{}|zEUwYk|k-;`bf>g_WSGd{A5_1w&HyIoE(}=PyWH+RgvSrb} z+1bN`r!rraBKd0n>2*rp!rt|hmri@S^99{(>JS0 z>{FAxXcM|~UvtCT!Rc|)HF@*;lR=qY#{tjVN)=`rqsovh57 z^rb^TP9%Uqxqx`1-!rl!|N) zo@SsLIbM&>j-BUk#27fgZSsWoI-gp`>7;2I)5Hs>B?=T}I$p4H-@PUSOi<=~mx^P% zq05ST_`_9BT3^7XE$wlM^7Ta;ak7dt-V=H{vcJgNms}X!&M4$RS3j%+t_EaD)Ee&h zsrTC-GPC&}FRHo`qE#;43@-KsvbJi@83>~JCpj{+>pNt788n{3qE=5!g(O3^o3QM8 zpVe|;u^45aXevU0&lpRO%m*0S*d+8$vbNw8Bahbl{4>pbzE#Vw_KIsJtoI@5qaB_` z(sJN6sBk~%gXiGTt|trIEuWP|XB82mrU5i+r0r`C`TU`=dZq!5>4}9l%k@BddtoZs zH{aenmh5JqK{HNuVvCLB4$tt|DqjX1Q~67dew^QE;(K{#>a)F#EAj^A*}hp+qAm|L zz4&1JC;9gqGOiob<-`?0CWr1LiFm53_Nx_~>9=#JWUl^1K1|@C?vK-BNgw8LSM6b$ zxiY-{tS4_Z37X!8{tB(-j9Xt^n*4qGE8#TeSWzTHT?OxlTYcOOs^VBaJQYUBKFhqn znsqnRz==hA;mexmQV&PQ92)%PWfK&zFyq1j4dkeeH$I2Ajjh&LZBxNcz&f7tOYA>n zx%v|r7qxNsud>aRqARN@fM?Mdjq(3t?>)nsTDSJ!Wfu@p5D*b!L3&ZDfCK>n=|y@K zk=~@Y1eQt>X;LE~M0%u34K*ko0t9KHBfW%P0tqCXiEHh>*V^xY@Aq8Sxz3k!op1RN zCNp!6IiC59ao@i|nQkQCAyCF>15XuH(=z;CL)}p@TotS$#;8RW?MGXGwmd%`Wz{&sVvS+czT{Vjpl;PNL0C)=>Ku(F*ol{`%rBMJ^eNM+MPCaMsXjLt9;I8Xv>hu4E2 zjU8yqera$nFb+O&7SqZ-D-UPCmM3>xj}FuFwn#0^3GBkD!?U*TAL(&8*CcF5D?z9q zJZswNGI3$<(^)<6O(vgphF&#JiIW>hLG@tIyF2H zv$2mqS$h`QM1rdbv)EFg7X==NnnhlZp+{E6tw&aH=@^SS6tS!z2Mu=^-N;V?nauzz zpmP;0<4@4!0DfT&Itx!SJ zS{H^jnqd3+dffV9CUi~G%iT#g<#?-GEGf);GR`p5${*RVmB)7%0OB_&msOY?38KZ& zCa&`pN#2vb7}Q6B_PXs(9Fv;x^0`@_;u`hACoU-776&ENi_&&#j3@Avx%j|)6?1dbl2(YFVtBFo>wf9Ex?@F2z}p415d8=kONKcn86F zCo05ghfXBVv}SV04wg1zaYX>50F{+3FLJF`)0zU6&wjNH4BZned=bq2zJh!4-XZJK z+oAf4g*!ITw%Wy_^~D;7`Buw9uZfIpkri&PAb#Junv9w&W-2RX!9lV;@;AX zqhcs&R{f#K=w-e<-JyPrY8am22PH2!ly`KMCklbV9;E59>51qAVRTXNBbA%_h8j|& z0*&=V`?ne!ur14p7w9#?oyFt$1Px{>v55?2vxF_!Vj#dq<3$_dLv2F$YHSiV3=vTb zeAwV*n1S?(|s=%gu0y%@O6m8Ki1zSo&Ap)xE2Nm$6M(Df5Kt ztl6%IFce8lS$ufq#L=eWSk@UE{@aEdFl8(plqUfF#6 zM%t_){(zB&w!&><>fW_bSu>yYP75s-%0bk`Am56rK3cf)dQXtJg87)GM2Ih*z>`I9yq`oTT!b+omvpl0g?UvS^yD8``7T z*ZyXdHm~WbG~qxJ`v9=MzOFgZ6?83T#miPCOW5?ZCEb<_)xBCEwmvAmvw3&9DIuUT zPW_YX5Fshi!878Cj-joK$g4JBSJBh{Xm`_63ldvJ?3(+Md!fD zA<*u;aEsL}^wLO@n4oB<{Q@;IbVI9!t!PjJs#a{*?}e4oeTNXYyKdiuVL8P6hX=D7 zH#1-L$)EhnL495{Xth_t@QZ)GO9J2bfRmDqm0p{+C*6s)i?{GB@G|k@j)Pjg$$?VI zkxD|r+g({Mhb|vY*7~pZOBF!i))O6Z_!g)vV;qN>3&dEiMkFZ($)?M!3_LXah8YBy zQbHl@rD2vYmO5aV za^tOFa-AkaBW;5f*O$*RG!h|f=|+c(kfX4&Th#Krg*;>S5Ru2}YueAKcP2kr7f zCggVeQFG>%Ln0!J=9=rNDWO7jgr3BNqOhym!MH9<4Ght<(rgo1x9Oxzi-sB>xhY-E z8#FU@Da{zF?*L_*ub>2wJOSEj()*9oWh>V8QL22i4bqR0qgV1grF@Ybeu*75$tO20 z>1^jc9c-MC!?V}-T_*R7h7$Rb^*`fB^ZQVUk0WK$qC*?8c2lTAyP*QR$pnBwvcPkQ zoDO0BXazHEoiDqCWUAahGu;csO?Y~j) zazn)aCE%xU&@*ujF3-}cOGUH|5=b=CABPIDqJ>69hOg?iEGT$dO3MYn3r#dOfHB*9 z{Uu;8foV!;{qiSi^1cSG3avNMEPh<*))zUc{@D$DwWyFcG>=#)!=PU6F9639?B4MK zGsNYNhQvR3?MbpKz&tNA%e`z3Kmxff)d=*a*wHxid~}>WP*uT?L!5X0Jy^z$hYTz$ zwsl^r@GTIZ+DFh|j3oU&=k-M+f!iScn}N48fb>{j_|mqa#y3>+)Ri<+<0F)c#XS#9 z;ZI2xg|p~A7CVC+>#ig990DUfBwbvJ8WvuZjk}@es@~Uhi+xtl@RUmVk<`H zj=>cms;&YW>y!}uFCO1ROkJYBaSfkF^ao$?gOkT6^LPCfH?|6m3X`xddG~_DSoSOnR0RDa z0=?Bx_`L8gl>bI$mN4847;*mKw0i@&rv(_YXYZ)dEqXQ2p|yC(9cb2L{hAP0{^k7q ztbXMyDl2j?b#=54H6ih3rkI8ByvAc=qc8H&a~F5Qy~QE>!+Uy;Qnvb*P(qDg3NS~G zN&E%KeYB%($X-%eH>p_zS2liAdWE-a|Ep>0rdeJo*M*Z+D^~e2COJ++dTKc4kwU8t z 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 Aa{vGU diff --git a/book2/docs/generating-proofs/prover-network/key-setup.md b/book2/docs/generating-proofs/prover-network/key-setup.md deleted file mode 100644 index 222fba840f..0000000000 --- a/book2/docs/generating-proofs/prover-network/key-setup.md +++ /dev/null @@ -1,40 +0,0 @@ -# Prover Network: Key Setup - -The prover network uses Secp256k1 keypairs for authentication, similar to Ethereum wallets. You may generate a new keypair explicitly for use with the prover network, or use an existing keypair. - -> **You do not need to hold any funds in this account, it is used solely for access control.** - -### Generate a Public Key - -Prover network keypair credentials can be generated using the -[cast](https://book.getfoundry.sh/cast/) CLI tool. - -First install [Foundry](https://book.getfoundry.sh/getting-started/installation#using-foundryup): - -```sh -curl -L https://foundry.paradigm.xyz | bash -``` - -Upon running this command, you will be prompted to source your shell profile and run `foundryup`. Afterwards you should have access to the `cast` command. - -Use `cast` to generate a new keypair: - -```sh -cast wallet new -``` - -which will give you an output similar to this: - -![Screenshot from running 'cast wallet new' to generate an SP1_PRIVATE_KEY.](../prover-network/key.png) - -The "Address" what you should submit in the [form](https://forms.gle/rTUvhstS8PFfv9B3A), in the example above this is `0x552f0FC6D736ed965CE07a3D71aA639De15B627b`. The "Private key" should be kept safe and -secure. When interacting with the network, you will set your `SP1_PRIVATE_KEY` environment variable -to this value. - -### Retrieve an Existing Key - -If you already have an existing key you would like to use, you can also use `cast` retrieve your address: - -```sh -cast wallet address --private-key $PRIVATE_KEY -``` diff --git a/book2/docs/generating-proofs/prover-network/key.png b/book2/docs/generating-proofs/prover-network/key.png deleted file mode 100644 index ccbb4b8974830a141d0e20687d2b52f42af3bbf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10085 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 **See [Supported Versions](./versions.md) for the currently supported versions of SP1 on the Prover Network.** - -## Sending a proof request - -To use the prover network to generate a proof, you can run your script that uses `sp1_sdk::ProverClient` as you would normally but with additional environment variables set: - -```rust -// Generate the proof for the given program. -let client = ProverClient::new(); -let (pk, vk) = client.setup(ELF); -let mut proof = client.prove(&pk, stdin).run().unwrap(); -``` - -```sh -SP1_PROVER=network SP1_PRIVATE_KEY=... RUST_LOG=info cargo run --release -``` - -- `SP1_PROVER` should be set to `network` when using the prover network. - -- `SP1_PRIVATE_KEY` should be set to your [private key](../prover-network.md#key-setup). You will need - to be using a [whitelisted](../prover-network.md#get-access) key to use the network. - -When you call any of the prove functions in ProverClient now, it will first simulate your program, then wait for it to be proven through the network and finally return the proof. - -## View the status of your proof - -You can view your proof and other running proofs on the [explorer](https://explorer.succinct.xyz/). The page for your proof will show details such as the stage of your proof and the cycles used. It also shows the program hash which is the keccak256 of the program bytes. - -![Screenshot from explorer.succinct.xyz showing the details of a proof including status, stage, type, program, requester, prover, CPU cycles used, time requested, and time claimed.](./explorer.png) - -## Advanced Usage - -### Skip simulation - -To skip the simulation step and directly submit the program for proof generation, you can set the `SKIP_SIMULATION` environment variable to `true`. This will save some time if you are sure that your program is correct. If your program panics, the proof will fail and ProverClient will panic. - -### Use NetworkProver directly - -By using the `sp1_sdk::NetworkProver` struct directly, you can call async functions directly and have programmatic access to the proof ID and download proofs by ID. - -```rust -impl NetworkProver { - /// Creates a new [NetworkProver] with the private key set in `SP1_PRIVATE_KEY`. - pub fn new() -> Self; - - /// Creates a new [NetworkProver] with the given private key. - pub fn new_from_key(private_key: &str); - - /// Requests a proof from the prover network, returning the proof ID. - pub async fn request_proof( - &self, - elf: &[u8], - stdin: SP1Stdin, - mode: ProofMode, - ) -> Result; - - /// Waits for a proof to be generated and returns the proof. If a timeout is supplied, the - /// function will return an error if the proof is not generated within the timeout. - pub async fn wait_proof( - &self, - proof_id: &str, - timeout: Option, - ) -> Result; - - /// Get the status and the proof if available of a given proof request. The proof is returned - /// only if the status is Fulfilled. - pub async fn get_proof_status( - &self, - proof_id: &str, - ) -> Result<(GetProofStatusResponse, Option)>; - - /// Requests a proof from the prover network and waits for it to be generated. - pub async fn prove( - &self, - elf: &[u8], - stdin: SP1Stdin, - mode: ProofMode, - timeout: Option, - ) -> Result; -} -``` diff --git a/book2/docs/generating-proofs/prover-network/versions.md b/book2/docs/generating-proofs/prover-network/versions.md deleted file mode 100644 index 31503adb80..0000000000 --- a/book2/docs/generating-proofs/prover-network/versions.md +++ /dev/null @@ -1,30 +0,0 @@ -# Supported Versions - -The prover network currently only supports specific versions of SP1: - -| Version | Description | -| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| v2.X.X | Audited, production ready version. | -| v3.X.X | Pre-release version with enhanced performance, currently being audited. **Recommended for benchmarking or testing, not recommended for production use.** | - -`X` denotes that any minor and patch version is supported (e.g. `v2.1.0`, `v2.1.1`). - -If you submit a proof request to the prover network and you are not using a supported version, you will receive an error message. - -## Changing versions - -You must switch to a supported version before submitting a proof. To do so, replace the `sp1-zkvm` version in your program's `Cargo.toml`: - -```toml -[dependencies] -sp1-zkvm = "2.0.0" -``` - -replace the `sp1-sdk` version in your script's `Cargo.toml`: - -```toml -[dependencies] -sp1-sdk = "2.0.0" -``` - -Re-build your program and script, and then try again. diff --git a/book2/docs/generating-proofs/recommended-workflow.mdx b/book2/docs/generating-proofs/recommended-workflow.mdx deleted file mode 100644 index 5c721f0cbd..0000000000 --- a/book2/docs/generating-proofs/recommended-workflow.mdx +++ /dev/null @@ -1,57 +0,0 @@ -import Example from "../../static/examples_fibonacci_script_bin_execute.rs.mdx"; - -# Recommended Workflow for Developing with SP1 - -We recommend the following workflow for developing with SP1. - -## Step 1: Iterate on your program with execution only - -While iterating on your SP1 program, you should **only execute** the program with the RISC-V runtime. This will allow you to verify the correctness of your program and test the `SP1Stdin` as well as the `SP1PublicValues` that are returned, without having to generate a proof (which can be slow and/or expensive). If the execution of your program succeeds, then proof generation should succeed as well! - - - -Note that printing out the total number of executed cycles and the full execution report provides helpful insight into proof generation latency and cost either for local proving or when using the prover network. - -**Crate Setup:** We recommend that your program crate that defines the `main` function (around which you wrap the `sp1_zkvm::entrypoint!` macro) should be kept minimal. Most of your business logic should be in a separate crate (in the same repo/workspace) that can be tested independently and that is not tied to the SP1 zkVM. This will allow you to unit test your program logic without having to worry about the `zkvm` compilation target. This will also allow you to efficient reuse types between your program crate and your crate that generates proofs. - -## Step 2: Generate proofs - -After you have iterated on your program and finalized that it works correctly, you can generate proofs for your program for final end to end testing or production use. - -### Generating proofs on the prover network (recommended) - -Using Succinct's prover prover network will generally be faster and cheaper than local proving, as it parallelizes proof generation amongst multiple machines and also uses SP1's GPU prover that is not yet available for local proving. Follow the [setup instructions](./prover-network.md) to get started with the prover network. Using the prover network only requires adding 1 environment variable from a regular SP1 proof generation script with the `ProverClient`. - -There are a few things to keep in mind when using the prover network. - -### Prover Network FAQ - -#### Benchmarking latency on the prover network - -The prover network currently parallelizes proof generation across multiple machines. This means the latency of proof generation does not scale linearly with the number of cycles of your program, but rather with the number of cycles of your program divided by the number of currently available machines on the prover network. - -Our prover network currently has limited capacity because it is still in beta. If you have an extremely latency sensitive use-case and you want to figure out the **minimal latency possible** for your program, you should [reach out to us](https://partner.succinct.xyz/) and we can onboard you to our reserved capacity cluster that has a dedicated instances that can significantly reduce latency. - -#### Costs on the prover network - -The cost of proof generation on the prover network scales approximately linearly with the number of cycles of your program (along with the number of `syscalls` that your program makes). For larger workloads with regular proof frequency (like rollups and light clients), we can offer discounted pricing. To figure out how much your program will cost to prove, you can get [in touch with us](https://partner.succinct.xyz/) to discuss pricing options. - -Note that **latency is not the same as cost**, because we parallelize proof generation across multiple machines, so two proofs with the same latency can be using a different number of machines, impacting the cost. - -#### Benchmarking on small vs. large programs - -In SP1, there is a fixed overhead for proving that is independent of your program's cycle count. This means that benchmarking on _small programs_ is not representative of the performance of larger programs. To get an idea of the scale of programs for real-world workloads, you can refer to our [benchmarking blog post](https://blog.succinct.xyz/sp1-production-benchmarks) and also some numbers below: - -- An average Ethereum block can be between 100-500M cycles (including merkle proof verification for storage and execution of transactions) with our `keccak` and `secp256k1` precompiles. -- For a Tendermint light client, the average cycle count can be between 10M and 50M cycles (including our ed25519 precompiles). -- We consider programs with \<2M cycles to be "small" and by default, the fixed overhead of proving will dominate the proof latency. If latency is incredibly important for your use-case, we can specialize the prover network for your program if you reach out to us. - -Note that if you generate Groth16 or PLONK proofs on the prover network, you will encounter a fixed overhead for the STARK -> SNARK wrapping step. We're actively working on reducing this overhead in future releases. - -#### On-Demand vs. Reserved Capacity - -The prover network is currently in beta and has limited capacity. For high volume use-cases, we can offer discounted pricing and a reserved capacity cluster that has a dedicated instances that can significantly reduce latency and have higher throughput and guaranteed SLAs. - -### Generating proofs locally - -If you want to generate proofs locally, you can use the `sp1_sdk` crate to generate proofs locally as outlined in the [Basics](./basics.md) section. By default, the `ProverClient` will generate proofs locally using your CPU. Check out the hardware requirements for locally proving [here](../getting-started/hardware-requirements.md#local-proving). diff --git a/book2/docs/generating-proofs/setup.md b/book2/docs/generating-proofs/setup.md deleted file mode 100644 index 6e9b5483c7..0000000000 --- a/book2/docs/generating-proofs/setup.md +++ /dev/null @@ -1,38 +0,0 @@ -# Setup - -In this section, we will teach you how to setup a self-contained crate which can generate proofs of programs that have been compiled with the SP1 toolchain inside the SP1 zkVM, using the `sp1-sdk` crate. - -## CLI (Recommended) - -The recommended way to setup your first program to prove inside the zkVM is using the method described in [Quickstart](../getting-started/quickstart.md) which will create a script folder. - -```bash -cargo prove new -cd script -``` - -## Manual - -You can also manually setup a project. First create a new cargo project: - -```bash -cargo new script -cd script -``` - -#### Cargo Manifest - -Inside this crate, add the `sp1-sdk` crate as a dependency. Your `Cargo.toml` should look like as follows: - -```rust -[workspace] -[package] -version = "0.1.0" -name = "script" -edition = "2021" - -[dependencies] -sp1-sdk = "2.0.0" -``` - -The `sp1-sdk` crate includes the necessary utilities to generate, save, and verify proofs. diff --git a/book2/docs/generating-proofs/sp1-sdk-faq.md b/book2/docs/generating-proofs/sp1-sdk-faq.md deleted file mode 100644 index ca2a0a0596..0000000000 --- a/book2/docs/generating-proofs/sp1-sdk-faq.md +++ /dev/null @@ -1,15 +0,0 @@ -# FAQ - -## Logging and Tracing Information - -You can use `sp1_sdk::utils::setup_logger()` to enable logging information respectively. You can set the logging level with the `RUST_LOG` environment variable. - -```rust -sp1_sdk::utils::setup_logger(); -``` - -Example of setting the logging level to `info` (other options are `debug`, `trace`, and `warn`): - -```bash -RUST_LOG=info cargo run --release -``` \ No newline at end of file diff --git a/book2/docs/getting-started/hardware-requirements.md b/book2/docs/getting-started/hardware-requirements.md deleted file mode 100644 index 828ea96080..0000000000 --- a/book2/docs/getting-started/hardware-requirements.md +++ /dev/null @@ -1,41 +0,0 @@ -# Proof Generation Requirements - -

-We recommend that developers who want to use SP1 for non-trivial programs generate proofs on our prover network. The prover network generates SP1 proofs across multiple machines, reducing latency and also runs SP1 on optimized hardware instances that result in faster + cheaper proof generation times. - -We recommend that for any production benchmarking, you use the prover network to estimate latency and costs of proof generation. - -
- -## Local Proving - -If you want to generate SP1 proofs locally, this section has an overview of the hardware requirements required. These requires depend on which [types of proofs](../generating-proofs/proof-types.md) you want to generate and can also change over time as the design of the zKVM evolves. - -**The most important requirement is CPU for performance/latency and RAM to prevent running out of memory.** - -| | Mock / Network | Core / Compress | Groth16 and PLONK (EVM) | -| -------------- | ---------------------------- | ---------------------------------- | ----------------------- | -| CPU | 1+, single-core perf matters | 16+, more is better | 16+, more is better | -| Memory | 8GB+, more is better | 16GB+, more if you have more cores | 16GB+, more is better | -| Disk | 10GB+ | 10GB+ | 10GB+ | -| EVM Compatible | ✅ | ❌ | ✅ | - -### CPU - -The execution & trace generation of the zkVM is mostly CPU bound, having a high single-core -performance is recommended to accelerate these steps. The rest of the prover is mostly bound by hashing/field operations -which can be parallelized with multiple cores. - -### Memory - -Our prover requires keeping large matrices (i.e., traces) in memory to generate the proofs. Certain steps of the prover -have a minimum memory requirement, meaning that if you have less than this amount of memory, the process will OOM. - -This effect is most noticeable when using the Groth16 or PLONK provers. - -### Disk - -Disk is required to install the SP1 zkVM toolchain and to install the circuit artifacts, if you -plan to locally build the Groth16 or PLONK provers. - -Furthermore, disk is used to checkpoint the state of the program execution, which is required to generate the proofs. diff --git a/book2/docs/getting-started/install.md b/book2/docs/getting-started/install.md deleted file mode 100644 index e58b9a624e..0000000000 --- a/book2/docs/getting-started/install.md +++ /dev/null @@ -1,115 +0,0 @@ -# Installation - -SP1 currently runs on Linux and macOS. You can either use prebuilt binaries through sp1up or -build the Succinct [Rust toolchain](https://rust-lang.github.io/rustup/concepts/toolchains.html) and CLI from source. - -## Requirements - -- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) -- [Rust (Nightly)](https://www.rust-lang.org/tools/install) -- [Docker](https://docs.docker.com/get-docker/) - -## Option 1: Prebuilt Binaries (Recommended) - -`sp1up` is the SP1 toolchain installer. Open your terminal and run the following command and follow the instructions: - -```bash -curl -L https://sp1.succinct.xyz | bash -``` - -Then simply follow the instructions on-screen, which will make the `sp1up` command available in your CLI. - -After following the instructions, you can run `sp1up` to install the toolchain and the `cargo prove` CLI: - -```bash -sp1up -``` - -This will install two things: - -1. The `succinct` Rust toolchain which has support for the `riscv32im-succinct-zkvm-elf` compilation target. -2. `cargo prove` CLI tool that provides convenient commands for compiling SP1 programs and other helper functionality. - -You can verify the installation of the CLI by running `cargo prove --version`: - -```bash -cargo prove --version -``` - -You can check the version of the Succinct Rust toolchain by running: - -```bash -RUSTUP_TOOLCHAIN=succinct cargo --version -``` -or equivalently: - -```bash -cargo +succinct --version -``` - -If this works, go to the [next section](./quickstart.md) to compile and prove a simple zkVM program. - -### Troubleshooting - -#### Rate-limiting - -If you experience [rate-limiting](https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api?apiVersion=2022-11-28#rate-limiting) when using the `sp1up` command, you can resolve this by using the `--token` flag and providing your GitHub token. To create a Github token, follow the instructions [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic). - - - -#### Unsupported OS Architectures - -Currently our prebuilt binaries are built on Ubuntu 20.04 (22.04 on ARM) and macOS. If your OS uses an older GLIBC version, it's possible these may not work and you will need to [build the toolchain from source](#option-2-building-from-source). - -#### Conflicting `cargo-prove` installations - -If you have installed `cargo-prove` from source, it may conflict with `sp1up`'s `cargo-prove` installation or vice versa. You can remove the `cargo-prove` that was installed from source with the following command: - -```bash -rm ~/.cargo/bin/cargo-prove -``` - -Or, you can remove the `cargo-prove` that was installed through `sp1up`: - -```bash -rm ~/.sp1/bin/cargo-prove -``` - - -## Option 2: Building from Source - -
-Warning: This option will take a long time to build and is only recommended for advanced users. -
- -Make sure you have installed the [dependencies](https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies) needed to build the rust toolchain from source. - -Clone the `sp1` repository and navigate to the root directory. - -```bash -git clone git@github.com:succinctlabs/sp1.git -cd sp1 -cd crates -cd cli -cargo install --locked --path . -cd ~ -cargo prove build-toolchain -``` - -Building the toolchain can take a while, ranging from 30 mins to an hour depending on your machine. If you're on a machine that we have prebuilt binaries for (ARM Mac or x86 or ARM Linux), you can use the following to download a prebuilt version. - -```bash -cargo prove install-toolchain -``` - -To verify the installation of the toolchain, run and make sure you see `succinct`: - -```bash -rustup toolchain list -``` - -You can delete your existing installation of the toolchain with: - -```bash -rustup toolchain remove succinct -``` diff --git a/book2/docs/getting-started/project-template.md b/book2/docs/getting-started/project-template.md deleted file mode 100644 index b6cbd8d733..0000000000 --- a/book2/docs/getting-started/project-template.md +++ /dev/null @@ -1,5 +0,0 @@ -# Project Template - -Another option for getting started with SP1 is to use the [SP1 Project Template](https://github.com/succinctlabs/sp1-project-template/tree/main). - -You can use this as a Github template to create a new repository that has a SP1 program, a script to generate proofs, and also a contracts folder that contains a Solidity contract that can verify SP1 proofs on any EVM chain. diff --git a/book2/docs/getting-started/quickstart.md b/book2/docs/getting-started/quickstart.md deleted file mode 100644 index 824ddbf857..0000000000 --- a/book2/docs/getting-started/quickstart.md +++ /dev/null @@ -1,124 +0,0 @@ -# Quickstart - -In this section, we will show you how to create a simple Fibonacci program using the SP1 zkVM. - -## Create an SP1 Project - -### Option 1: Cargo Prove New CLI (Recommended) - -You can use the `cargo prove` CLI to create a new project using the `cargo prove new <--bare|--evm> ` command. The `--bare` option sets up a basic SP1 project for standalone zkVM programs, while `--evm` adds additional components including Solidity contracts for on-chain proof verification. - -This command will create a new folder in your current directory which includes solidity smart contracts for onchain integration. - -```bash -cargo prove new --evm fibonacci -cd fibonacci -``` - -### Option 2: Project Template (Solidity Contracts for Onchain Verification) - -If you want to use SP1 to generate proofs that will eventually be verified on an EVM chain, you should use the [SP1 project template](https://github.com/succinctlabs/sp1-project-template/tree/main). This Github template is scaffolded with a SP1 program, a script to generate proofs, and also a contracts folder that contains a Solidity contract that can verify SP1 proofs on any EVM chain. - -Either fork the project template repository or clone it: - -```bash -git clone https://github.com/succinctlabs/sp1-project-template.git -``` - -### Project Overview - -Your new project will have the following structure (ignoring the `contracts` folder, if you are using the project template): - -``` -. -├── program -│   ├── Cargo.lock -│   ├── Cargo.toml -│   ├── elf -│   │   └── riscv32im-succinct-zkvm-elf -│   └── src -│   └── main.rs -├── rust-toolchain -└── script - ├── Cargo.lock - ├── Cargo.toml - ├── build.rs - └── src - └── bin - ├── prove.rs - └── vkey.rs - -6 directories, 4 files -``` - -There are 2 directories (each a crate) in the project: -- `program`: the source code that will be proven inside the zkVM. -- `script`: code that contains proof generation and verification code. - -**We recommend you install the [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) extension.** -Note that if you use `cargo prove new` inside a monorepo, you will need to add the manifest file to `rust-analyzer.linkedProjects` to get full IDE support. - -## Build - -Before we can run the program inside the zkVM, it must be compiled to a RISC-V executable using the `succinct` Rust toolchain. This is called an [ELF (Executable and Linkable Format)](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format). To compile the program, you can run the following command: - -``` -cd program && cargo prove build -``` - -which will output the compiled ELF to the file `program/elf/riscv32im-succinct-zkvm-elf`. - -Note: the `build.rs` file in the `script` directory will use run the above command automatically to build the ELF, meaning you don't have to manually run `cargo prove build` every time you make a change to the program! - -## Execute - -To test your program, you can first execute your program without generating a proof. In general this is helpful for iterating on your program and verifying that it is correct. - -```bash -cd ../script -RUST_LOG=info cargo run --release -- --execute -``` - -## Prove - -When you are ready to generate a proof, you should run the script with the `--prove` flag that will generate a proof. - -```bash -cd ../script -RUST_LOG=info cargo run --release -- --prove -``` - -The output should show something like this: -``` -n: 20 -2024-07-23T17:07:07.874856Z INFO prove_core:collect_checkpoints: clk = 0 pc = 0x2017e8 -2024-07-23T17:07:07.876264Z INFO prove_core:collect_checkpoints: close time.busy=2.00ms time.idle=1.50µs -2024-07-23T17:07:07.913304Z INFO prove_core:shard: close time.busy=32.2ms time.idle=791ns -2024-07-23T17:07:10.724280Z INFO prove_core:commit: close time.busy=2.81s time.idle=1.25µs -2024-07-23T17:07:10.725923Z INFO prove_core:prove_checkpoint: clk = 0 pc = 0x2017e8 num=0 -2024-07-23T17:07:10.729130Z INFO prove_core:prove_checkpoint: close time.busy=3.68ms time.idle=1.17µs num=0 -2024-07-23T17:07:14.648146Z INFO prove_core: execution report (totals): total_cycles=9329, total_syscall_cycles=20 -2024-07-23T17:07:14.648180Z INFO prove_core: execution report (opcode counts): -2024-07-23T17:07:14.648197Z INFO prove_core: 1948 add -... -2024-07-23T17:07:14.648277Z INFO prove_core: execution report (syscall counts): -2024-07-23T17:07:14.648408Z INFO prove_core: 8 commit -... -2024-07-23T17:07:14.648858Z INFO prove_core: summary: cycles=9329, e2e=9.193968459, khz=1014.69, proofSize=1419780 -2024-07-23T17:07:14.653193Z INFO prove_core: close time.busy=9.20s time.idle=12.2µs -Successfully generated proof! -fib(n): 10946 -``` - -The program by default is quite small, so proof generation will only take a few seconds locally. After it generates, the proof will be verified for correctness. - -**Note:** When benchmarking proof generation times locally, it is important to note that there is a fixed overhead for proving, which means that the proof generation time for programs with a small number of cycles is not representative of the performance of larger programs (which often have better performance characteristics as the overhead is amortized across many cycles). - -## Recommended Workflow - -Please see the [Recommended Workflow](../generating-proofs/recommended-workflow.md) section for more details on how to develop your SP1 program and generate proofs. - -We *strongly recommend* that developers who want to use SP1 for non-trivial programs generate proofs on the beta version of our [Prover Network](../generating-proofs/prover-network.md). The prover network generates SP1 proofs across multiple machines, reducing latency and also runs SP1 on optimized hardware instances that result in faster + cheaper proof generation times. - -We recommend that for any production benchmarking, you use the prover network to estimate latency and costs of proof generation. We also would love to chat with your team directly to help you get started with the prover network--please fill out this [form](https://partner.succinct.xyz/). - diff --git a/book2/docs/introduction.md b/book2/docs/introduction.md deleted file mode 100644 index f3a645786c..0000000000 --- a/book2/docs/introduction.md +++ /dev/null @@ -1,33 +0,0 @@ -# Introduction - -*Documentation for SP1 users and developers*. - -[![Telegram Chat][tg-badge]][tg-url] - -![](./sp1.png) - - -SP1 is a performant, open-source zero-knowledge virtual machine (zkVM) that verifies the execution of arbitrary Rust (or any LLVM-compiled language) programs. - -[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fsuccinct%5Fsp1 -[tg-url]: https://t.me/+AzG4ws-kD24yMGYx - -SP1 has undergone multiple audits from leading ZK security firms and is currently used in production by many top blockchain teams. - -## The future of ZK is writing normal code - -Zero-knowledge proofs (ZKPs) are one of the most critical technologies to blockchain scaling, interoperability and privacy. But, historically building ZKP systems was extremely complicated--requiring large teams with specialized cryptography expertise and taking years to go to production. - -SP1 provides a performant, general-purpose zkVM that enables **any developer** to use ZKPs by writing normal code (in Rust), and get cheap and fast proofs. SP1 will enable ZKPs to become mainstream, introducing a new era of verifiability for all of blockchain infrastructure and beyond. - - -## SP1 enables a diversity of use-cases - -ZKPs enable a diversity of use-cases in blockchain and beyond, including: - -* Rollups: Use SP1 to generate a ZKP for the state transition function of your rollup and connect to Ethereum, Bitcoin or other chains with full validity proofs or ZK fraud proofs. -* Interoperability: Use SP1 for fast-finality, cross rollup interoperability -* Bridges: Use SP1 to generate a ZKP for verifying consensus of L1s, including Tendermint, Ethereum’s Light Client protocol and more, for bridging between chains. -* Oracles: Use SP1 for large scale computations with onchain state, including consensus data and storage data. -* Aggregation: Use SP1 to aggregate and verify other ZKPs for reduced onchain verification costs. -* Privacy: Use SP1 for onchain privacy, including private transactions and private state. diff --git a/book2/docs/onchain-verification/contract-addresses.md b/book2/docs/onchain-verification/contract-addresses.md deleted file mode 100644 index 3acb971edf..0000000000 --- a/book2/docs/onchain-verification/contract-addresses.md +++ /dev/null @@ -1,80 +0,0 @@ -# Contract Addresses - -To verify SP1 proofs on-chain, we recommend using our deployed canonical verifier gateways. The -[SP1VerifierGateway](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol) -will automatically route your SP1 proof to the correct verifier based on the SP1 version used. - -## Canonical Verifier Gateways - -| Chain ID | Chain | Gateway | -| -------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 1 | Mainnet | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 11155111 | Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 17000 | Holesky | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://holesky.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 42161 | Arbitrum One | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 421614 | Arbitrum Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 8453 | Base | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 84532 | Base Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 10 | Optimism | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://optimistic.etherscan.io/address/0x3b6041173b80e77f038f3f2c0f9744f04837185e) | -| 11155420 | Optimism Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia-optimism.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 534351 | Scroll Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.scrollscan.com/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 534352 | Scroll | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://scrollscan.com/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | - -The most up-to-date reference on each chain can be found in the -[deployments](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/deployments) -directory in the -SP1 contracts repository, where each chain has a dedicated JSON file with each verifier's address. - -## Versioning Policy - -Whenever a verifier for a new SP1 version is deployed, the gateway contract will be updated to -support it with -[addRoute()](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol#L65). -If a verifier for an SP1 version has an issue, the route will be frozen with -[freezeRoute()](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol#L71). - -On mainnets, only official versioned releases are deployed and added to the gateway. Testnets have -`rc` versions of the verifier deployed supported in addition to the official versions. - -## Deploying to other Chains - -In the case that you need to use a chain that is not listed above, you can deploy your own -verifier contract by following the instructions in the -[SP1 Contracts Repo](https://github.com/succinctlabs/sp1-contracts/blob/main/README.md#deployments). - -Since both the `SP1VerifierGateway` and each `SP1Verifier` implement the [ISP1Verifier -interface](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1Verifier.sol), you can choose to either: - -* Deploy the `SP1VerifierGateway` and add `SP1Verifier` contracts to it. Then point to the - `SP1VerifierGateway` address in your contracts. -* Deploy just the `SP1Verifier` contract that you want to use. Then point to the `SP1Verifier` - address in - your contracts. - -If you want support for a canonical verifier on your chain, contact us [here](https://t.me/+AzG4ws-kD24yMGYx). We often deploy canonical verifiers on new chains if there's enough demand. - -## ISP1Verifier Interface - -All verifiers implement the [ISP1Verifier](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1Verifier.sol) interface. - -```c++ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -/// @title SP1 Verifier Interface -/// @author Succinct Labs -/// @notice This contract is the interface for the SP1 Verifier. -interface ISP1Verifier { - /// @notice Verifies a proof with given public values and vkey. - /// @dev It is expected that the first 4 bytes of proofBytes must match the first 4 bytes of - /// target verifier's VERIFIER_HASH. - /// @param programVKey The verification key for the RISC-V program. - /// @param publicValues The public values encoded as bytes. - /// @param proofBytes The proof of the program execution the SP1 zkVM encoded as bytes. - function verifyProof( - bytes32 programVKey, - bytes calldata publicValues, - bytes calldata proofBytes - ) external view; -} -``` diff --git a/book2/docs/onchain-verification/getting-started.mdx b/book2/docs/onchain-verification/getting-started.mdx deleted file mode 100644 index 3cbe73933a..0000000000 --- a/book2/docs/onchain-verification/getting-started.mdx +++ /dev/null @@ -1,34 +0,0 @@ -import Example from "../../static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx"; - - -# Onchain Verification: Setup - -The best way to get started with verifying SP1 proofs on-chain is to refer to the [SP1 Project Template](https://github.com/succinctlabs/sp1-project-template/tree/main). - -- The template [program](https://github.com/succinctlabs/sp1-project-template/blob/main/program/src/main.rs) shows how to write outputs that can be decoded in Solidity. -- The template [script](https://github.com/succinctlabs/sp1-project-template/blob/main/script/src/bin/prove.rs) shows how to generate the proof using the SDK and save it to a file. -- The template [contract](https://github.com/succinctlabs/sp1-project-template/blob/main/contracts/src/Fibonacci.sol) shows how to verify the proof onchain using Solidity. - -Refer to the section on [Contract Addresses](./contract-addresses.md#contract-addresses) for the addresses of the deployed verifiers. - -## Generating SP1 Proofs for Onchain Verification - -By default, the proofs generated by SP1 are not verifiable onchain, as they are non-constant size and STARK verification on Ethereum is very expensive. To generate a proof that can be verified onchain, we use performant STARK recursion to combine SP1 shard proofs into a single STARK proof and then wrap that in a SNARK proof. Our `ProverClient` has a prover option for this called `plonk`. Behind the scenes, this function will first generate a normal SP1 proof, then recursively combine all of them into a single proof using the STARK recursion protocol. Finally, the proof is wrapped in a SNARK proof using PLONK. - -> WARNING: The Groth16 and PLONK provers are only guaranteed to work on official releases of SP1. To -> use Groth16 or PLONK proving & verification locally, ensure that you have Docker installed and have -> at least 128GB of RAM. - -### Example - - - -You can run the above script with `RUST_LOG=info cargo run --bin groth16_bn254 --release` in `examples/fibonacci/script`. - -#### Using Groth16 and PLONK without Docker (Advanced) - -If you would like to run the Groth16 or PLONK prover directly without Docker, you must have Go 1.22 installed and enable the `native-gnark` feature in `sp1-sdk`. This path is not recommended and may require additional native dependencies. - -```toml -sp1-sdk = { version = "2.0.0", features = ["native-gnark"] } -``` diff --git a/book2/docs/onchain-verification/solidity-sdk.md b/book2/docs/onchain-verification/solidity-sdk.md deleted file mode 100644 index 822ab620b9..0000000000 --- a/book2/docs/onchain-verification/solidity-sdk.md +++ /dev/null @@ -1,122 +0,0 @@ -# Solidity Verifier - -We maintain a suite of [contracts](https://github.com/succinctlabs/sp1-contracts/tree/main) used for verifying SP1 proofs onchain. We highly recommend using [Foundry](https://book.getfoundry.sh/). - -## Installation - -To install the latest release version: - -```bash -forge install succinctlabs/sp1-contracts -``` - -To install a specific version: - -```bash -forge install succinctlabs/sp1-contracts@ -``` - -Finally, add `@sp1-contracts/=lib/sp1-contracts/contracts/src/` in `remappings.txt.` - -### Usage - -Once installed, you can use the contracts in the library by importing them: - -```c++ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import {ISP1Verifier} from "@sp1-contracts/ISP1Verifier.sol"; - -/// @title Fibonacci. -/// @author Succinct Labs -/// @notice This contract implements a simple example of verifying the proof of a computing a -/// fibonacci number. -contract Fibonacci { - /// @notice The address of the SP1 verifier contract. - /// @dev This can either be a specific SP1Verifier for a specific version, or the - /// SP1VerifierGateway which can be used to verify proofs for any version of SP1. - /// For the list of supported verifiers on each chain, see: - /// https://docs.succinct.xyz/onchain-verification/contract-addresses - address public verifier; - - /// @notice The verification key for the fibonacci program. - bytes32 public fibonacciProgramVKey; - - constructor(address _verifier, bytes32 _fibonacciProgramVKey) { - verifier = _verifier; - fibonacciProgramVKey = _fibonacciProgramVKey; - } - - /// @notice The entrypoint for verifying the proof of a fibonacci number. - /// @param _proofBytes The encoded proof. - /// @param _publicValues The encoded public values. - function verifyFibonacciProof(bytes calldata _publicValues, bytes calldata _proofBytes) - public - view - returns (uint32, uint32, uint32) - { - ISP1Verifier(verifier).verifyProof(fibonacciProgramVKey, _publicValues, _proofBytes); - (uint32 n, uint32 a, uint32 b) = abi.decode(_publicValues, (uint32, uint32, uint32)); - return (n, a, b); - } -} - -``` - -### Finding your program vkey - -The program vkey (`fibonacciProgramVKey` in the example above) is passed into the `ISP1Verifier` along with the public values and proof bytes. You -can find your program vkey by going through the following steps: - -1. Find what version of SP1 crates you are using. -2. Use the version from step to run this command: `sp1up --version ` -3. Use the vkey command to get the program vkey: `cargo prove vkey -elf ` - -Alternatively, you can set up a simple script to do this using the `sp1-sdk` crate: - -```rust -fn main() { - // Setup the logger. - sp1_sdk::utils::setup_logger(); - - // Setup the prover client. - let client = ProverClient::new(); - - // Setup the program. - let (_, vk) = client.setup(FIBONACCI_ELF); - - // Print the verification key. - println!("Program Verification Key: {}", vk.bytes32()); -} -``` - -### Testing - -To test the contract, we recommend setting up [Foundry -Tests](https://book.getfoundry.sh/forge/tests). We have an example of such a test in the [SP1 -Project -Template](https://github.com/succinctlabs/sp1-project-template/blob/dev/contracts/test/Fibonacci.t.sol). - -### Solidity Versions - -The officially deployed contracts are built using Solidity 0.8.20 and exist on the -[sp1-contracts main](https://github.com/succinctlabs/sp1-contracts/tree/main) branch. - -If you need to use different versions that are compatible with your contracts, there are also other -branches you can install that contain different versions. For -example for branch [main-0.8.15](https://github.com/succinctlabs/sp1-contracts/tree/main-0.8.15) -contains the contracts with: - -```c++ -pragma solidity ^0.8.15; -``` - -and you can install it with: - -```sh -forge install succinctlabs/sp1-contracts@main-0.8.15 -``` - -If there is different versions that you need but there aren't branches for them yet, please ask in -the [SP1 Telegram](https://t.me/+AzG4ws-kD24yMGYx). diff --git a/book2/docs/sp1.png b/book2/docs/sp1.png deleted file mode 100644 index 78576befe311ab327f31e2fd3054f8dddcd081dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66629 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 Twg!hb@;){(x_Gt->KySO+>0Oy diff --git a/book2/docs/theme/head.hbs b/book2/docs/theme/head.hbs deleted file mode 100644 index 2e2be7a19f..0000000000 --- a/book2/docs/theme/head.hbs +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/book2/docs/verification/off-chain-verification.md b/book2/docs/verification/off-chain-verification.md deleted file mode 100644 index a0297229da..0000000000 --- a/book2/docs/verification/off-chain-verification.md +++ /dev/null @@ -1,48 +0,0 @@ -import ProgramMain from "../../static/examples_groth16_program_src_main.rs.mdx"; -import ProgramScript from "../../static/examples_groth16_script_src_main.rs.mdx"; - -# Offchain Verification - -## Rust `no_std` Verification - -You can verify SP1 Groth16 and Plonk proofs in `no_std` environments with [`sp1-verifier`](https://docs.rs/sp1-verifier/latest/sp1_verifier/). - -`sp1-verifier` is also patched to verify Groth16 and Plonk proofs within the SP1 ZKVM, using -[bn254](https://blog.succinct.xyz/succinctshipsprecompiles/) precompiles. For an example of this, see -the [Groth16 Example](https://github.com/succinctlabs/sp1/tree/main/examples/groth16/). - -### Installation - -Import the following dependency in your `Cargo.toml`: - -```toml -sp1-verifier = {version = "3.0.0", default-features = false} -``` - -### Usage - -`sp1-verifier`'s interface is very similar to the solidity verifier's. It exposes two public functions: -[`Groth16Verifier::verify_proof`](https://docs.rs/sp1-verifier/latest/src/sp1_verifier/groth16.rs.html) -and [`PlonkVerifier::verify_proof`](https://docs.rs/sp1-verifier/latest/src/sp1_verifier/plonk.rs.html). - -`sp1-verifier` also exposes the Groth16 and Plonk verifying keys as constants, `GROTH16_VK_BYTES` and `PLONK_VK_BYTES`. These -keys correspond to the current SP1 version's official Groth16 and Plonk verifying keys, which are used for verifying proofs generated -using docker or the prover network. - -First, generate your groth16/plonk proof with the SP1 SDK. See [here](./onchain/getting-started.md#generating-sp1-proofs-for-onchain-verification) -for more information -- `sp1-verifier` and the solidity verifier expect inputs in the same format. - -Next, verify the proof with `sp1-verifier`. The following snippet is from the [Groth16 example program](https://github.com/succinctlabs/sp1/tree/dev/examples/groth16/), which verifies a Groth16 proof within SP1 using `sp1-verifier`. - - - -Here, the proof, public inputs, and vkey hash are read from stdin. See the following snippet to see how these values are generated. - - - -> Note that the SP1 SDK itself is *not* `no_std` compatible. - -## Wasm Verification - -The [`example-sp1-wasm-verifier`](https://github.com/succinctlabs/example-sp1-wasm-verifier) demonstrates how to -verify SP1 proofs in wasm. For a more detailed explanation of the process, please see the [README](https://github.com/succinctlabs/example-sp1-wasm-verifier/blob/main/README.md). diff --git a/book2/docs/verification/onchain/contract-addresses.md b/book2/docs/verification/onchain/contract-addresses.md deleted file mode 100644 index 0a23f6ab2e..0000000000 --- a/book2/docs/verification/onchain/contract-addresses.md +++ /dev/null @@ -1,101 +0,0 @@ -# Contract Addresses - -To verify SP1 proofs on-chain, we recommend using our deployed canonical verifier gateways. The -[SP1VerifierGateway](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol) -will automatically route your SP1 proof to the correct verifier based on the SP1 version used. - -## Canonical Verifier Gateways - -There are different verifier gateway for each proof system: Groth16 and PLONK. This means that you -must use the correct verifier gateway depending on if you are verifying a Groth16 or PLONK proof. - -### Groth16 - -| Chain ID | Chain | Gateway | -| -------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 1 | Mainnet | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://etherscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 11155111 | Sepolia | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://sepolia.etherscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 17000 | Holesky | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://holesky.etherscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 42161 | Arbitrum One | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://arbiscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 421614 | Arbitrum Sepolia | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://sepolia.arbiscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 8453 | Base | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://basescan.org/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 84532 | Base Sepolia | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://sepolia.basescan.org/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 10 | Optimism | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://optimistic.etherscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 11155420 | Optimism Sepolia | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://sepolia-optimism.etherscan.io/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 534351 | Scroll Sepolia | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://sepolia.scrollscan.com/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | -| 534352 | Scroll | [0x397A5f7f3dBd538f23DE225B51f532c34448dA9B](https://scrollscan.com/address/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B) | - -### PLONK - -| Chain ID | Chain | Gateway | -| -------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 1 | Mainnet | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 11155111 | Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 17000 | Holesky | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://holesky.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 42161 | Arbitrum One | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 421614 | Arbitrum Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 8453 | Base | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 84532 | Base Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 10 | Optimism | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://optimistic.etherscan.io/address/0x3b6041173b80e77f038f3f2c0f9744f04837185e) | -| 11155420 | Optimism Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia-optimism.etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 534351 | Scroll Sepolia | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://sepolia.scrollscan.com/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | -| 534352 | Scroll | [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://scrollscan.com/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e) | - -The most up-to-date reference on each chain can be found in the -[deployments](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/deployments) -directory in the -SP1 contracts repository, where each chain has a dedicated JSON file with each verifier's address. - -## Versioning Policy - -Whenever a verifier for a new SP1 version is deployed, the gateway contract will be updated to -support it with -[addRoute()](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol#L65). -If a verifier for an SP1 version has an issue, the route will be frozen with -[freezeRoute()](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1VerifierGateway.sol#L71). - -On mainnets, only official versioned releases are deployed and added to the gateway. Testnets have -`rc` versions of the verifier deployed supported in addition to the official versions. - -## Deploying to other Chains - -In the case that you need to use a chain that is not listed above, you can deploy your own -verifier contract by following the instructions in the -[SP1 Contracts Repo](https://github.com/succinctlabs/sp1-contracts/blob/main/README.md#deployments). - -Since both the `SP1VerifierGateway` and each `SP1Verifier` implement the [ISP1Verifier -interface](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1Verifier.sol), you can choose to either: - -* Deploy the `SP1VerifierGateway` and add `SP1Verifier` contracts to it. Then point to the - `SP1VerifierGateway` address in your contracts. -* Deploy just the `SP1Verifier` contract that you want to use. Then point to the `SP1Verifier` - address in - your contracts. - -If you want support for a canonical verifier on your chain, contact us [here](https://t.me/+AzG4ws-kD24yMGYx). We often deploy canonical verifiers on new chains if there's enough demand. - -## ISP1Verifier Interface - -All verifiers implement the [ISP1Verifier](https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/ISP1Verifier.sol) interface. - -```c++ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -/// @title SP1 Verifier Interface -/// @author Succinct Labs -/// @notice This contract is the interface for the SP1 Verifier. -interface ISP1Verifier { - /// @notice Verifies a proof with given public values and vkey. - /// @dev It is expected that the first 4 bytes of proofBytes must match the first 4 bytes of - /// target verifier's VERIFIER_HASH. - /// @param programVKey The verification key for the RISC-V program. - /// @param publicValues The public values encoded as bytes. - /// @param proofBytes The proof of the program execution the SP1 zkVM encoded as bytes. - function verifyProof( - bytes32 programVKey, - bytes calldata publicValues, - bytes calldata proofBytes - ) external view; -} -``` diff --git a/book2/docs/verification/onchain/getting-started.mdx b/book2/docs/verification/onchain/getting-started.mdx deleted file mode 100644 index dae34a817e..0000000000 --- a/book2/docs/verification/onchain/getting-started.mdx +++ /dev/null @@ -1,35 +0,0 @@ -import Example from "../../../static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx"; - -# Onchain Verification: Setup - -The best way to get started with verifying SP1 proofs on-chain is to refer to the [SP1 Project Template](https://github.com/succinctlabs/sp1-project-template/tree/main). - -- The template [program](https://github.com/succinctlabs/sp1-project-template/blob/main/program/src/main.rs) shows how to write outputs that can be decoded in Solidity. -- The template [script](https://github.com/succinctlabs/sp1-project-template/blob/main/script/src/bin/prove.rs) shows how to generate the proof using the SDK and save it to a file. -- The template [contract](https://github.com/succinctlabs/sp1-project-template/blob/main/contracts/src/Fibonacci.sol) shows how to verify the proof onchain using Solidity. - -Refer to the section on [Contract Addresses](./contract-addresses.md#contract-addresses) for the addresses of the deployed verifiers. - -## Generating SP1 Proofs for Onchain Verification - -By default, the proofs generated by SP1 are not verifiable onchain, as they are non-constant size and STARK verification on Ethereum is very expensive. To generate a proof that can be verified onchain, we use performant STARK recursion to combine SP1 shard proofs into a single STARK proof and then wrap that in a SNARK proof. Our `ProverClient` has a prover option for this called `plonk`. Behind the scenes, this function will first generate a normal SP1 proof, then recursively combine all of them into a single proof using the STARK recursion protocol. Finally, the proof is wrapped in a SNARK proof using PLONK. - -> WARNING: The Groth16 and PLONK provers are only guaranteed to work on official releases of SP1. To -> use Groth16 or PLONK proving & verification locally, ensure that you have Docker installed and have -> at least 128GB of RAM. - -### Example - -```rust -{{#include ../../examples/fibonacci/script/bin/groth16_bn254.rs}} -``` - -You can run the above script with `RUST_LOG=info cargo run --bin groth16_bn254 --release` in `examples/fibonacci/script`. - -#### Using Groth16 and PLONK without Docker (Advanced) - -If you would like to run the Groth16 or PLONK prover directly without Docker, you must have Go 1.22 installed and enable the `native-gnark` feature in `sp1-sdk`. This path is not recommended and may require additional native dependencies. - -```toml -sp1-sdk = { version = "2.0.0", features = ["native-gnark"] } -``` diff --git a/book2/docs/verification/onchain/solidity-sdk.md b/book2/docs/verification/onchain/solidity-sdk.md deleted file mode 100644 index 822ab620b9..0000000000 --- a/book2/docs/verification/onchain/solidity-sdk.md +++ /dev/null @@ -1,122 +0,0 @@ -# Solidity Verifier - -We maintain a suite of [contracts](https://github.com/succinctlabs/sp1-contracts/tree/main) used for verifying SP1 proofs onchain. We highly recommend using [Foundry](https://book.getfoundry.sh/). - -## Installation - -To install the latest release version: - -```bash -forge install succinctlabs/sp1-contracts -``` - -To install a specific version: - -```bash -forge install succinctlabs/sp1-contracts@ -``` - -Finally, add `@sp1-contracts/=lib/sp1-contracts/contracts/src/` in `remappings.txt.` - -### Usage - -Once installed, you can use the contracts in the library by importing them: - -```c++ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import {ISP1Verifier} from "@sp1-contracts/ISP1Verifier.sol"; - -/// @title Fibonacci. -/// @author Succinct Labs -/// @notice This contract implements a simple example of verifying the proof of a computing a -/// fibonacci number. -contract Fibonacci { - /// @notice The address of the SP1 verifier contract. - /// @dev This can either be a specific SP1Verifier for a specific version, or the - /// SP1VerifierGateway which can be used to verify proofs for any version of SP1. - /// For the list of supported verifiers on each chain, see: - /// https://docs.succinct.xyz/onchain-verification/contract-addresses - address public verifier; - - /// @notice The verification key for the fibonacci program. - bytes32 public fibonacciProgramVKey; - - constructor(address _verifier, bytes32 _fibonacciProgramVKey) { - verifier = _verifier; - fibonacciProgramVKey = _fibonacciProgramVKey; - } - - /// @notice The entrypoint for verifying the proof of a fibonacci number. - /// @param _proofBytes The encoded proof. - /// @param _publicValues The encoded public values. - function verifyFibonacciProof(bytes calldata _publicValues, bytes calldata _proofBytes) - public - view - returns (uint32, uint32, uint32) - { - ISP1Verifier(verifier).verifyProof(fibonacciProgramVKey, _publicValues, _proofBytes); - (uint32 n, uint32 a, uint32 b) = abi.decode(_publicValues, (uint32, uint32, uint32)); - return (n, a, b); - } -} - -``` - -### Finding your program vkey - -The program vkey (`fibonacciProgramVKey` in the example above) is passed into the `ISP1Verifier` along with the public values and proof bytes. You -can find your program vkey by going through the following steps: - -1. Find what version of SP1 crates you are using. -2. Use the version from step to run this command: `sp1up --version ` -3. Use the vkey command to get the program vkey: `cargo prove vkey -elf ` - -Alternatively, you can set up a simple script to do this using the `sp1-sdk` crate: - -```rust -fn main() { - // Setup the logger. - sp1_sdk::utils::setup_logger(); - - // Setup the prover client. - let client = ProverClient::new(); - - // Setup the program. - let (_, vk) = client.setup(FIBONACCI_ELF); - - // Print the verification key. - println!("Program Verification Key: {}", vk.bytes32()); -} -``` - -### Testing - -To test the contract, we recommend setting up [Foundry -Tests](https://book.getfoundry.sh/forge/tests). We have an example of such a test in the [SP1 -Project -Template](https://github.com/succinctlabs/sp1-project-template/blob/dev/contracts/test/Fibonacci.t.sol). - -### Solidity Versions - -The officially deployed contracts are built using Solidity 0.8.20 and exist on the -[sp1-contracts main](https://github.com/succinctlabs/sp1-contracts/tree/main) branch. - -If you need to use different versions that are compatible with your contracts, there are also other -branches you can install that contain different versions. For -example for branch [main-0.8.15](https://github.com/succinctlabs/sp1-contracts/tree/main-0.8.15) -contains the contracts with: - -```c++ -pragma solidity ^0.8.15; -``` - -and you can install it with: - -```sh -forge install succinctlabs/sp1-contracts@main-0.8.15 -``` - -If there is different versions that you need but there aren't branches for them yet, please ask in -the [SP1 Telegram](https://t.me/+AzG4ws-kD24yMGYx). diff --git a/book2/docs/what-is-a-zkvm.md b/book2/docs/what-is-a-zkvm.md deleted file mode 100644 index 4f91fa3213..0000000000 --- a/book2/docs/what-is-a-zkvm.md +++ /dev/null @@ -1,35 +0,0 @@ -# What is a zkVM? - -A zero-knowledge virtual machine (zkVM) is zero-knowledge proof system that allows developers to prove the execution of arbitrary Rust (or other LLVM-compiled language) programs. - -Conceptually, you can think of the SP1 zkVM as proving the evaluation of a function `f(x) = y` by following the steps below: - -- Define `f` using normal Rust code and compile it to an ELF (covered in the [writing programs](./writing-programs/setup.md) section). -- Setup a proving key (`pk`) and verifying key (`vk`) for the program given the ELF. -- Generate a proof `π` using the SP1 zkVM that `f(x) = y` with `prove(pk, x)`. -- Verify the proof `π` using `verify(vk, x, y, π)`. - -As a practical example, `f` could be a simple Fibonacci [program](https://github.com/succinctlabs/sp1/blob/main/examples/fibonacci/program/src/main.rs). The process of generating a proof and verifying it can be seen [here](https://github.com/succinctlabs/sp1/blob/main/examples/fibonacci/script/src/main.rs). - -For blockchain applications, the verification usually happens inside of a [smart contract](https://github.com/succinctlabs/sp1-project-template/blob/main/contracts/src/Fibonacci.sol). - -## How does SP1 Work? - -At a high level, SP1 works with the following steps: - -* Write a program in Rust that defines the logic of your computation for which you want to generate a ZKP. -* Compile the program to the RISC-V ISA (a standard Rust compilation target) using the `cargo prove` CLI tool (installation instructions [here](./getting-started/install.md)) and generate a RISC-V ELF file. -* SP1 will prove the correct execution of arbitrary RISC-V programs by generating a STARK proof of execution. -* Developers can leverage the `sp1-sdk` crate to generate proofs with their ELF and input data. Under the hood the `sp1-sdk` will either generate proofs locally or use a beta version of Succinct's prover network to generate proofs. - -SP1 leverages performant STARK recursion that allows us to prove the execution of arbitrarily long programs and also has a STARK -> SNARK "wrapping system" that allows us to generate small SNARK proofs that can be efficiently verified on EVM chains. - -## Proof System - -For more technical details, check out the SP1 technical note that explains our proof system in detail. In short, we use: - -* STARKs + FRI over the Baby Bear field -* We use performant STARK recursion that allows us to prove the execution of arbitrarily long programs -* We have a system of performant precompiles that accelerate hash functions and cryptographic signature verification that allow us to get substantial performance gains on blockchain workloads - - diff --git a/book2/docs/why-use-sp1.md b/book2/docs/why-use-sp1.md deleted file mode 100644 index 44db0ab6bc..0000000000 --- a/book2/docs/why-use-sp1.md +++ /dev/null @@ -1,46 +0,0 @@ -# Why use SP1? - -## Use-Cases - -Zero-knowledge proofs (ZKPs) are a powerful primitive that enable **verifiable computation**. With ZKPs, anyone can verify a cryptographic proof that a program has executed correctly, without needing to trust the prover, re-execute the program or even know the inputs to the program. - -Historically, building ZKP systems has been extremely complicated, requiring large teams with specialized cryptography expertise and taking years to go to production. SP1 is a performant, general-purpose zkVM that solves this problem and creates a future where all blockchain infrastructure, including rollups, bridges, coprocessors, and more, utilize ZKPs **via maintainable software written in Rust**. - -SP1 is especially powerful in blockchain contexts which rely on verifiable computation. Example applications include: -- [Rollups](https://ethereum.org/en/developers/docs/scaling/zk-rollups/): SP1 can be used in combination with existing node infrastructure like [Reth](https://github.com/paradigmxyz/reth) to build rollups with ZKP validity proofs or ZK fraud proofs. -- [Coprocessors](https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA): SP1 can be used to outsource onchain computation to offchain provers to enable use cases such as large-scale computation over historical state and onchain machine learning, dramatically reducing gas costs. -- [Light Clients](https://ethereum.org/en/developers/docs/nodes-and-clients/light-clients/): SP1 can be used to build light clients that can verify the state of other chains, facilitating interoperability between different blockchains without relying on any trusted third parties. - -SP1 has already been integrated in many of these applications, including but not limited to: - -- [SP1 Tendermint](https://github.com/succinctlabs/sp1-tendermint-example): An example of a ZK Tendermint light client on Ethereum powered by SP1. -- [SP1 Reth](https://github.com/succinctlabs/rsp): A performant, type-1 zkEVM written in Rust & SP1 using Reth. -- [SP1 Contract Call](https://github.com/succinctlabs/sp1-contract-call): A lightweight library to generate ZKPs of Ethereum smart contract execution -- and many more! - -SP1 is used by protocols in production today: - -- [SP1 Blobstream](https://github.com/succinctlabs/sp1-blobstream): A bridge that verifies [Celestia](https://celestia.org/) “data roots” (a commitment to all data blobs posted in a range of Celestia blocks) on Ethereum and other EVM chains. -- [SP1 Vector](https://github.com/succinctlabs/sp1-vector): A bridge that relays [Avail's](https://www.availproject.org/) merkle root to Ethereum and also functions as a token bridge from Avail to Ethereum. - - -## 100x developer productivity - -SP1 enables teams to use ZKPs in production with minimal overhead and fast timelines. - -**Maintainable:** With SP1, you can reuse existing Rust crates, like `revm`, `reth`, `tendermint-rs`, `serde` and more, to write your ZKP logic in maintainable, Rust code. - -**Go to market faster:** By reusing existing crates and expressing ZKP logic in regular code, SP1 significantly reduces audit surface area and complexity, enabling teams to go to market with ZKPs faster. - -## Blazing Fast Performance - -SP1 is the fastest zkVM and has blazing fast performance on a variety of realistic blockchain workloads, including light clients and rollups. With SP1, ZKP proving costs are an order of magnitude less than alternative zkVMs or even circuits, making it cost-effective and fast for practical use. - -Read more about our benchmarking results [here](https://blog.succinct.xyz/sp1-benchmarks-8-6-24). - -## Open Source - -SP1 is 100% open-source (MIT / Apache 2.0) with no code obfuscation and built to be contributor friendly, with all development done in the open. Unlike existing zkVMs whose constraint logic is closed-source and impossible to audit or modify, SP1 is modularly architected and designed to be customizable from day one. This customizability (unique to SP1) allows for users to add “precompiles” to the core zkVM logic that yield substantial performance gains, making SP1’s performance not only SOTA vs. existing zkVMs, but also competitive with circuits in a variety of use-cases. - - - diff --git a/book2/docs/writing-programs/basics.mdx b/book2/docs/writing-programs/basics.mdx deleted file mode 100644 index f300f3c3c7..0000000000 --- a/book2/docs/writing-programs/basics.mdx +++ /dev/null @@ -1,15 +0,0 @@ -import Example from "../../static/examples_fibonacci_program_src_main.rs.mdx"; - -# Basics - -The easiest way to understand how to write programs for the SP1 zkVM is to look at some examples. - -## Example: Fibonacci - -This program is from the `examples` [directory](https://github.com/succinctlabs/sp1/tree/main/examples) in the SP1 repo which contains several example programs of varying complexity. - - - -As you can see, writing programs is as simple as writing normal Rust. - -After you've written your program, you must compile it to an ELF that the SP1 zkVM can prove. To read more about compiling programs, refer to the section on [Compiling Programs](./compiling.md). To read more about how inputs and outputs work, refer to the section on [Inputs & Outputs](./inputs-and-outputs.md). diff --git a/book2/docs/writing-programs/compiling.mdx b/book2/docs/writing-programs/compiling.mdx deleted file mode 100644 index 6586d25539..0000000000 --- a/book2/docs/writing-programs/compiling.mdx +++ /dev/null @@ -1,100 +0,0 @@ -import Example from "../../static/examples_fibonacci_script_build.rs.mdx"; - -# Compiling Programs - -Once you have written an SP1 program, you must compile it to an ELF file that can be executed in the zkVM. The `cargo prove` CLI tool (downloaded during installation) provides convenient commands for compiling SP1 programs. - -## Development Builds - -> WARNING: This may not generate a reproducible ELF which is necessary for verifying that your binary corresponds to given source code. -> -> Use the [reproducible build system](#reproducible-builds-with-docker-production) for production builds. - -To build a program while developing, simply run the following command in the crate that contains your SP1 program: - -```bash -cargo prove build -``` - -This will compile the ELF that can be executed in the zkVM and put it in the file `elf/riscv32im-succinct-zkvm-elf`. The output from the command will look something like this: - -```bash -[sp1] Compiling version_check v0.9.4 -[sp1] Compiling proc-macro2 v1.0.86 -[sp1] Compiling unicode-ident v1.0.12 -[sp1] Compiling cfg-if v1.0.0 -... -[sp1] Compiling sp1-lib v1.0.1 -[sp1] Compiling sp1-zkvm v1.0.1 -[sp1] Compiling fibonacci-program v0.1.0 (/Users/username/Documents/fibonacci/program) -[sp1] Finished `release` profile [optimized] target(s) in 8.33s -``` - -Under the hood, this CLI command calls `cargo build` with the `riscv32im-succinct-zkvm-elf` target and other required environment variables and flags. The logic for this command is defined in the [sp1-build](https://github.com/succinctlabs/sp1/tree/main/build) crate. - -### Advanced Build Options - -You can pass additional arguments to the `cargo prove build` command to customize the build process, like configuring what features are enabled, customizing the output directory and more. To see all available options, run `cargo prove build --help`. Many of these options mirror the options available in the `cargo build` command. - -## Production Builds - -For production builds of programs, you can build your program inside a Docker container which will generate a **reproducible ELF** on all platforms. To do so, just use the `--docker` flag and optionally the `--tag` flag with the release version you want to use (defaults to `latest`). For example: - -```bash -cargo prove build --docker --tag v1.0.1 -``` - -To verify that your build is reproducible, you can compute the SHA-512 hash of the ELF on different platforms and systems with: - -```bash -$ shasum -a 512 elf/riscv32im-succinct-zkvm-elf -f9afb8caaef10de9a8aad484c4dd3bfa54ba7218f3fc245a20e8a03ed40b38c617e175328515968aecbd3c38c47b2ca034a99e6dbc928512894f20105b03a203 -``` - -## Build Script - -If you want your program crate to be built automatically whenever you build/run your script crate, you can add a `build.rs` file inside of `script/` (at the same level as `Cargo.toml` of your script crate) that utilizes the `sp1-build` crate: - - - -The path passed in to `build_program` should point to the directory containing the `Cargo.toml` file for your program. Make sure to also add `sp1-build` as a build dependency in `script/Cargo.toml`: - -```toml -[build-dependencies] -sp1-build = "2.0.0" -``` - -You will see output like the following from the build script if the program has changed, indicating that the program was rebuilt: - -``` -[fibonacci-script 0.1.0] cargo:rerun-if-changed=../program/src -[fibonacci-script 0.1.0] cargo:rerun-if-changed=../program/Cargo.toml -[fibonacci-script 0.1.0] cargo:rerun-if-changed=../program/Cargo.lock -[fibonacci-script 0.1.0] cargo:warning=fibonacci-program built at 2024-03-02 22:01:26 -[fibonacci-script 0.1.0] [sp1] Compiling fibonacci-program v0.1.0 (/Users/umaroy/Documents/fibonacci/program) -[fibonacci-script 0.1.0] [sp1] Finished release [optimized] target(s) in 0.15s -warning: fibonacci-script@0.1.0: fibonacci-program built at 2024-03-02 22:01:26 -``` - -The above output was generated by running `RUST_LOG=info cargo run --release -vv` for the `script` folder of the Fibonacci example. - -### Advanced Build Options - -To configure the build process when using the `sp1-build` crate, you can pass a [`BuildArgs`](https://docs.rs/sp1-build/1.2.0/sp1_build/struct.BuildArgs.html) struct to to the [`build_program_with_args`](https://docs.rs/sp1-build/1.2.0/sp1_build/fn.build_program_with_args.html) function. The build arguments are the same as the ones available from the `cargo prove build` command. - -As an example, you could use the following code to build the Fibonacci example with the `docker` flag set to `true` and a custom output directory for the generated ELF: - -```rust -use sp1_build::{build_program_with_args, BuildArgs}; - -fn main() { - let args = BuildArgs { - docker: true, - output_directory: "./fibonacci-program".to_string(), - ..Default::default() - }; - build_program_with_args("../program", &args); -} -``` - -**Note:** If you want reproducible builds with the `build.rs` approach, you should use the `docker` flag and the `build_program_with_args` function, as shown in the example above. diff --git a/book2/docs/writing-programs/cycle-tracking.mdx b/book2/docs/writing-programs/cycle-tracking.mdx deleted file mode 100644 index bb1d739f57..0000000000 --- a/book2/docs/writing-programs/cycle-tracking.mdx +++ /dev/null @@ -1,124 +0,0 @@ -import Example from "../../static/examples_cycle-tracking_program_bin_normal.rs.mdx"; - -# Cycle Tracking - -When writing a program, it is useful to know how many RISC-V cycles a portion of the program takes to identify potential performance bottlenecks. SP1 provides a way to track the number of cycles spent in a portion of the program. - -## Tracking Cycles with Annotations - -To track the number of cycles spent in a portion of the program, you can either put `println!("cycle-tracker-start: block name")` + `println!("cycle-tracker-end: block name")` statements (block name must be same between start and end) around the portion of your program you want to profile or use the `#[sp1_derive::cycle_tracker]` macro on a function. An example is shown below: - - - -Note that to use the macro, you must add the `sp1-derive` crate to your dependencies for your program. - -```toml -[dependencies] -sp1-derive = "2.0.0" -``` - -In the script for proof generation, setup the logger with `utils::setup_logger()` and run the script with `RUST_LOG=info cargo run --release`. You should see the following output: - -``` -$ RUST_LOG=info cargo run --release - Finished release [optimized] target(s) in 0.21s - Running `target/release/cycle-tracking-script` -2024-03-13T02:03:40.567500Z INFO execute: loading memory image -2024-03-13T02:03:40.567751Z INFO execute: starting execution -2024-03-13T02:03:40.567760Z INFO execute: clk = 0 pc = 0x2013b8 -2024-03-13T02:03:40.567822Z INFO execute: ┌╴setup -2024-03-13T02:03:40.568095Z INFO execute: └╴4,398 cycles -2024-03-13T02:03:40.568122Z INFO execute: ┌╴main-body -2024-03-13T02:03:40.568149Z INFO execute: │ ┌╴expensive_function -2024-03-13T02:03:40.568250Z INFO execute: │ └╴1,368 cycles -stdout: result: 5561 -2024-03-13T02:03:40.568373Z INFO execute: │ ┌╴expensive_function -2024-03-13T02:03:40.568470Z INFO execute: │ └╴1,368 cycles -stdout: result: 2940 -2024-03-13T02:03:40.568556Z INFO execute: └╴5,766 cycles -2024-03-13T02:03:40.568566Z INFO execute: finished execution clk = 11127 pc = 0x0 -2024-03-13T02:03:40.569251Z INFO execute: close time.busy=1.78ms time.idle=21.1µs -``` - -Note that we elegantly handle nested cycle tracking, as you can see above. - -### Get Tracked Cycle Counts - -To include tracked cycle counts in the `ExecutionReport` when using `ProverClient::execute`, use the following annotations: - -```rust -fn main() { - println!("cycle-tracker-report-start: block name"); - // ... - println!("cycle-tracker-report-end: block name"); -} -``` - -This will log the cycle count for `block name` and include it in the `ExecutionReport` in the `cycle_tracker` map. - -## Tracking Cycles with Tracing - -The `cycle-tracker` annotation is a convenient way to track cycles for specific sections of code. However, sometimes it can also be useful to track what functions are taking the most cycles across the entire program, without having to annotate every function individually. - -First, we need to generate a trace file of the program counter at each cycle while the program is executing. This can be done by simply setting the `TRACE_FILE` environment variable with the path of the file you want to write the trace to. For example, you can run the following command in the `script` directory for any example program: - -```bash -TRACE_FILE=trace.log RUST_LOG=info cargo run --release -``` - -When the `TRACE_FILE` environment variable is set, as SP1's RISC-V runtime is executing, it will write a log of the program counter to the file specified by `TRACE_FILE`. - -Next, we can use the `cargo prove` CLI with the `trace` command to analyze the trace file and generate a table of instruction counts. This can be done with the following command: - -```bash -cargo prove trace --elf --trace -``` - -The `trace` command will generate a table of instruction counts, sorted by the number of cycles spent in each function. The output will look something like this: - -``` - [00:00:00] [########################################] 17053/17053 (0s) - -Total instructions in trace: 17053 - - - Instruction counts considering call graph -+----------------------------------------+-------------------+ -| Function Name | Instruction Count | -| __start | 17045 | -| main | 12492 | -| sp1_zkvm::syscalls::halt::syscall_halt | 4445 | -| sha2::sha256::compress256 | 4072 | -| sp1_lib::io::commit | 258 | -| sp1_lib::io::SyscallWriter::write | 255 | -| syscall_write | 195 | -| memcpy | 176 | -| memset | 109 | -| sp1_lib::io::read_vec | 71 | -| __rust_alloc | 29 | -| sp1_zkvm::heap::SimpleAlloc::alloc | 22 | -| syscall_hint_len | 3 | -| syscall_hint_read | 2 | -+----------------------------------------+-------------------+ - - - Instruction counts ignoring call graph -+----------------------------------------+-------------------+ -| Function Name | Instruction Count | -| main | 12075 | -| sha2::sha256::compress256 | 4073 | -| sp1_zkvm::syscalls::halt::syscall_halt | 219 | -| memcpy | 180 | -| syscall_write | 123 | -| memset | 111 | -| sp1_lib::io::commit | 88 | -| sp1_lib::io::SyscallWriter::write | 60 | -| __start | 45 | -| sp1_lib::io::read_vec | 35 | -| sp1_zkvm::heap::SimpleAlloc::alloc | 23 | -| anonymous | 7 | -| __rust_alloc | 7 | -| syscall_hint_len | 4 | -| syscall_hint_read | 3 | -+----------------------------------------+-------------------+ -``` diff --git a/book2/docs/writing-programs/inputs-and-outputs.mdx b/book2/docs/writing-programs/inputs-and-outputs.mdx deleted file mode 100644 index 00788365e0..0000000000 --- a/book2/docs/writing-programs/inputs-and-outputs.mdx +++ /dev/null @@ -1,67 +0,0 @@ -import Example from "../../static/examples_io_program_src_main.rs.mdx"; - -# Inputs and Outputs - -In real world applications of zero-knowledge proofs, you almost always want to verify your proof in the context of some inputs and outputs. For example: - -- **Rollups**: Given a list of transactions, prove the new state of the blockchain. -- **Coprocessors**: Given a block header, prove the historical state of some storage slot inside a smart contract. -- **Attested Images**: Given a signed image, prove that you made a restricted set of image transformations. - -In this section, we cover how you pass inputs and outputs to the zkVM and create new types that support serialization. - -## Reading Data - -Data that is read is not public to the verifier by default. Use the `sp1_zkvm::io::read::` method: - -```rust -let a = sp1_zkvm::io::read::(); -let b = sp1_zkvm::io::read::(); -let c = sp1_zkvm::io::read::(); -``` - -Note that `T` must implement the `serde::Serialize` and `serde::Deserialize` trait. If you want to read bytes directly, you can also use the `sp1_zkvm::io::read_vec` method. - -```rust -let my_vec = sp1_zkvm::io::read_vec(); -``` - -## Committing Data - -Committing to data makes the data public to the verifier. Use the `sp1_zkvm::io::commit::` method: - -```rust -sp1_zkvm::io::commit::(&a); -sp1_zkvm::io::commit::(&b); -sp1_zkvm::io::commit::(&c); -``` - -Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to write bytes directly, you can also use `sp1_zkvm::io::commit_slice` method: - -```rust -let mut my_slice = [0_u8; 32]; -sp1_zkvm::io::commit_slice(&my_slice); -``` - -## Creating Serializable Types - -Typically, you can implement the `Serialize` and `Deserialize` traits using a simple derive macro on a struct. - -```rust -use serde::{Serialize, Deserialize}; - -#[derive(Serialize, Deserialize)] -struct MyStruct { - a: u32, - b: u64, - c: String -} -``` - -For more complex usecases, refer to the [Serde docs](https://serde.rs/). - -## Example - -Here is a basic example of using inputs and outputs with more complex types. - - diff --git a/book2/docs/writing-programs/patched-crates.md b/book2/docs/writing-programs/patched-crates.md deleted file mode 100644 index 818190f2ee..0000000000 --- a/book2/docs/writing-programs/patched-crates.md +++ /dev/null @@ -1,234 +0,0 @@ -# Patched Crates - -We maintain forks of commonly used libraries in blockchain infrastructure to significantly accelerate the execution of certain operations. -Under the hood, we use [precompiles](./precompiles) to achieve tremendous performance improvements in proof generation time. - -**If you know of a library or library version that you think should be patched, please open an issue or a pull request!** - -## Supported Libraries - -| Crate Name | Repository | Notes | Versions | -|---------------------|---------------------------------------------------------------------------------------|------------------|-----------------------| -| sha2 | [sp1-patches/RustCrypto-hashes](https://github.com/sp1-patches/RustCrypto-hashes) | sha256 | 0.9.8, 0.10.6, 0.10.8 | -| sha3 | [sp1-patches/RustCrypto-hashes](https://github.com/sp1-patches/RustCrypto-hashes) | keccak256 | 0.9.8, 0.10.6, 0.10.8 | -| bigint | [sp1-patches/RustCrypto-bigint](https://github.com/sp1-patches/RustCrypto-bigint) | bigint | 0.5.5 | -| tiny-keccak | [sp1-patches/tiny-keccak](https://github.com/sp1-patches/tiny-keccak) | keccak256 | 2.0.2 | -| curve25519-dalek | [sp1-patches/curve25519-dalek](https://github.com/sp1-patches/curve25519-dalek) | ed25519 verify | 4.1.3, 3.2.0 | -| curve25519-dalek-ng | [sp1-patches/curve25519-dalek-ng](https://github.com/sp1-patches/curve25519-dalek-ng) | ed25519 verify | 4.1.1 | -| ed25519-consensus | [sp1-patches/ed25519-consensus](http://github.com/sp1-patches/ed25519-consensus) | ed25519 verify | 2.1.0 | -| ed25519-dalek | [sp1-patches/ed25519-dalek](http://github.com/sp1-patches/ed25519-dalek) | ed25519 verify | 1.0.1 | -| ecdsa-core | [sp1-patches/signatures](http://github.com/sp1-patches/signatures) | secp256k1 verify | 0.16.8, 0.16.9 | -| secp256k1 | [sp1-patches/rust-secp256k1](http://github.com/sp1-patches/rust-secp256k1) | secp256k1 verify | 0.29.0, 0.29.1 | -| substrate-bn | [sp1-patches/bn](https://github.com/sp1-patches/bn) | BN254 | 0.6.0 | -| bls12_381 | [sp1-patches/bls12_381](https://github.com/sp1-patches/bls12_381) | BLS12-381 | 0.8.0 | - -## Using Patched Crates - -To use the patched libraries, you can use corresponding patch entries in your program's `Cargo.toml` such as: - -```toml -[patch.crates-io] -sha2-v0-9-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", tag = "sha2-v0.9.8-patch-v1" } -sha2-v0-10-6 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", tag = "sha2-v0.10.6-patch-v1" } -sha2-v0-10-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", tag = "sha2-v0.10.8-patch-v1" } -sha3-v0-9-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha3", tag = "sha3-v0.9.8-patch-v1" } -sha3-v0-10-6 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha3", tag = "sha3-v0.10.6-patch-v1" } -sha3-v0-10-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha3", tag = "sha3-v0.10.8-patch-v1" } -crypto-bigint = { git = "https://github.com/sp1-patches/RustCrypto-bigint", tag = "crypto_bigint-v0.5.5-patch-v1" } -tiny-keccak = { git = "https://github.com/sp1-patches/tiny-keccak", tag = "tiny_keccak-v2.0.2-patch-v1" } -substrate-bn = { git = "https://github.com/sp1-patches/bn", tag = "substrate_bn-v0.6.0-patch-v1" } -bls12_381 = { git = "https://github.com/sp1-patches/bls12_381", tag = "bls12_381-v0.8.0-patch-v1" } - -# For sp1 versions >= 3.4.0 -curve25519-dalek = { git = "https://github.com/sp1-patches/curve25519-dalek", tag = "patch-v4.1.3-v3.4.0" } -# For sp1 versions < 3.4.0 -curve25519-dalek = { git = "https://github.com/sp1-patches/curve25519-dalek", tag = "curve25519_dalek-v4.1.3-patch-v1" } -curve25519-dalek-ng = { git = "https://github.com/sp1-patches/curve25519-dalek-ng", tag = "curve25519_dalek_ng-v4.1.1-patch-v1" } -ed25519-consensus = { git = "https://github.com/sp1-patches/ed25519-consensus", tag = "ed25519_consensus-v2.1.0-patch-v1" } -# For sp1 versions >= 3.3.0 -ecdsa-core = { git = "https://github.com/sp1-patches/signatures", package = "ecdsa", tag = "ecdsa-v0.16.9-patch-v3.3.0" } -secp256k1 = { git = "https://github.com/sp1-patches/rust-secp256k1", tag = "secp256k1-v0.29.0-patch-v3.3.0" } -# For sp1 versions < 3.3.0 -ecdsa-core = { git = "https://github.com/sp1-patches/signatures", package = "ecdsa", tag = "ecdsa-v0.16.9-patch-v1" } -secp256k1 = { git = "https://github.com/sp1-patches/rust-secp256k1", tag = "secp256k1-v0.29.0-patch-v1" } -``` - -If you are patching a crate from Github instead of from crates.io, you need to specify the -repository in the patch section. For example: - -```toml -[patch."https://github.com/RustCrypto/hashes"] -sha3 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha3", tag = "sha3-v0.10.8-patch-v1" } -``` - -An example of using patched crates is available in our [Tendermint Example](https://github.com/succinctlabs/sp1/blob/main/examples/tendermint/program/Cargo.toml#L22-L25). - -## Ed25519 Acceleration - -To accelerate Ed25519 operations, you'll need to patch crates depending on if you're using the `ed25519-consensus` or `ed25519-dalek` library in your program or dependencies. - -Generally, `ed25519-consensus` has better performance than `ed25519-dalek` by a factor of 2. - -### Patches - -Apply the following patches based on what crates are in your dependencies. - -- `ed25519-consensus` - - ```toml - ed25519-consensus = { git = "https://github.com/sp1-patches/ed25519-consensus", tag = "ed25519_consensus-v2.1.0-patch-v1" } - ``` - - Note: The curve operations for Ed25519 occur mainly inside of `curve25519-dalek-ng`, but the crate also exposes - a `u32_backend` feature flag which accelerates signature recovery by 10% over the default `u64_backend`, which is why - `ed25519-consensus` is patched rather than `ed25519-dalek`. - -- `ed25519-dalek` - - If using `ed25519-dalek` version `2.1`, you can patch it with the following: - - ```toml - curve25519-dalek = { git = "https://github.com/sp1-patches/curve25519-dalek", tag = "curve25519_dalek-v4.1.3-patch-v1" } - ``` - - If using `ed25519-dalek` version `1.0.1`, you can patch it with the following: - - ```toml - ed25519-dalek = { git = "https://github.com/sp1-patches/ed25519-dalek", tag = "ed25519_dalek-v1.0.1-patch-v1" } - ``` - - Note: We need to patch the underlying Ed25519 curve operations in the `curve25519-dalek` crate. `ed25519-dalek` - version `2.1` uses `curve25519-dalek` version `4.1.3`, while `1.0.1` uses `3.2.0`. For version `2.1`, we patch - `curve25519-dalek` directly, while for version `1.0.1`, we patch `ed25519-dalek`. - -- `curve25519-dalek` - - ```toml - curve25519-dalek = { git = "https://github.com/sp1-patches/curve25519-dalek", tag = "curve25519_dalek-v4.1.3-patch-v1" } - ``` - -- `curve25519-dalek-ng` - - ```toml - curve25519-dalek-ng = { git = "https://github.com/sp1-patches/curve25519-dalek-ng", tag = "curve25519_dalek_ng-v4.1.1-patch-v1" } - ``` - -## Secp256k1 Acceleration - -To accelerate Secp256k1 operations, you'll need to patch `k256` or `secp256k1` depending on your usage. - -Generally, if a crate you're using (ex. `revm`) has support for using `k256` instead of `secp256k1`, you should use `k256`. - -### Patches - -Apply the following patches based on what crates are in your dependencies. - -- `k256` - - ```toml - ecdsa-core = { git = "https://github.com/sp1-patches/signatures", package = "ecdsa", tag = "ecdsa-v0.16.9-patch-v1" } - ``` - - Note: The curve operations for `k256` are inside of the `ecdsa-core` crate, so you don't need to patch `k256` itself, and just patching `ecdsa-core` is enough. - -- `secp256k1` - - ```toml - secp256k1 = { git = "https://github.com/sp1-patches/rust-secp256k1", tag = "secp256k1-v0.29.0-patch-v1" } - ``` - -## BN254 Acceleration - -To accelerate BN254 (Also known as BN128 and Alt-BN128), you will need to patch the `substrate-bn` crate. - -### Patches - -Apply the patch by adding the following to your list of dependencies: - -```rust -substrate-bn = { git = "https://github.com/sp1-patches/bn", tag = "substrate_bn-v0.6.0-patch-v1" } -``` - -### Performance Benchmarks for Patched `substrate-bn` in `revm` - -| Operation | Standard `substrate-bn` Cycles | Patched `substrate-bn` Cycles | Times Faster | -| --------- | ------------------------------ | ----------------------------- | ------------ | -| run-add | 170,298 | 111,615 | 1.52 | -| run-mul | 1,860,836 | 243,830 | 7.64 | -| run-pair | 255,627,625 | 11,528,503 | 22.15 | - -Note: The operations `run-add`, `run-mul`, and `run-pair` are from the `revm` crate, specifically from the file `crates/precompile/src/bn128.rs` on GitHub. In the patched version of the `substrate-bn` crate, these functions utilize SP1's BN254 Fp precompiles. - -To accelerate [revm](https://github.com/bluealloy/revm) in SP1 using the BN254 patched crate, replace the `substrate-bn` crate with the patched crate by adding the following to `crates/precompile/Cargo.toml`: - -```toml -bn = { git = "https://github.com/sp1-patches/bn", package = "substrate-bn", tag = "substrate_bn-v0.6.0-patch-v1" } -``` - -## BLS12-381 Acceleration - -To accelerate BLS12-381 operations, you'll need to patch the `bls12_381` crate. Apply the following patch by adding the following to your list of dependencies: - -```toml -bls12_381 = { git = "https://github.com/sp1-patches/bls12_381", tag = "bls12_381-v0.8.0-patch-v1" } -``` - -This patch significantly improves the performance of BLS12-381 operations, making it essential for applications that rely heavily on these cryptographic primitives. - -### Performance Benchmarks for Patched `bls12_381` in [`kzg-rs`](https://github.com/succinctlabs/kzg-rs) - -| Test | Unpatched Cycles | Patched Cycles | Improvement (x faster) | -| -------------------------------------- | ---------------- | -------------- | ---------------------- | -| Verify blob KZG proof | 265,322,934 | 27,166,173 | 9.77x | -| Verify blob KZG proof batch (10 blobs) | 1,228,277,089 | 196,571,578 | 6.25x | -| Evaluate polynomial in evaluation form | 90,717,711 | 59,370,556 | 1.53x | -| Compute challenge | 63,400,511 | 57,341,532 | 1.11x | -| Verify KZG proof | 212,708,597 | 9,390,640 | 22.65x | - -## Troubleshooting - -### Verifying Patch Usage: Cargo - -You can check if the patch was applied by using cargo's tree command to print the dependencies of the crate you patched. - -```bash -cargo tree -p sha2@0.9.8 -``` - -Next to the package name, it should have a link to the Github repository that you patched with. - -Ex. - -```text -sha2 v0.9.8 (https://github.com/sp1-patches/RustCrypto-hashes?branch=patch-sha2-v0.9.8#afdbfb09) -├── ... -``` - -### Verifying Patch Usage: SP1 - -To check if a precompile is used by your program, you can view SP1's ExecutionReport, which is returned when executing a program with `execute`. In `ExecutionReport` you can view the `syscall_counts` map to view if a specific syscall was used. - -For example, if you wanted to check `sha256` was used, you would look for `SHA_EXTEND` and `SHA_COMPRESS` in `syscall_counts`. - -An example of this is available in our [Patch Testing Example](https://github.com/succinctlabs/sp1/blob/dd032eb23949828d244d1ad1f1569aa78155837c/examples/patch-testing/script/src/main.rs). - -### Cargo Version Issues - -If you encounter issues with version commits on your patches, you should try updating the patched crate manually. - -```bash -cargo update -p -``` - -If you encounter issues relating to cargo / git, you can try setting `CARGO_NET_GIT_FETCH_WITH_CLI`: - -```bash -CARGO_NET_GIT_FETCH_WITH_CLI=true cargo update -p -``` - -You can permanently set this value in `~/.cargo/config`: - -```toml -[net] -git-fetch-with-cli = true -``` diff --git a/book2/docs/writing-programs/precompiles.mdx b/book2/docs/writing-programs/precompiles.mdx deleted file mode 100644 index ded8be759d..0000000000 --- a/book2/docs/writing-programs/precompiles.mdx +++ /dev/null @@ -1,24 +0,0 @@ -import Example from "../../static/crates_zkvm_lib_src_lib.rs.mdx"; -import CodeBlock from '@theme/CodeBlock'; - -# Precompiles - -Precompiles are built into the SP1 zkVM and accelerate commonly used operations such as elliptic curve arithmetic and hashing. Under the hood, precompiles are implemented as custom STARK tables dedicated to proving one or few operations. **They typically improve the performance -of executing expensive operations in SP1 by a few orders of magnitude.** - -Inside the zkVM, precompiles are exposed as system calls executed through the `ecall` RISC-V instruction. -Each precompile has a unique system call number and implements an interface for the computation. - -SP1 also has been designed specifically to make it easy for external contributors to create and extend the zkVM with their own precompiles. -To learn more about this, you can look at implementations of existing precompiles in the [precompiles](https://github.com/succinctlabs/sp1/tree/main/crates/core/executor/src/events/precompiles) folder. More documentation on this will be coming soon. - -**To use precompiles, we typically recommend you interact with them through [patches](./patched-crates.md), which are crates modified -to use these precompiles under the hood, without requiring you to call system calls directly.** - -## Specification - -If you are an advanced user you can interact with the precompiles directly using external system calls. - -Here is a list of all available system calls & precompiles. - - diff --git a/book2/docs/writing-programs/proof-aggregation.md b/book2/docs/writing-programs/proof-aggregation.md deleted file mode 100644 index dc13d6e42c..0000000000 --- a/book2/docs/writing-programs/proof-aggregation.md +++ /dev/null @@ -1,58 +0,0 @@ -# Proof Aggregation - -SP1 supports proof aggregation and recursion, which allows you to verify an SP1 proof within SP1. Use cases include: - -- Reducing on-chain verification costs by aggregating multiple SP1 proofs into a single SP1 proof. -- Proving logic that is split into multiple proofs, such as proving a statement about a rollup's state transition function by proving each block individually and aggregating these proofs to produce a final proof of a range of blocks. - -**For an example of how to use proof aggregation and recursion in SP1, refer to the [aggregation example](https://github.com/succinctlabs/sp1/blob/main/examples/aggregation/script/src/main.rs).** - -Note that to verify an SP1 proof inside SP1, you must generate a "compressed" SP1 proof (see [Proof Types](../generating-proofs/proof-types.md) for more details). - -### When to use aggregation - -Note that by itself, SP1 can already prove arbitrarily large programs by chunking the program's execution into multiple "shards" (contiguous batches of cycles) and generating proofs for each shard in parallel, and then recursively aggregating the proofs. Thus, aggregation is generally **not necessary** for most use-cases, as SP1's proving for large programs is already parallelized. However, aggregation can be useful for aggregating computations that require more than the zkVM's limited (~2GB) memory or for aggregating multiple SP1 proofs from different parties into a single proof to save on onchain verification costs. - -## Verifying Proofs inside the zkVM - -To verify a proof inside the zkVM, you can use the `sp1_zkvm::lib::verify::verify_sp1_proof` function. - -```rust -sp1_zkvm::lib::verify::verify_sp1_proof(vkey, public_values_digest); -``` - -**You do not need to pass in the proof as input into the syscall, as the proof will automatically be read for the proof input stream by the prover.** - -Note that you must include the `verify` feature in your `Cargo.toml` for `sp1-zkvm` to be able to use the `verify_proof` function (like [this](https://github.com/succinctlabs/sp1/blob/main/examples/aggregation/program/Cargo.toml#L11)). - -## Generating Proofs with Aggregation - -To provide an existing proof as input to the SP1 zkVM, you can use the existing `SP1Stdin` object -which is already used for all inputs to the zkVM. - -```rust -# Generating proving key and verifying key. -let (input_pk, input_vk) = client.setup(PROOF_INPUT_ELF); -let (aggregation_pk, aggregation_vk) = client.setup(AGGREGATION_ELF); - -// Generate a proof that will be recursively verified / aggregated. Note that we use the "compressed" -// proof type, which is necessary for aggregation. -let mut stdin = SP1Stdin::new(); -let input_proof = client - .prove(&input_pk, stdin) - .compressed() - .run() - .expect("proving failed"); - -// Create a new stdin object to write the proof and the corresponding verifying key to. -let mut stdin = SP1Stdin::new(); -stdin.write_proof(input_proof, input_vk); - -// Generate a proof that will recursively verify / aggregate the input proof. -let aggregation_proof = client - .prove(&aggregation_pk, stdin) - .compressed() - .run() - .expect("proving failed"); - -``` diff --git a/book2/docs/writing-programs/setup.md b/book2/docs/writing-programs/setup.md deleted file mode 100644 index 2cd677f4a9..0000000000 --- a/book2/docs/writing-programs/setup.md +++ /dev/null @@ -1,50 +0,0 @@ -# Setup - -In this section, we will teach you how to setup a self-contained crate which can be compiled as a program that can be executed inside the zkVM. - -## Create Project with CLI (Recommended) - -The recommended way to setup your first program to prove inside the zkVM is using the method described in [Quickstart](../getting-started/quickstart.md) which will create a program folder. - -```bash -cargo prove new -cd program -``` - -## Manual Project Setup - -You can also manually setup a project. First create a new Rust project using `cargo`: - -```bash -cargo new program -cd program -``` - -### Cargo Manifest - -Inside this crate, add the `sp1-zkvm` crate as a dependency. Your `Cargo.toml` should look like the following: - -```rust -[workspace] -[package] -version = "0.1.0" -name = "program" -edition = "2021" - -[dependencies] -sp1-zkvm = "2.0.0" -``` - -The `sp1-zkvm` crate includes necessary utilities for your program, including handling inputs and outputs, -precompiles, patches, and more. - -### main.rs - -Inside the `src/main.rs` file, you must make sure to include these two lines to ensure that your program properly compiles to a valid SP1 program. - -```rust -#![no_main] -sp1_zkvm::entrypoint!(main); -``` - -These two lines of code wrap your main function with some additional logic to ensure that your program compiles correctly with the RISC-V target. diff --git a/book2/docusaurus.config.ts b/book2/docusaurus.config.ts deleted file mode 100644 index df730e12ca..0000000000 --- a/book2/docusaurus.config.ts +++ /dev/null @@ -1,113 +0,0 @@ -import {themes as prismThemes} from 'prism-react-renderer'; -import type {Config} from '@docusaurus/types'; -import type * as Preset from '@docusaurus/preset-classic'; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -const config: Config = { - title: 'SP1 Docs', - tagline: 'Prove the worlds software.', - favicon: 'img/favicon.ico', - - // Set the production url of your site here - url: 'https://docs.succinct.xyz', - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' - baseUrl: '/', - - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: 'succinctlabs', // Usually your GitHub org/user name. - projectName: 'sp1', // Usually your repo name. - - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', - - // Even if you don't use internationalization, you can use this field to set - // useful metadata like html lang. For example, if your site is Chinese, you - // may want to replace "en" with "zh-Hans". - i18n: { - defaultLocale: 'en', - locales: ['en'], - }, - - presets: [ - [ - "classic", - ({ - docs: { - routeBasePath: "docs", - sidebarPath: require.resolve("./sidebars.ts"), - }, - blog: false, - pages: {}, - theme: { - customCss: require.resolve("./src/css/custom.css"), - }, - }), - ], - ], - - themeConfig: { - docs: { - sidebar: { - hideable: false, - } - }, - navbar: { - title: 'SP1 Docs', - logo: { - alt: 'Succinct Logo', - src: 'img/favicon.ico', - }, - items: [ - { - href: 'https://github.com/succinctlabs/sp1', - label: 'GitHub', - position: 'right', - }, - ], - }, - footer: { - style: 'dark', - links: [ - { - title: 'Docs', - items: [ - { - label: 'Home', - to: '/docs/summary', - }, - ], - }, - { - title: 'Community', - items: [ - { - label: 'X', - href: 'https://x.com/succinctlabs', - }, - ], - }, - { - title: 'More', - items: [ - { - label: 'Website', - href: 'https://succinct.xyz', - }, - ], - }, - ], - }, - prism: { - theme: prismThemes.github, - darkTheme: prismThemes.dracula, - }, - colorMode: { - defaultMode: 'dark', - } - } satisfies Preset.ThemeConfig, -}; - -export default config; diff --git a/book2/package-lock.json b/book2/package-lock.json deleted file mode 100644 index 450a7dab4e..0000000000 --- a/book2/package-lock.json +++ /dev/null @@ -1,18242 +0,0 @@ -{ - "name": "book-2", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "book-2", - "version": "0.0.0", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/plugin-content-docs": "^3.6.3", - "@docusaurus/preset-classic": "3.6.3", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0", - "remark": "^15.0.1", - "remark-import-partial": "^0.0.2" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/tsconfig": "3.6.3", - "@docusaurus/types": "3.6.3", - "typescript": "~5.6.2" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "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.7", - "@algolia/autocomplete-shared": "1.17.7" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "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.7" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "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.7" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "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", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", - "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", - "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==", - "license": "MIT" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", - "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/client-abtesting": { - "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.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-account": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", - "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", - "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-common": { - "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.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.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-personalization": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", - "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-query-suggestions": { - "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.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.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.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/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" - }, - "node_modules/@algolia/ingestion": { - "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.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/logger-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", - "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==", - "license": "MIT" - }, - "node_modules/@algolia/logger-console": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", - "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", - "license": "MIT", - "dependencies": { - "@algolia/logger-common": "4.24.0" - } - }, - "node_modules/@algolia/monitoring": { - "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.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/recommend": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", - "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", - "license": "MIT", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", - "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "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.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", - "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==", - "license": "MIT" - }, - "node_modules/@algolia/requester-fetch": { - "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.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-node-http": { - "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.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", - "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", - "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.2", - "@babel/types": "^7.26.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", - "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", - "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "regexpu-core": "^6.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", - "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", - "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", - "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", - "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", - "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", - "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-simple-access": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", - "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", - "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", - "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", - "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", - "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", - "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", - "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", - "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", - "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", - "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-syntax-typescript": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", - "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.25.9", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.25.9", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.25.9", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.25.9", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.25.9", - "@babel/plugin-transform-typeof-symbol": "^7.25.9", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", - "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-transform-react-display-name": "^7.25.9", - "@babel/plugin-transform-react-jsx": "^7.25.9", - "@babel/plugin-transform-react-jsx-development": "^7.25.9", - "@babel/plugin-transform-react-pure-annotations": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", - "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.25.9", - "@babel/plugin-transform-typescript": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", - "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "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": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "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": ">=18" - } - }, - "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", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "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": { - "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "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", - "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": ">=18" - } - }, - "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": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "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": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "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": { - "@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-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": { - "@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-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": { - "@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-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": { - "@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-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": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": { - "@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-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": { - "@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-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": { - "@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/@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" - } - }, - "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": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "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": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "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/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "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/core": { - "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", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "core-js": "^3.31.1", - "del": "^6.1.1", - "detect-port": "^1.5.1", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "fs-extra": "^11.1.1", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.6.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "p-map": "^4.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "rtl-detect": "^1.0.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.6", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "webpack": "^5.95.0", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^6.0.1" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@mdx-js/react": "^3.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/cssnano-preset": { - "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", - "postcss": "^8.4.38", - "postcss-sort-media-queries": "^5.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/logger": { - "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", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "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.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", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^1.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "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.3", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "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", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "srcset": "^4.0.0", - "tslib": "^2.6.0", - "unist-util-visit": "^5.0.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "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", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "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.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" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "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.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" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "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.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "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.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@types/gtag.js": "^0.0.12", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "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.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "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.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" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "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" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic": { - "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", - "infima": "0.2.0-alpha.45", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.26", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "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.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": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "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.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", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-translations": { - "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", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/tsconfig": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.6.3.tgz", - "integrity": "sha512-1pT/rTrRpMV15E4tJH95W5PrjboMn5JkKF+Ys8cTjMegetiXjs0gPFOSDA5hdTlberKQLDO50xPjMJHondLuzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@docusaurus/types": { - "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", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/types/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "3.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.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", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/utils-common": { - "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.3", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/utils-validation": { - "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.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", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", - "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", - "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "license": "MIT", - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/@pnpm/npm-conf": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", - "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", - "license": "MIT", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", - "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/gtag.js": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.15", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", - "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/prismjs": { - "version": "1.26.5", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", - "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.17", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", - "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", - "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", - "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.5.13", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", - "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "license": "ISC" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/algoliasearch": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", - "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", - "license": "MIT", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-account": "4.24.0", - "@algolia/client-analytics": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-personalization": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/recommend": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.22.5", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.5.tgz", - "integrity": "sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==", - "license": "MIT", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/algoliasearch/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/algoliasearch/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", - "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "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/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", - "license": "MIT", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "license": "MIT", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001686", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", - "integrity": "sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/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/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "license": "MIT", - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-table3/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/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/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/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "license": "ISC" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", - "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", - "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "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/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", - "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", - "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", - "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "license": "MIT", - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "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": "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/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.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "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/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", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "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/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssdb": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.2.tgz", - "integrity": "sha512-Z3kpWyvN68aKyeMxOUGmffQeHjvrzDxbre2B2ikr/WqQ4ZMkhHu2nOD6uwSeq3TpuOYU7ckvmJRAUIt6orkYUg==", - "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", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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/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/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/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "license": "MIT", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", - "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.68", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.68.tgz", - "integrity": "sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", - "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "license": "MIT" - }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", - "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-value-to-estree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.2.1.tgz", - "integrity": "sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "license": "MIT" - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", - "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", - "license": "BSD-3-Clause" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "license": "MIT", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "license": "MIT", - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "license": "BSD-2-Clause" - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz", - "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.1.0.tgz", - "integrity": "sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", - "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "license": "MIT" - }, - "node_modules/hast-util-to-estree/node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", - "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", - "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", - "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.45", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", - "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", - "license": "MIT" - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "license": "MIT", - "dependencies": { - "package-json": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/launch-editor": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", - "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", - "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", - "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", - "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", - "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-directive": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", - "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", - "license": "MIT", - "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", - "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", - "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", - "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", - "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-space/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", - "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", - "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", - "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/null-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/null-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/null-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "license": "MIT", - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "license": "MIT", - "dependencies": { - "entities": "^4.5.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.3", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "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.1.1", - "source-map-js": "^1.2.1" - }, - "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/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/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "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": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "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": "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-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/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "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": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", - "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default/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-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope/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-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "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": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "license": "MIT", - "dependencies": { - "sort-css-media-queries": "2.2.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.23" - } - }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz", - "integrity": "sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==", - "license": "MIT", - "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "license": "ISC" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "license": "MIT", - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "license": "MIT" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-json-view-lite": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", - "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", - "license": "MIT" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recma-build-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", - "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", - "license": "MIT", - "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.3.tgz", - "integrity": "sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==", - "license": "MIT", - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "license": "MIT", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.0.2" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz", - "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", - "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-emoji": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", - "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.2", - "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.1", - "node-emoji": "^2.1.0", - "unified": "^11.0.4" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-frontmatter": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", - "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-frontmatter": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-import-partial": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/remark-import-partial/-/remark-import-partial-0.0.2.tgz", - "integrity": "sha512-HuIcpGITU/PK+fZvYYamayCH/jlsoB2Uxj1QaGBgTYtcpozvJQth+PKp9NUZpksUldGAmJf59IyMJgczMpbhwg==", - "license": "MIT", - "dependencies": { - "unist-util-visit": "2.0.2" - } - }, - "node_modules/remark-import-partial/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/remark-import-partial/node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-import-partial/node_modules/unist-util-visit": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", - "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-import-partial/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", - "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", - "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", - "license": "BSD-3-Clause" - }, - "node_modules/rtlcss": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", - "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0", - "postcss": "^8.4.21", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC" - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "license": "MIT", - "peer": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "license": "MIT", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", - "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", - "license": "MIT" - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", - "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/skin-tone": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", - "license": "MIT", - "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", - "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", - "license": "MIT", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", - "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.4" - } - }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "license": "MIT" - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "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/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", - "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "license": "MIT" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-emoji-modifier-base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/url-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/url-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/url-loader/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpack": { - "version": "5.97.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.0.tgz", - "integrity": "sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ==", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/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/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpackbar": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", - "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "consola": "^3.2.3", - "figures": "^3.2.0", - "markdown-table": "^2.0.0", - "pretty-time": "^1.1.0", - "std-env": "^3.7.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/webpackbar/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/webpackbar/node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "license": "MIT", - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpackbar/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/book2/package.json b/book2/package.json deleted file mode 100644 index 3d6d4006b0..0000000000 --- a/book2/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "book-2", - "version": "0.0.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" - }, - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/plugin-content-docs": "^3.6.3", - "@docusaurus/preset-classic": "3.6.3", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/tsconfig": "3.6.3", - "@docusaurus/types": "3.6.3", - "typescript": "~5.6.2" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] - }, - "engines": { - "node": ">=18.0" - } -} diff --git a/book2/sidebars.ts b/book2/sidebars.ts deleted file mode 100644 index b2c0ce6812..0000000000 --- a/book2/sidebars.ts +++ /dev/null @@ -1,108 +0,0 @@ -import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ -const sidebars: SidebarsConfig = { - docs: [ - "introduction", - { - type: 'category', - label: 'Getting Started', - items: [ - 'getting-started/install', - 'getting-started/quickstart', - 'getting-started/hardware-requirements', - 'getting-started/project-template' - ], - collapsed: false, - }, - { - type: 'category', - label: 'Writing Programs', - items: [ - 'writing-programs/basics', - 'writing-programs/compiling', - 'writing-programs/cycle-tracking', - 'writing-programs/inputs-and-outputs', - 'writing-programs/patched-crates', - 'writing-programs/precompiles', - 'writing-programs/proof-aggregation', - 'writing-programs/setup' - ], - collapsed: true, - }, - { - type: 'category', - label: 'Generating Proofs', - items: [ - "generating-proofs/basics", - "generating-proofs/setup", - "generating-proofs/proof-types", - "generating-proofs/recommended-workflow", - "generating-proofs/sp1-sdk-faq", - { - type: 'category', - label: 'Hardware Acceleration', - link: { type: 'doc', id: 'generating-proofs/hardware-acceleration' }, - items: [ - "generating-proofs/hardware-acceleration", - "generating-proofs/hardware-acceleration/avx", - "generating-proofs/hardware-acceleration/cuda" - ], - }, - { - type: 'category', - label: 'Prover Network', - link: { type: 'doc', id: 'generating-proofs/prover-network' }, - items: [ - "generating-proofs/prover-network/key-setup", - "generating-proofs/prover-network/usage", - "generating-proofs/prover-network/versions" - ], - }, - "generating-proofs/advanced", - ], - collapsed: true, - }, - { - type: 'category', - label: 'Verification', - items: [ - 'verification/off-chain-verification', - { - type: 'category', - label: 'On-Chain Verification', - items: [ - "verification/onchain/getting-started", - "verification/onchain/contract-addresses", - "verification/onchain/solidity-sdk" - ], - }, - ] - }, - { - type: 'category', - label: 'Developers', - items: [ - "developers/common-issues", - "developers/usage-in-ci", - "developers/building-circuit-artifacts", - "developers/rv32im-specification", - ] - }, - 'what-is-a-zkvm', - 'why-use-sp1', - ], -}; - -export default sidebars; diff --git a/book2/src/css/custom.css b/book2/src/css/custom.css deleted file mode 100644 index 2bc6a4cfde..0000000000 --- a/book2/src/css/custom.css +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Any CSS included here will be global. The classic template - * bundles Infima by default. Infima is a CSS framework designed to - * work well for content-centric websites. - */ - -/* You can override the default Infima variables here. */ -:root { - --ifm-color-primary: #2e8555; - --ifm-color-primary-dark: #29784c; - --ifm-color-primary-darker: #277148; - --ifm-color-primary-darkest: #205d3b; - --ifm-color-primary-light: #33925d; - --ifm-color-primary-lighter: #359962; - --ifm-color-primary-lightest: #3cad6e; - --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); -} - -/* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme='dark'] { - --ifm-color-primary: #25c2a0; - --ifm-color-primary-dark: #21af90; - --ifm-color-primary-darker: #1fa588; - --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: #29d5b0; - --ifm-color-primary-lighter: #32d8b4; - --ifm-color-primary-lightest: #4fddbf; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); -} diff --git a/book2/src/pages/index.tsx b/book2/src/pages/index.tsx deleted file mode 100644 index a45a79231e..0000000000 --- a/book2/src/pages/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { Redirect } from "@docusaurus/router"; -import useBaseUrl from "@docusaurus/useBaseUrl"; -import React from "react"; - -const Home = () => { - const url = useBaseUrl("/docs/introduction"); - return ; -}; - -export default Home; - diff --git a/book2/static/.nojekyll b/book2/static/.nojekyll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/book2/static/crates_zkvm_lib_src_lib.rs.mdx b/book2/static/crates_zkvm_lib_src_lib.rs.mdx deleted file mode 100644 index e552f31364..0000000000 --- a/book2/static/crates_zkvm_lib_src_lib.rs.mdx +++ /dev/null @@ -1,133 +0,0 @@ -```rust -//! Syscalls for the SP1 zkVM. -//! -//! Documentation for these syscalls can be found in the zkVM entrypoint -//! `sp1_zkvm::syscalls` module. - -pub mod bls12381; -pub mod bn254; -pub mod ed25519; -pub mod io; -pub mod secp256k1; -pub mod unconstrained; -pub mod utils; -#[cfg(feature = "verify")] -pub mod verify; - -extern "C" { - /// Halts the program with the given exit code. - pub fn syscall_halt(exit_code: u8) -> !; - - /// Writes the bytes in the given buffer to the given file descriptor. - pub fn syscall_write(fd: u32, write_buf: *const u8, nbytes: usize); - - /// Reads the bytes from the given file descriptor into the given buffer. - pub fn syscall_read(fd: u32, read_buf: *mut u8, nbytes: usize); - - /// Executes the SHA-256 extend operation on the given word array. - pub fn syscall_sha256_extend(w: *mut [u32; 64]); - - /// Executes the SHA-256 compress operation on the given word array and a given state. - pub fn syscall_sha256_compress(w: *mut [u32; 64], state: *mut [u32; 8]); - - /// Executes an Ed25519 curve addition on the given points. - pub fn syscall_ed_add(p: *mut [u32; 16], q: *const [u32; 16]); - - /// Executes an Ed25519 curve decompression on the given point. - pub fn syscall_ed_decompress(point: &mut [u8; 64]); - - /// Executes an Sepc256k1 curve addition on the given points. - pub fn syscall_secp256k1_add(p: *mut [u32; 16], q: *const [u32; 16]); - - /// Executes an Secp256k1 curve doubling on the given point. - pub fn syscall_secp256k1_double(p: *mut [u32; 16]); - - /// Executes an Secp256k1 curve decompression on the given point. - pub fn syscall_secp256k1_decompress(point: &mut [u8; 64], is_odd: bool); - - /// Executes a Bn254 curve addition on the given points. - pub fn syscall_bn254_add(p: *mut [u32; 16], q: *const [u32; 16]); - - /// Executes a Bn254 curve doubling on the given point. - pub fn syscall_bn254_double(p: *mut [u32; 16]); - - /// Executes a BLS12-381 curve addition on the given points. - pub fn syscall_bls12381_add(p: *mut [u32; 24], q: *const [u32; 24]); - - /// Executes a BLS12-381 curve doubling on the given point. - pub fn syscall_bls12381_double(p: *mut [u32; 24]); - - /// Executes the Keccak-256 permutation on the given state. - pub fn syscall_keccak_permute(state: *mut [u64; 25]); - - /// Executes an uint256 multiplication on the given inputs. - pub fn syscall_uint256_mulmod(x: *mut [u32; 8], y: *const [u32; 8]); - - /// Enters unconstrained mode. - pub fn syscall_enter_unconstrained() -> bool; - - /// Exits unconstrained mode. - pub fn syscall_exit_unconstrained(); - - /// Defers the verification of a valid SP1 zkVM proof. - pub fn syscall_verify_sp1_proof(vk_digest: &[u32; 8], pv_digest: &[u8; 32]); - - /// Returns the length of the next element in the hint stream. - pub fn syscall_hint_len() -> usize; - - /// Reads the next element in the hint stream into the given buffer. - pub fn syscall_hint_read(ptr: *mut u8, len: usize); - - /// Allocates a buffer aligned to the given alignment. - pub fn sys_alloc_aligned(bytes: usize, align: usize) -> *mut u8; - - /// Decompresses a BLS12-381 point. - pub fn syscall_bls12381_decompress(point: &mut [u8; 96], is_odd: bool); - - /// Computes a big integer operation with a modulus. - pub fn sys_bigint( - result: *mut [u32; 8], - op: u32, - x: *const [u32; 8], - y: *const [u32; 8], - modulus: *const [u32; 8], - ); - - /// Executes a BLS12-381 field addition on the given inputs. - pub fn syscall_bls12381_fp_addmod(p: *mut u32, q: *const u32); - - /// Executes a BLS12-381 field subtraction on the given inputs. - pub fn syscall_bls12381_fp_submod(p: *mut u32, q: *const u32); - - /// Executes a BLS12-381 field multiplication on the given inputs. - pub fn syscall_bls12381_fp_mulmod(p: *mut u32, q: *const u32); - - /// Executes a BLS12-381 Fp2 addition on the given inputs. - pub fn syscall_bls12381_fp2_addmod(p: *mut u32, q: *const u32); - - /// Executes a BLS12-381 Fp2 subtraction on the given inputs. - pub fn syscall_bls12381_fp2_submod(p: *mut u32, q: *const u32); - - /// Executes a BLS12-381 Fp2 multiplication on the given inputs. - pub fn syscall_bls12381_fp2_mulmod(p: *mut u32, q: *const u32); - - /// Executes a BN254 field addition on the given inputs. - pub fn syscall_bn254_fp_addmod(p: *mut u32, q: *const u32); - - /// Executes a BN254 field subtraction on the given inputs. - pub fn syscall_bn254_fp_submod(p: *mut u32, q: *const u32); - - /// Executes a BN254 field multiplication on the given inputs. - pub fn syscall_bn254_fp_mulmod(p: *mut u32, q: *const u32); - - /// Executes a BN254 Fp2 addition on the given inputs. - pub fn syscall_bn254_fp2_addmod(p: *mut u32, q: *const u32); - - /// Executes a BN254 Fp2 subtraction on the given inputs. - pub fn syscall_bn254_fp2_submod(p: *mut u32, q: *const u32); - - /// Executes a BN254 Fp2 multiplication on the given inputs. - pub fn syscall_bn254_fp2_mulmod(p: *mut u32, q: *const u32); - -} -``` diff --git a/book2/static/examples_cycle-tracking_program_bin_normal.rs.mdx b/book2/static/examples_cycle-tracking_program_bin_normal.rs.mdx deleted file mode 100644 index a9dc61d95d..0000000000 --- a/book2/static/examples_cycle-tracking_program_bin_normal.rs.mdx +++ /dev/null @@ -1,34 +0,0 @@ -```rust -#![no_main] -sp1_zkvm::entrypoint!(main); - -#[sp1_derive::cycle_tracker] -pub fn expensive_function(x: usize) -> usize { - let mut y = 1; - for _ in 0..100 { - y *= x; - y %= 7919; - } - y -} - -pub fn main() { - let mut nums = vec![1, 1]; - - // Setup a large vector with Fibonacci-esque numbers. - println!("cycle-tracker-start: setup"); - for _ in 0..100 { - let mut c = nums[nums.len() - 1] + nums[nums.len() - 2]; - c %= 7919; - nums.push(c); - } - println!("cycle-tracker-end: setup"); - - println!("cycle-tracker-start: main-body"); - for i in 0..2 { - let result = expensive_function(nums[nums.len() - i - 1]); - println!("result: {}", result); - } - println!("cycle-tracker-end: main-body"); -} -``` diff --git a/book2/static/examples_fibonacci_program_src_main.rs.mdx b/book2/static/examples_fibonacci_program_src_main.rs.mdx deleted file mode 100644 index 86d550cddf..0000000000 --- a/book2/static/examples_fibonacci_program_src_main.rs.mdx +++ /dev/null @@ -1,39 +0,0 @@ -```rust -//! A simple program that takes a number `n` as input, and writes the `n-1`th and `n`th fibonacci -//! number as an output. - -// These two lines are necessary for the program to properly compile. -// -// Under the hood, we wrap your main function with some extra code so that it behaves properly -// inside the zkVM. -#![no_main] -sp1_zkvm::entrypoint!(main); - -pub fn main() { - // Read an input to the program. - // - // Behind the scenes, this compiles down to a system call which handles reading inputs - // from the prover. - let n = sp1_zkvm::io::read::(); - - // Write n to public input - sp1_zkvm::io::commit(&n); - - // Compute the n'th fibonacci number, using normal Rust code. - let mut a = 0; - let mut b = 1; - for _ in 0..n { - let mut c = a + b; - c %= 7919; // Modulus to prevent overflow. - a = b; - b = c; - } - - // Write the output of the program. - // - // Behind the scenes, this also compiles down to a system call which handles writing - // outputs to the prover. - sp1_zkvm::io::commit(&a); - sp1_zkvm::io::commit(&b); -} -``` diff --git a/book2/static/examples_fibonacci_script_bin_compressed.rs.mdx b/book2/static/examples_fibonacci_script_bin_compressed.rs.mdx deleted file mode 100644 index 4115db7b74..0000000000 --- a/book2/static/examples_fibonacci_script_bin_compressed.rs.mdx +++ /dev/null @@ -1,35 +0,0 @@ -```rust -use sp1_sdk::{utils, ProverClient, SP1Stdin}; - -/// The ELF we want to execute inside the zkVM. -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); - -fn main() { - // Setup logging. - utils::setup_logger(); - - // Create an input stream and write '500' to it. - let n = 500u32; - let mut stdin = SP1Stdin::new(); - stdin.write(&n); - - // Generate the constant-sized proof for the given program and input. - let client = ProverClient::new(); - let (pk, vk) = client.setup(ELF); - let mut proof = client.prove(&pk, stdin).compressed().run().unwrap(); - - println!("generated proof"); - // Read and verify the output. - let a = proof.public_values.read::(); - let b = proof.public_values.read::(); - println!("a: {}, b: {}", a, b); - - // Verify proof and public values - client.verify(&proof, &vk).expect("verification failed"); - - // Save the proof. - proof.save("compressed-proof-with-pis.bin").expect("saving proof failed"); - - println!("successfully generated and verified proof for the program!") -} -``` diff --git a/book2/static/examples_fibonacci_script_bin_execute.rs.mdx b/book2/static/examples_fibonacci_script_bin_execute.rs.mdx deleted file mode 100644 index 3e808935d2..0000000000 --- a/book2/static/examples_fibonacci_script_bin_execute.rs.mdx +++ /dev/null @@ -1,37 +0,0 @@ -```rust -use sp1_sdk::{utils, ProverClient, SP1Stdin}; - -/// The ELF we want to execute inside the zkVM. -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); - -fn main() { - // Setup logging. - utils::setup_logger(); - - // Create an input stream and write '500' to it. - let n = 500u32; - - let mut stdin = SP1Stdin::new(); - stdin.write(&n); - - // Only execute the program and get a `SP1PublicValues` object. - let client = ProverClient::new(); - let (mut public_values, execution_report) = client.execute(ELF, stdin).run().unwrap(); - - // Print the total number of cycles executed and the full execution report with a breakdown of - // the RISC-V opcode and syscall counts. - println!( - "Executed program with {} cycles", - execution_report.total_instruction_count() + execution_report.total_syscall_count() - ); - println!("Full execution report:\n{:?}", execution_report); - - // Read and verify the output. - let _ = public_values.read::(); - let a = public_values.read::(); - let b = public_values.read::(); - - println!("a: {}", a); - println!("b: {}", b); -} -``` diff --git a/book2/static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx b/book2/static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx deleted file mode 100644 index 37d7f3f23c..0000000000 --- a/book2/static/examples_fibonacci_script_bin_groth16_bn254.rs.mdx +++ /dev/null @@ -1,42 +0,0 @@ -```rust -use sp1_sdk::{utils, HashableKey, ProverClient, SP1Stdin}; - -/// The ELF we want to execute inside the zkVM. -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); - -fn main() { - // Setup logging. - utils::setup_logger(); - - // Create an input stream and write '500' to it. - let n = 500u32; - - let mut stdin = SP1Stdin::new(); - stdin.write(&n); - - // Set up the pk and vk. - let client = ProverClient::new(); - let (pk, vk) = client.setup(ELF); - println!("vk: {:?}", vk.bytes32()); - - // Generate the Groth16 proof. - let proof = client.prove(&pk, stdin).groth16().run().unwrap(); - println!("generated proof"); - - // Get the public values as bytes. - let public_values = proof.public_values.as_slice(); - println!("public values: 0x{}", hex::encode(public_values)); - - // Get the proof as bytes. - let solidity_proof = proof.bytes(); - println!("proof: 0x{}", hex::encode(solidity_proof)); - - // Verify proof and public values - client.verify(&proof, &vk).expect("verification failed"); - - // Save the proof. - proof.save("fibonacci-groth16.bin").expect("saving proof failed"); - - println!("successfully generated and verified proof for the program!") -} -``` diff --git a/book2/static/examples_fibonacci_script_build.rs.mdx b/book2/static/examples_fibonacci_script_build.rs.mdx deleted file mode 100644 index a6f5f1636e..0000000000 --- a/book2/static/examples_fibonacci_script_build.rs.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```rust -fn main() { - sp1_build::build_program("../program"); -} -``` diff --git a/book2/static/examples_fibonacci_script_src_main.rs.mdx b/book2/static/examples_fibonacci_script_src_main.rs.mdx deleted file mode 100644 index 0aa64a9583..0000000000 --- a/book2/static/examples_fibonacci_script_src_main.rs.mdx +++ /dev/null @@ -1,56 +0,0 @@ -```rust -use sp1_sdk::{include_elf, utils, ProverClient, SP1ProofWithPublicValues, SP1Stdin}; - -/// The ELF we want to execute inside the zkVM. -const ELF: &[u8] = include_elf!("fibonacci-program"); - -fn main() { - // Setup logging. - utils::setup_logger(); - - // Create an input stream and write '500' to it. - let n = 1000u32; - - // The input stream that the program will read from using `sp1_zkvm::io::read`. Note that the - // types of the elements in the input stream must match the types being read in the program. - let mut stdin = SP1Stdin::new(); - stdin.write(&n); - - // Create a `ProverClient` method. - let client = ProverClient::new(); - - // Execute the program using the `ProverClient.execute` method, without generating a proof. - let (_, report) = client.execute(ELF, stdin.clone()).run().unwrap(); - println!("executed program with {} cycles", report.total_instruction_count()); - - // Generate the proof for the given program and input. - let (pk, vk) = client.setup(ELF); - let mut proof = client.prove(&pk, stdin).run().unwrap(); - - println!("generated proof"); - - // Read and verify the output. - // - // Note that this output is read from values committed to in the program using - // `sp1_zkvm::io::commit`. - let _ = proof.public_values.read::(); - let a = proof.public_values.read::(); - let b = proof.public_values.read::(); - - println!("a: {}", a); - println!("b: {}", b); - - // Verify proof and public values - client.verify(&proof, &vk).expect("verification failed"); - - // Test a round trip of proof serialization and deserialization. - proof.save("proof-with-pis.bin").expect("saving proof failed"); - let deserialized_proof = - SP1ProofWithPublicValues::load("proof-with-pis.bin").expect("loading proof failed"); - - // Verify the deserialized proof. - client.verify(&deserialized_proof, &vk).expect("verification failed"); - - println!("successfully generated and verified proof for the program!") -} -``` diff --git a/book2/static/examples_groth16_program_src_main.rs.mdx b/book2/static/examples_groth16_program_src_main.rs.mdx deleted file mode 100644 index 6e195f06bf..0000000000 --- a/book2/static/examples_groth16_program_src_main.rs.mdx +++ /dev/null @@ -1,30 +0,0 @@ -```rust -//! A program that verifies a Groth16 proof in SP1. - -#![no_main] -sp1_zkvm::entrypoint!(main); - -use sp1_verifier::Groth16Verifier; - -pub fn main() { - // Read the proof, public values, and vkey hash from the input stream. - let proof = sp1_zkvm::io::read_vec(); - let sp1_public_values = sp1_zkvm::io::read_vec(); - let sp1_vkey_hash: String = sp1_zkvm::io::read(); - - // Verify the groth16 proof. - let groth16_vk = *sp1_verifier::GROTH16_VK_BYTES; - println!("cycle-tracker-start: verify"); - let result = Groth16Verifier::verify(&proof, &sp1_public_values, &sp1_vkey_hash, groth16_vk); - println!("cycle-tracker-end: verify"); - - match result { - Ok(()) => { - println!("Proof is valid"); - } - Err(e) => { - println!("Error verifying proof: {:?}", e); - } - } -} -``` diff --git a/book2/static/examples_groth16_script_src_main.rs.mdx b/book2/static/examples_groth16_script_src_main.rs.mdx deleted file mode 100644 index 7be12e7e3d..0000000000 --- a/book2/static/examples_groth16_script_src_main.rs.mdx +++ /dev/null @@ -1,57 +0,0 @@ -```rust -//! A script that generates a Groth16 proof for the Fibonacci program, and verifies the -//! Groth16 proof in SP1. - -use sp1_sdk::{include_elf, utils, HashableKey, ProverClient, SP1Stdin}; - -/// The ELF for the Groth16 verifier program. -const GROTH16_ELF: &[u8] = include_elf!("groth16-verifier-program"); - -/// The ELF for the Fibonacci program. -const FIBONACCI_ELF: &[u8] = include_elf!("fibonacci-program"); - -/// Generates the proof, public values, and vkey hash for the Fibonacci program in a format that -/// can be read by `sp1-verifier`. -/// -/// Returns the proof bytes, public values, and vkey hash. -fn generate_fibonacci_proof() -> (Vec, Vec, String) { - // Create an input stream and write '20' to it. - let n = 20u32; - - // The input stream that the program will read from using `sp1_zkvm::io::read`. Note that the - // types of the elements in the input stream must match the types being read in the program. - let mut stdin = SP1Stdin::new(); - stdin.write(&n); - - // Create a `ProverClient`. - let client = ProverClient::new(); - - // Generate the groth16 proof for the Fibonacci program. - let (pk, vk) = client.setup(FIBONACCI_ELF); - println!("vk: {:?}", vk.bytes32()); - let proof = client.prove(&pk, stdin).groth16().run().unwrap(); - (proof.bytes(), proof.public_values.to_vec(), vk.bytes32()) -} - -fn main() { - // Setup logging. - utils::setup_logger(); - - // Generate the Fibonacci proof, public values, and vkey hash. - let (fibonacci_proof, fibonacci_public_values, vk) = generate_fibonacci_proof(); - - // Write the proof, public values, and vkey hash to the input stream. - let mut stdin = SP1Stdin::new(); - stdin.write_vec(fibonacci_proof); - stdin.write_vec(fibonacci_public_values); - stdin.write(&vk); - - // Create a `ProverClient`. - let client = ProverClient::new(); - - // Execute the program using the `ProverClient.execute` method, without generating a proof. - let (_, report) = client.execute(GROTH16_ELF, stdin.clone()).run().unwrap(); - println!("executed groth16 program with {} cycles", report.total_instruction_count()); - println!("{}", report); -} -``` diff --git a/book2/static/examples_io_program_src_main.rs.mdx b/book2/static/examples_io_program_src_main.rs.mdx deleted file mode 100644 index ec0c239891..0000000000 --- a/book2/static/examples_io_program_src_main.rs.mdx +++ /dev/null @@ -1,25 +0,0 @@ -```rust -#![no_main] -sp1_zkvm::entrypoint!(main); - -use serde::{Deserialize, Serialize}; - -#[derive(Serialize, Deserialize, Debug, PartialEq)] -struct MyPointUnaligned { - pub x: usize, - pub y: usize, - pub b: bool, -} - -pub fn main() { - let p1 = sp1_zkvm::io::read::(); - println!("Read point: {:?}", p1); - - let p2 = sp1_zkvm::io::read::(); - println!("Read point: {:?}", p2); - - let p3: MyPointUnaligned = MyPointUnaligned { x: p1.x + p2.x, y: p1.y + p2.y, b: p1.b && p2.b }; - println!("Addition of 2 points: {:?}", p3); - sp1_zkvm::io::commit(&p3); -} -``` diff --git a/book2/static/img/favicon.ico b/book2/static/img/favicon.ico deleted file mode 100644 index fe73ed177aa0be8e28a0eeb32c40528b5fddcb30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmdT|%S%*I9KP*)*vl408EquW76n0zFsNP8Cg?@WYL`Xz2UM$sP$LL>&;ubMs#OtD z;9@k*DK%eVT0Ta{QAW)Nkbx1-eRrx-ANU6&x!Sf;$!ZN`d%5?l>f4KUgU4|(TvQ?Wwi8IYLp zpT|ru5G*n}r*Iv7`!2TlxIv-)xWaffpl1E!q49T7Pg_^bL2TfDck!s-s?dE|VY-7H zly@Fk_{0{BFMHB`kg|=`>yaa|Gb3CC>X!F=lBUAiS zyPo;5U7_GHak1CA4XRW?NT=LTVgad65D)){rvHk4~vAE}wewdQ) z(o=Hd^X}Z>iz#HUDK$m*0vca@Y~$;@#Kt^xe(3LV1>%E1f9V4I;|xBMC!q@O_IKm! zXVw?lk9C!BpCadj44=rm-XEW^&n#I2{F%__BgS3ZF~$b>BBHPOLVP6kI2Y%G`It)& jkp9