diff --git a/.github/workflows/build-and-cache.yaml b/.github/workflows/build-and-cache.yaml new file mode 100644 index 000000000..cec4aa153 --- /dev/null +++ b/.github/workflows/build-and-cache.yaml @@ -0,0 +1,49 @@ +name: "main" +on: + # Trigger the workflow on push or pull request, + # but only for the main branch + push: + branches: [ main, develop, nixify ] + +jobs: + testbuild: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install nix + uses: cachix/install-nix-action@v25 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - uses: cachix/cachix-action@v14 + with: + name: holochain-ci + + - uses: cachix/cachix-action@v14 + with: + name: holochain-open-dev + + - name: Install and test + run: | + nix develop --command bash -c "npm i && npm t && npm run build -w ui" + + - name: Build zomes + env: + CACHIX_AUTH_TOKEN: "${{ secrets.CACHIX_TOKEN_HOLOCHAIN_OPEN_DEV }}" + run: | + nix build -L .#profiles_integrity + cachix push holochain-open-dev $(nix path-info --accept-flake-config .#profiles_integrity) + cachix pin holochain-open-dev profiles_integrity_debug $(nix path-info --accept-flake-config .#profiles_integrity) + + nix build -L .#profiles_integrity.meta.release + cachix push holochain-open-dev $(nix path-info --accept-flake-config .#profiles_integrity.meta.release) + cachix pin holochain-open-dev profiles_integrity $(nix path-info --accept-flake-config .#profiles_integrity.meta.release) + + nix build -L .#profiles + cachix push holochain-open-dev $(nix path-info --accept-flake-config .#profiles) + cachix pin holochain-open-dev profiles_debug $(nix path-info --accept-flake-config .#profiles) + + nix build -L .#profiles.meta.release + cachix push holochain-open-dev $(nix path-info --accept-flake-config .#profiles.meta.release) + cachix pin holochain-open-dev profiles $(nix path-info --accept-flake-config .#profiles.meta.release) diff --git a/.github/workflows/github-build-and-deploy-rocket-action.yml b/.github/workflows/github-build-and-deploy-rocket-action.yml new file mode 100644 index 000000000..18bb23416 --- /dev/null +++ b/.github/workflows/github-build-and-deploy-rocket-action.yml @@ -0,0 +1,22 @@ +name: Build and Deploy +on: [push] +permissions: + contents: write +jobs: + build-and-deploy: + concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession. + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v3 + + - name: Install and Build 🔧 + run: | + npm install + npm run build -w docs + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4.3.3 + with: + branch: gh-pages # The branch the action should deploy to. + folder: docs/_site # The folder the action should deploy. diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index bde76428e..362209578 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,9 +1,8 @@ -name: "main" + +name: "test-prs" on: # Trigger the workflow on push or pull request, # but only for the main branch - push: - branches: [ main, develop ] pull_request: branches: [ main, develop ] @@ -17,29 +16,18 @@ jobs: uses: ./.github/actions/extend-space - name: Install nix - uses: cachix/install-nix-action@v18 + uses: cachix/install-nix-action@v25 with: - install_url: https://releases.nixos.org/nix/nix-2.12.0/install - extra_nix_config: | - experimental-features = flakes nix-command + nix_path: nixpkgs=channel:nixos-unstable - - uses: cachix/cachix-action@v10 + - uses: cachix/cachix-action@v14 with: name: holochain-ci + - uses: cachix/cachix-action@v14 + with: + name: holochain-open-dev + - name: Install and test run: | nix develop --command bash -c "npm i && npm t && npm run build -w ui" - - push-to-nix-cache: - strategy: - matrix: - os: [ ubuntu-latest, macos-latest ] - steps: - - name: Build zomes - run: | - nix build .#profiles_integrity - sha256sum result - nix build .#profiles - sha256sum result - diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..113192feb --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "singleQuote": true, + "arrowParens": "avoid", + "useTabs": true, + "plugins": ["@trivago/prettier-plugin-sort-imports"], + "importOrder": ["", "^[./]"], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true, + "importOrderParserPlugins": ["typescript", "decorators-legacy"] +} + diff --git a/Cargo.lock b/Cargo.lock index 95a8e77b3..4bdb87722 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,7 +18,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.0", + "gimli 0.28.1", ] [[package]] @@ -35,9 +35,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if 1.0.0", "cipher", @@ -52,23 +52,23 @@ checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" [[package]] name = "ahash" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.11", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -76,23 +76,23 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "aitia" -version = "0.2.0-beta-dev.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b7727811da0629a829afd06fa888685c2dc209bea3ade3f58351ac73c5a20a7" +checksum = "3b323d7efd61190bd93568cb9ce332f1069f360bdbe0f578fd652c6f91c8a7e0" dependencies = [ "anyhow", "derive_more", "holochain_trace", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "petgraph", "regex", "serde", @@ -111,9 +111,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-tzdata" @@ -141,57 +141,58 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "app_dirs2" @@ -229,12 +230,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "arrayvec" version = "0.7.4" @@ -247,7 +242,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" dependencies = [ - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -264,43 +259,41 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.1.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 3.1.0", - "event-listener-strategy", + "event-listener-strategy 0.5.2", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.7.2" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5ea910c42e5ab19012bab31f53cb4d63d54c3a27730f9a833a88efcf4bb52d" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" dependencies = [ - "async-lock 3.1.1", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.0.1", + "fastrand 2.1.0", + "futures-lite 2.3.0", "slab", ] [[package]] name = "async-global-executor" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ - "async-channel 1.9.0", + "async-channel 2.3.1", "async-executor", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io 2.3.2", + "async-lock 3.3.0", "blocking", - "futures-lite 1.13.0", + "futures-lite 2.3.0", "once_cell", ] @@ -311,7 +304,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ "async-lock 2.8.0", - "autocfg 1.1.0", + "autocfg 1.3.0", "cfg-if 1.0.0", "concurrent-queue", "futures-lite 1.13.0", @@ -326,22 +319,21 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" dependencies = [ - "async-lock 3.1.1", + "async-lock 3.3.0", "cfg-if 1.0.0", "concurrent-queue", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.3.0", "parking", - "polling 3.3.0", - "rustix 0.38.25", + "polling 3.7.0", + "rustix 0.38.34", "slab", "tracing", - "waker-fn", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -355,12 +347,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.1.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener 3.1.0", - "event-listener-strategy", + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", "pin-project-lite", ] @@ -383,37 +375,37 @@ dependencies = [ "cfg-if 1.0.0", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.25", + "rustix 0.38.34", "windows-sys 0.48.0", ] [[package]] name = "async-recursion" -version = "0.3.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.109", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" dependencies = [ - "async-io 2.2.0", - "async-lock 2.8.0", + "async-io 2.3.2", + "async-lock 3.3.0", "atomic-waker", "cfg-if 1.0.0", "futures-core", "futures-io", - "rustix 0.38.25", + "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -460,26 +452,26 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -505,14 +497,14 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "automap" @@ -528,11 +520,11 @@ dependencies = [ [[package]] name = "backon" -version = "0.4.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c1a6197b2120bb2185a267f6515038558b019e92b832bb0320e96d66268dcf9" +checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" dependencies = [ - "fastrand 1.9.0", + "fastrand 2.1.0", "futures-core", "pin-project", "tokio", @@ -540,9 +532,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -561,9 +553,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -618,9 +616,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitvec" @@ -634,17 +632,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq 0.1.5", -] - [[package]] name = "blake2b_simd" version = "1.0.2" @@ -652,19 +639,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec", "constant_time_eq 0.3.0", ] -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -676,42 +654,39 @@ dependencies = [ [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.1.0", - "async-lock 3.1.1", + "async-channel 2.3.1", "async-task", - "fastrand 2.0.1", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] name = "bloomfilter" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b92db7965d438b8b4b1c1d0aedd188440a1084593c9eb7f6657e3df7e906d934" +checksum = "b64d54e47a7f4fd723f082e8f11429f3df6ba8adaeca355a76556f9f0602bbcf" dependencies = [ "bit-vec", - "getrandom 0.2.11", + "getrandom 0.2.15", "siphasher", ] [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytecheck" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" dependencies = [ "bytecheck_derive", "ptr_meta", @@ -720,20 +695,20 @@ dependencies = [ [[package]] name = "bytecheck_derive" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" [[package]] name = "byteorder" @@ -743,9 +718,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "bzip2" @@ -776,18 +751,18 @@ checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde", ] @@ -800,7 +775,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -808,12 +783,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -834,21 +810,11 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chashmap" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47e651a8c1eb0cbbaa730f705e2531e75276c6f2bbe2eb12662cfd305213dff8" -dependencies = [ - "owning_ref", - "parking_lot 0.3.8", -] - [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -856,7 +822,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -886,9 +852,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.8" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -896,34 +862,34 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.8" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.10.0", + "strsim 0.11.1", "terminal_size", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck 0.4.1", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "heck 0.5.0", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "cloudabi" @@ -936,9 +902,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "colored" @@ -952,9 +918,9 @@ dependencies = [ [[package]] name = "combine" -version = "4.6.6" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", @@ -962,9 +928,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1005,9 +971,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1015,9 +981,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core2" @@ -1034,7 +1000,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "cfg-if 1.0.0", "libc", "scopeguard", @@ -1043,9 +1009,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -1065,7 +1031,7 @@ version = "0.91.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98b022ed2a5913a38839dfbafe6cf135342661293b08049843362df4301261dc" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", @@ -1076,7 +1042,7 @@ dependencies = [ "gimli 0.26.2", "log", "regalloc2", - "smallvec 1.11.2", + "smallvec", "target-lexicon", ] @@ -1106,7 +1072,7 @@ dependencies = [ "hashbrown 0.12.3", "indexmap 1.9.3", "log", - "smallvec 1.11.2", + "smallvec", ] [[package]] @@ -1123,7 +1089,7 @@ checksum = "0d70abacb8cfef3dc8ff7e8836e9c1d70f7967dfdac824a4cd5e30223415aca6" dependencies = [ "cranelift-codegen", "log", - "smallvec 1.11.2", + "smallvec", "target-lexicon", ] @@ -1135,76 +1101,66 @@ checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "cron" -version = "0.9.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e009ed0b762cf7a967a34dfdc67d5967d3f828f12901d37081432c3dd1668f8f" +checksum = "6f8c3e73077b4b4a6ab1ea5047c37c57aee77657bc8ecd6f29b0af082d0b0c07" dependencies = [ "chrono", - "nom 4.1.1", + "nom", "once_cell", ] [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if 1.0.0", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if 1.0.0", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg 1.1.0", - "cfg-if 1.0.0", "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if 1.0.0", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1222,39 +1178,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" -dependencies = [ - "darling_core 0.10.2", - "darling_macro 0.10.2", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.14.4" @@ -1267,40 +1190,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" -dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", -] - -[[package]] -name = "darling_core" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", - "strsim 0.9.3", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.13.4" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -1311,45 +1206,24 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "strsim 0.10.0", "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", -] - -[[package]] -name = "darling_macro" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" -dependencies = [ - "darling_core 0.10.2", - "quote 1.0.35", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote 1.0.35", - "syn 1.0.109", + "proc-macro2 1.0.84", + "quote 1.0.36", + "strsim 0.11.1", + "syn 2.0.66", ] [[package]] @@ -1359,19 +1233,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core 0.14.4", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.3", - "quote 1.0.35", - "syn 2.0.48", + "darling_core 0.20.9", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -1397,17 +1271,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.2", - "lock_api 0.4.11", + "hashbrown 0.14.5", + "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "derivative" @@ -1415,8 +1289,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -1426,34 +1300,40 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "derive_builder" -version = "0.9.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0" +checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" dependencies = [ - "darling 0.10.2", - "derive_builder_core", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.109", + "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.9.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef" +checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" dependencies = [ - "darling 0.10.2", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.109", + "darling 0.20.9", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +dependencies = [ + "derive_builder_core", + "syn 2.0.66", ] [[package]] @@ -1463,8 +1343,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "rustc_version", "syn 1.0.109", ] @@ -1475,78 +1355,53 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" -[[package]] -name = "difference" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" - [[package]] name = "difflib" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", "subtle", ] -[[package]] -name = "directories" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c" -dependencies = [ - "cfg-if 0.1.10", - "dirs-sys 0.3.7", -] - [[package]] name = "dirs" version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", + "option-ext", "redox_users", - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] -name = "dirs-sys" -version = "0.4.1" +name = "displaydoc" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -1571,40 +1426,17 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "either" -version = "1.9.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if 1.0.0", ] @@ -1624,8 +1456,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -1644,17 +1476,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" dependencies = [ - "darling 0.20.3", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "darling 0.20.9", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "env_logger" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "log", ] @@ -1672,8 +1504,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22deed3a8124cff5fa835713fa105621e43bbdc46690c3a6b68328a012d350d4" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "rustversion", "syn 1.0.109", "synstructure", @@ -1686,8 +1518,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c34a887c8df3ed90498c1c437ce21f211c8e27672921a8ffa293cb8d6d4caa9e" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "rustversion", "syn 1.0.109", "synstructure", @@ -1695,12 +1527,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1720,13 +1552,45 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "event-listener-strategy" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 3.1.0", + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.0", "pin-project-lite", ] @@ -1736,6 +1600,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + [[package]] name = "fallible-streaming-iterator" version = "0.1.9" @@ -1753,20 +1623,20 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "filetime" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] @@ -1777,13 +1647,13 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixt" -version = "0.3.0-beta-dev.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e3aad400ffc4383425f55f1f035a1f5ab4474853276167db1b385de3f28a8e6" +checksum = "977cd7a96311c3a16ad8aa924628d55383effba61508c732c9dc43a6d449d877" dependencies = [ "holochain_serialized_bytes", "lazy_static", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "paste", "rand 0.8.5", "rand_core 0.6.4", @@ -1794,23 +1664,14 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4" -dependencies = [ - "num-traits", -] - [[package]] name = "float-cmp" version = "0.9.0" @@ -1843,11 +1704,11 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "percent-encoding 2.3.0", + "percent-encoding", ] [[package]] @@ -1870,9 +1731,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -1885,9 +1746,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -1895,15 +1756,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -1912,9 +1773,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -1933,52 +1794,51 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.0.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-core", "futures-io", - "memchr", "parking", "pin-project-lite", ] [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -2064,13 +1924,15 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -2089,32 +1951,22 @@ dependencies = [ "tracing-futures", ] -[[package]] -name = "ghost_actor" -version = "0.4.0-alpha.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cb0746ab4cf003d75cdbaaae2cf95139ec9607ae46bd5c68721bda2ca0c824" -dependencies = [ - "futures", - "tracing", -] - [[package]] name = "gimli" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" dependencies = [ - "fallible-iterator", + "fallible-iterator 0.2.0", "indexmap 1.9.3", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "gloo-timers" @@ -2142,22 +1994,41 @@ dependencies = [ "parking_lot 0.11.2", "quanta", "rand 0.8.5", - "smallvec 1.11.2", + "smallvec", ] [[package]] name = "h2" -version = "0.3.22" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.1.0", + "http 0.2.12", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -2171,7 +2042,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25" dependencies = [ "ahash 0.3.8", - "autocfg 1.1.0", + "autocfg 1.3.0", ] [[package]] @@ -2180,7 +2051,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.7", + "ahash 0.7.8", ] [[package]] @@ -2189,16 +2060,16 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", ] [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "allocator-api2", ] @@ -2208,18 +2079,18 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.2", + "hashbrown 0.14.5", ] [[package]] name = "hc_seed_bundle" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a160a11a63c03f180389bcbdb8f4823f84805bd07169160e4a0ede592512338" +checksum = "1524f81cc7a05bfacd666324692d1cd46c9f8dce68aa524a4c8a993449617f6b" dependencies = [ "futures", "one_err", - "rmp-serde", + "rmp-serde 0.15.5", "rmpv", "serde", "serde_bytes", @@ -2228,9 +2099,9 @@ dependencies = [ [[package]] name = "hc_sleuth" -version = "0.2.0-beta-dev.7" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f300f336046513296e815584a02dd89ef842092cff7070fe28a5bb5fd1b69d2" +checksum = "4a7efed3147390828944b367c49fbea3eb460c3639fe11b0801ab773cf11aeed" dependencies = [ "aitia", "anyhow", @@ -2240,7 +2111,7 @@ dependencies = [ "holochain_types", "kitsune_p2p", "once_cell", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "petgraph", "regex", "serde", @@ -2274,11 +2145,11 @@ dependencies = [ [[package]] name = "hdi" -version = "0.4.0-beta-dev.28" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f4429629b6ad49e1dcf225e4e39eff8bf461843f96a996878cb1ad5fe546b6" +checksum = "03aed8ad8b59c0fffd1eaf3a064c28d6dcbb8a6e386c154ca2f5a3f52d00e3a0" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "hdk_derive", "holo_hash", "holochain_integrity_types", @@ -2292,11 +2163,11 @@ dependencies = [ [[package]] name = "hdk" -version = "0.3.0-beta-dev.32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b9388c15ea758b687d4c5348354636306a8ca6867bc40b3fc8525901fb96735" +checksum = "9319cd1bf3c04663cf76f7466a5da86dcc20641fbdb9faea623056ff1bb5237a" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "hdi", "hdk_derive", "holo_hash", @@ -2312,17 +2183,17 @@ dependencies = [ [[package]] name = "hdk_derive" -version = "0.3.0-beta-dev.26" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e4d54bf7b14580cac156b1cb22480b59972df2ebaed56f1375f39cdf8ded6a" +checksum = "49d060f62bb0bf59a833a6f8741bf780b499c2f87b5c9d9d861656f6f16bd02a" dependencies = [ "darling 0.14.4", - "heck 0.4.1", + "heck 0.5.0", "holochain_integrity_types", "paste", "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -2332,10 +2203,10 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bytes", "headers-core", - "http", + "http 0.2.12", "httpdate", "mime", "sha1", @@ -2347,7 +2218,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" dependencies = [ - "http", + "http 0.2.12", ] [[package]] @@ -2365,6 +2236,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -2376,9 +2253,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -2398,18 +2275,18 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] name = "holo_hash" -version = "0.3.0-beta-dev.22" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8775ba0e9b8ebbbe089794c399cb6acd659f8213261fdee0febc2f4fff229d4" +checksum = "9404dd8b3b47ef84ad39cd4cd679d6bf8f98c879fa33a966357246d3988616cd" dependencies = [ "arbitrary", - "base64 0.13.1", - "blake2b_simd 0.5.11", + "base64 0.22.1", + "blake2b_simd", "derive_more", "fixt", "futures", @@ -2429,32 +2306,29 @@ dependencies = [ [[package]] name = "holochain" -version = "0.3.0-beta-dev.38" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5e0f8f8840ea26033fe585a7b414297b0f82691159b903667185d7c0d8f99" +checksum = "b96a002f56e650f706f62a83db1d7e546d08e07b6152238d94a3dc1427202df8" dependencies = [ "aitia", "anyhow", "arbitrary", "async-once-cell", - "async-recursion", "async-trait", "backtrace", - "base64 0.13.1", - "byteorder", - "cfg-if 0.1.10", + "base64 0.22.1", + "cfg-if 1.0.0", "chrono", "contrafact", "derive_more", "diff", - "directories", "either", - "fallible-iterator", + "fallible-iterator 0.3.0", "fixt", "futures", "get_if_addrs", - "getrandom 0.2.11", - "ghost_actor 0.3.0-alpha.6", + "getrandom 0.2.15", + "ghost_actor", "hc_sleuth", "hdk", "holo_hash", @@ -2477,33 +2351,28 @@ dependencies = [ "holochain_wasmer_host", "holochain_websocket", "holochain_zome_types", - "hostname", + "hostname 0.4.0", "human-panic", - "itertools 0.10.5", + "itertools 0.12.1", "kitsune_p2p", "kitsune_p2p_bin_data", "kitsune_p2p_block", "kitsune_p2p_bootstrap", - "kitsune_p2p_bootstrap_client", "kitsune_p2p_types", "lair_keystore", - "lazy_static", "matches", "mockall", "mr_bundle", - "must_future", - "nanoid 0.3.0", - "num_cpus", + "nanoid", "once_cell", "one_err", "opentelemetry_api", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "petgraph", - "predicates 1.0.8", + "predicates 3.1.0", "rand 0.8.5", "rand-utf8", "rand_chacha 0.3.1", - "rpassword 5.0.1", "rusqlite", "sd-notify", "serde", @@ -2521,36 +2390,29 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.5.11", + "toml 0.8.13", "tracing", "tracing-futures", "tracing-subscriber", "tx5-go-pion-turn", "tx5-signal-srv", "unwrap_to", - "url 2.4.1", + "url", "url2", - "url_serde", - "uuid 0.7.4", + "uuid", "wasmer", "wasmer-middlewares", ] [[package]] name = "holochain_cascade" -version = "0.3.0-beta-dev.37" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a805507ac3c892f20350ba61b8d9a7d80ea00165e3861f7459af0d3cdf4dbc16" +checksum = "de843583dc40742822f96db9bd7dea7ff508afcb120a0652e89d91d0662a6cb7" dependencies = [ "async-trait", - "derive_more", - "either", - "fallible-iterator", "fixt", "futures", - "ghost_actor 0.3.0-alpha.6", - "hdk", - "hdk_derive", "holo_hash", "holochain_nonce", "holochain_p2p", @@ -2563,24 +2425,19 @@ dependencies = [ "holochain_zome_types", "kitsune_p2p", "mockall", - "once_cell", "opentelemetry_api", - "serde", - "serde_derive", "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "holochain_conductor_api" -version = "0.3.0-beta-dev.37" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4857069b40dc3988f93a3629fc022891acf56a4d32ff6fa60d8b1c8949afaf7e" +checksum = "7749c521f500aaf7fb1b34a8385d56707ce8076e319580dc74d75e5a02b4671d" dependencies = [ "derive_more", - "directories", "holo_hash", "holochain_keystore", "holochain_serialized_bytes", @@ -2590,10 +2447,8 @@ dependencies = [ "kitsune_p2p_bin_data", "kitsune_p2p_types", "serde", - "serde_derive", "serde_yaml", "shrinkwraprs", - "structopt", "thiserror", "tracing", "url2", @@ -2601,9 +2456,9 @@ dependencies = [ [[package]] name = "holochain_conductor_services" -version = "0.2.0-beta-dev.8" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45da56ae35c5fdb3f13e744f7a7ae1c7ca65b3dcc6862416054a7fb5376b0739" +checksum = "03d9240549cb4680e076ed6b586673404b7b0ae9c0a8f496dd99a672755c7254" dependencies = [ "anyhow", "async-trait", @@ -2612,16 +2467,14 @@ dependencies = [ "holochain_keystore", "holochain_types", "mockall", - "must_future", - "serde", "thiserror", ] [[package]] name = "holochain_integrity_types" -version = "0.3.0-beta-dev.26" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7508886f8c4f7e3d03634e62094200bd1361210a2c73491a8b3211588b71bd64" +checksum = "fe62dd90d6ddf5e02284a651713ab63112ce141002e4ee78e4e130ec90795eec" dependencies = [ "arbitrary", "derive_builder", @@ -2630,7 +2483,6 @@ dependencies = [ "holochain_serialized_bytes", "holochain_util", "kitsune_p2p_timestamp", - "paste", "proptest", "proptest-derive 0.4.0", "serde", @@ -2642,11 +2494,11 @@ dependencies = [ [[package]] name = "holochain_keystore" -version = "0.3.0-beta-dev.29" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7287531357a0756dfcf400c3a87b3b7c354a591a58cb0887f448da00978de46" +checksum = "97678069682249c5fa100d6de032868d012ae4e416f87ba12b43e7f3074bea77" dependencies = [ - "base64 0.13.1", + "base64 0.22.1", "derive_more", "futures", "holo_hash", @@ -2657,9 +2509,9 @@ dependencies = [ "kitsune_p2p_types", "lair_keystore", "must_future", - "nanoid 0.4.0", + "nanoid", "one_err", - "parking_lot 0.11.2", + "parking_lot 0.12.3", "serde", "serde_bytes", "shrinkwraprs", @@ -2671,40 +2523,38 @@ dependencies = [ [[package]] name = "holochain_metrics" -version = "0.3.0-beta-dev.8" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b78c3e37ed8f53aff7eab740754b7384194cf5539c4e7525bdeff76d884930a" +checksum = "d92453af002eaaaaa9928f199b72aa33d4ceabb1f1340bd4ae1fef0fd94f28ff" dependencies = [ "influxive", "opentelemetry_api", - "reqwest", - "sct", "tracing", ] [[package]] name = "holochain_nonce" -version = "0.3.0-beta-dev.24" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cb17e2abda28da552adea75f02b06c3b14a0e52376bc1823d3ceee9e2345a9" +checksum = "f206e624cefcc714e156e2459727d6dfef4c587d3cda69cf9d88c9b2b1418259" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "holochain_secure_primitive", "kitsune_p2p_timestamp", ] [[package]] name = "holochain_p2p" -version = "0.3.0-beta-dev.36" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67977d97cb7251f911424ecc72287ae6a03822ee4898c822ff11bb05def6f972" +checksum = "0d5013eee774b657e36fcfff96285f78a166901ab4389245b41d37f9b3354ede" dependencies = [ "aitia", "async-trait", "derive_more", "fixt", "futures", - "ghost_actor 0.3.0-alpha.6", + "ghost_actor", "hc_sleuth", "holo_hash", "holochain_keystore", @@ -2712,7 +2562,6 @@ dependencies = [ "holochain_serialized_bytes", "holochain_trace", "holochain_types", - "holochain_util", "holochain_zome_types", "kitsune_p2p", "kitsune_p2p_types", @@ -2728,9 +2577,9 @@ dependencies = [ [[package]] name = "holochain_secure_primitive" -version = "0.3.0-beta-dev.21" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ae856ba625c5609e536456461463d13607eda623f7cc4e4b3a54dbb43ac052" +checksum = "edf2267568b756d9772a6ec62cf83b0519866d0e6f33c74ef8c77bfff0432d48" dependencies = [ "paste", "serde", @@ -2739,15 +2588,15 @@ dependencies = [ [[package]] name = "holochain_serialized_bytes" -version = "0.0.53" +version = "0.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7a5fc7c745a107f8ebcb04caab7a6b7a8463e2811f07ced19c281977583de7" +checksum = "fad1068180811f3a23c340894cb98b0710244ffac76427664239545f162619c5" dependencies = [ "arbitrary", "holochain_serialized_bytes_derive", "proptest", "proptest-derive 0.3.0", - "rmp-serde", + "rmp-serde 1.1.2", "serde", "serde-transcode", "serde_bytes", @@ -2757,53 +2606,51 @@ dependencies = [ [[package]] name = "holochain_serialized_bytes_derive" -version = "0.0.53" +version = "0.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3e0cf02005cbf0f514476d40e02125b26df6d4922d7a2c48a84fc588539d71" +checksum = "71cc7f19017233d644abc4a23cbe19220effc05aea057f93db1be00348b89464" dependencies = [ - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "holochain_sqlite" -version = "0.3.0-beta-dev.34" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b521f1bffea7e037d26747596efa3bc0961a76ad9c204a219726dd756c92488" +checksum = "d8d7793ad7c8f0c56bda030ba16ce2b2ebda5b212256d0269bce0bf005dac81a" dependencies = [ "anyhow", "async-trait", - "chashmap", "derive_more", - "fallible-iterator", + "fallible-iterator 0.2.0", "futures", - "getrandom 0.2.11", + "getrandom 0.2.15", "holo_hash", "holochain_nonce", "holochain_serialized_bytes", "holochain_util", "holochain_zome_types", - "kitsune_p2p", "kitsune_p2p_bin_data", "kitsune_p2p_dht", "kitsune_p2p_dht_arc", "kitsune_p2p_timestamp", "kitsune_p2p_types", + "nanoid", "num_cpus", "once_cell", "opentelemetry_api", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "pretty_assertions", "r2d2", "r2d2_sqlite_neonphog", - "rmp-serde", + "rmp-serde 1.1.2", "rusqlite", "scheduled-thread-pool", "serde", - "serde_derive", "serde_json", "shrinkwraprs", - "sqlformat 0.1.8", + "sqlformat", "tempfile", "thiserror", "tokio", @@ -2812,22 +2659,17 @@ dependencies = [ [[package]] name = "holochain_state" -version = "0.3.0-beta-dev.36" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb7692a09b3a19f829d88cc2c61ab6949b37661bb725a91839d42271d31852a" +checksum = "9f1c0a0587a78ab53a747939a245201250a91bcd61a59c0f5c58a9615e2c0b17" dependencies = [ "aitia", "async-recursion", - "base64 0.13.1", - "byteorder", - "cfg-if 0.1.10", + "base64 0.22.1", "chrono", "contrafact", "cron", - "derive_more", - "either", - "fallible-iterator", - "futures", + "fallible-iterator 0.2.0", "hc_sleuth", "holo_hash", "holochain_keystore", @@ -2837,14 +2679,11 @@ dependencies = [ "holochain_sqlite", "holochain_state_types", "holochain_types", - "holochain_util", "holochain_zome_types", "kitsune_p2p", - "mockall", - "nanoid 0.3.0", + "nanoid", "one_err", - "parking_lot 0.10.2", - "rand 0.8.5", + "parking_lot 0.12.3", "serde", "serde_json", "shrinkwraprs", @@ -2852,14 +2691,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "holochain_state_types" -version = "0.3.0-beta-dev.33" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3753669665ea1271ff3a18bb41fba3d0148a976edab4c202bee1059d4c6bf8" +checksum = "62c5b35375b270a899d3f731d504431becfd41d706c2d35c0b0ac0cb0ea0bac5" dependencies = [ "holo_hash", "holochain_integrity_types", @@ -2868,9 +2706,9 @@ dependencies = [ [[package]] name = "holochain_test_wasm_common" -version = "0.3.0-beta-dev.32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552b7675a8f37d8490769abe7565444a93a36d5e94f9cc49854d5b2348dc4a5c" +checksum = "9ff5d3b67952a98e74445695598d6b97d7226a58f61a158e68687dd01c7dff0f" dependencies = [ "hdk", "serde", @@ -2878,9 +2716,9 @@ dependencies = [ [[package]] name = "holochain_trace" -version = "0.3.0-beta-dev.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f32929393eb74339c5ab1a4cfcde33d4b77ebaa1feceb02c851640170e6aaa" +checksum = "8b35d4236d4c1fb42273f8d5ccd3721f20601a4726f2f29df6e8c90938285f01" dependencies = [ "chrono", "derive_more", @@ -2896,26 +2734,22 @@ dependencies = [ [[package]] name = "holochain_types" -version = "0.3.0-beta-dev.34" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48237d704634ccfc7e337f1cd9136dcde386f8ef1c2820720c77643094da51af" +checksum = "2b4358d68ae3aef3bcd990c046ce6cce7fbe0d924251b5aad81db1548e7abc03" dependencies = [ "anyhow", "arbitrary", "async-trait", "automap", "backtrace", - "base64 0.13.1", - "cfg-if 0.1.10", - "chrono", "contrafact", "derive_builder", "derive_more", - "either", "fixt", "flate2", "futures", - "getrandom 0.2.11", + "getrandom 0.2.15", "holo_hash", "holochain_keystore", "holochain_nonce", @@ -2923,18 +2757,15 @@ dependencies = [ "holochain_sqlite", "holochain_trace", "holochain_util", - "holochain_wasmer_host", "holochain_zome_types", "isotest", - "itertools 0.10.5", + "itertools 0.12.1", "kitsune_p2p_dht", - "lazy_static", - "mockall", "mr_bundle", "must_future", - "nanoid 0.3.0", + "nanoid", "one_err", - "parking_lot 0.10.2", + "parking_lot 0.12.3", "proptest", "proptest-derive 0.4.0", "rand 0.8.5", @@ -2957,42 +2788,41 @@ dependencies = [ [[package]] name = "holochain_util" -version = "0.3.0-beta-dev.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6be1f887f88ecb44975694b2d46c3a1ad4840e009d56f7be54c3af3f2d60b931" +checksum = "273aa62ff9274a22ce2f8830578edc177b77249fca5ff06bb486b4fc1d928ce4" dependencies = [ "backtrace", - "cfg-if 0.1.10", - "derive_more", + "cfg-if 1.0.0", + "colored", "dunce", "futures", - "getrandom 0.2.11", - "num_cpus", "once_cell", - "rpassword 7.3.1", + "rpassword", "sodoken", "tokio", + "tracing", ] [[package]] name = "holochain_wasm_test_utils" -version = "0.3.0-beta-dev.35" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d624a9549581d7d6bb6e0dcb47e089a4bc65d2d0286714fbe6b60b19bbdcae2" +checksum = "da2fc8acf79df349b48c5dc40444b7acfa93d20775c59f54f935deabfac96b4e" dependencies = [ "holochain_types", "holochain_util", "strum", "strum_macros 0.18.0", - "toml 0.5.11", + "toml 0.8.13", "walkdir", ] [[package]] name = "holochain_wasmer_common" -version = "0.0.92" +version = "0.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72007fd2a72d77e76ffa494e5847bf6e893e25e73fe1d1de902e1b8d5033a64e" +checksum = "c9f7d17668e4a4997b5e121c7a951ea9606331ef206b991f1e81420c84d98485" dependencies = [ "holochain_serialized_bytes", "serde", @@ -3004,13 +2834,13 @@ dependencies = [ [[package]] name = "holochain_wasmer_guest" -version = "0.0.92" +version = "0.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c429e84a19ee446f47541a6fed10e1a4376a8a8ba6d3dbff7d07e4a7bb4c85f" +checksum = "e292e12fda0716ce36b566c7cf3dad8443fdc7c56950e42c5a3ba81988e792d0" dependencies = [ "holochain_serialized_bytes", "holochain_wasmer_common", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "serde", "tracing", @@ -3018,16 +2848,16 @@ dependencies = [ [[package]] name = "holochain_wasmer_host" -version = "0.0.92" +version = "0.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4951f6e1ac6d294631b3d38b8584c84ff510057ac6adca04d1e244b30c2e0b6b" +checksum = "0601fb78038adc299619b51420e66e41c0e986abaf5087df4ac00d742e14926c" dependencies = [ "bimap", "bytes", "hex", "holochain_serialized_bytes", "holochain_wasmer_common", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "serde", "tracing", @@ -3037,34 +2867,26 @@ dependencies = [ [[package]] name = "holochain_websocket" -version = "0.3.0-beta-dev.14" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744892bdd8ad2050e9a4a4f0ba1a23ee2a4e08d22ea8221f1144ba4a94b5b3d5" +checksum = "c86f7b4866e33556abbcaff03967ba52df1df2daa12555dcb8d620218f92fb2f" dependencies = [ + "async-trait", "futures", - "ghost_actor 0.4.0-alpha.5", "holochain_serialized_bytes", - "must_future", - "nanoid 0.3.0", - "net2", + "holochain_types", "serde", "serde_bytes", - "stream-cancel", - "thiserror", "tokio", - "tokio-stream", - "tokio-tungstenite 0.13.0", + "tokio-tungstenite 0.21.0", "tracing", - "tracing-futures", - "tungstenite 0.12.0", - "url2", ] [[package]] name = "holochain_zome_types" -version = "0.3.0-beta-dev.28" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80857b41991c430a5bf10ba54215712d990f70604610f3cc1582cce4611c7d10" +checksum = "bd576c22f2752cf05d018a94797fe4ac4ccbf66d8ba448a1d267bb9657ad3ea5" dependencies = [ "arbitrary", "contrafact", @@ -3074,17 +2896,14 @@ dependencies = [ "holo_hash", "holochain_integrity_types", "holochain_nonce", - "holochain_secure_primitive", "holochain_serialized_bytes", "holochain_wasmer_common", - "kitsune_p2p_bin_data", "kitsune_p2p_block", "kitsune_p2p_dht", "kitsune_p2p_timestamp", - "nanoid 0.3.0", + "nanoid", "num_enum", "once_cell", - "paste", "proptest", "proptest-derive 0.4.0", "rand 0.8.5", @@ -3102,66 +2921,88 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi 0.3.9", +] + +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "windows", ] [[package]] -name = "hoot" -version = "0.1.3" +name = "http" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df22a4d90f1b0e65fe3e0d6ee6a4608cc4d81f4b2eb3e670f44bb6bde711e452" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "httparse", - "log", + "bytes", + "fnv", + "itoa", ] [[package]] -name = "hootbin" -version = "0.1.1" +name = "http" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "354e60868e49ea1a39c44b9562ad207c4259dc6eabf9863bf3b0f058c55cfdb2" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ - "fastrand 2.0.1", - "hoot", - "serde", - "serde_json", - "thiserror", + "bytes", + "fnv", + "itoa", ] [[package]] -name = "hostname" -version = "0.3.1" +name = "http-body" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", + "bytes", + "http 0.2.12", + "pin-project-lite", ] [[package]] -name = "http" -version = "0.2.11" +name = "http-body" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ "bytes", - "fnv", - "itoa", + "http 1.1.0", ] [[package]] -name = "http-body" -version = "0.4.5" +name = "http-body-util" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" dependencies = [ "bytes", - "http", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", "pin-project-lite", ] @@ -3179,9 +3020,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "human-panic" -version = "1.2.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a79a67745be0cb8dd2771f03b24c2f25df98d5471fe7a595d668cfa2e6f843d" +checksum = "a4c5d0e9120f6bca6120d142c7ede1ba376dd6bf276d69dd3dbe6cbeb7824179" dependencies = [ "anstream", "anstyle", @@ -3189,45 +3030,66 @@ dependencies = [ "os_info", "serde", "serde_derive", - "toml 0.8.8", - "uuid 1.6.1", + "toml 0.8.13", + "uuid", ] [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", "tower-service", "tracing", "want", ] +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" -version = "0.23.2" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ - "http", - "hyper", - "rustls 0.20.9", + "futures-util", + "http 0.2.12", + "hyper 0.14.28", + "rustls 0.21.12", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", ] [[package]] @@ -3237,17 +3099,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.3.1", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d8d52be92d09acc2e01dddb7fde3ad983fc6489c7db4837e605bc3fca4cb63e" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2 0.5.7", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3274,20 +3172,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3305,22 +3192,22 @@ dependencies = [ [[package]] name = "if-addrs" -version = "0.8.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b24dd0826eee92c56edcda7ff190f2cf52115c49eadb2c2da8063e2673a8c2" +checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "if-addrs" -version = "0.10.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" +checksum = "bb2a33e9c38988ecbda730c85b0fd9ddcdf83c0305ac7fd21c8bb9f57f2f0cc8" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3335,33 +3222,35 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "hashbrown 0.12.3", + "serde", ] [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.5", + "serde", ] [[package]] name = "inferno" -version = "0.11.18" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfb2e51b23c338595ae0b6bdaaa7a4a8b860b8d788a4331cb07b50fe5dea71b" +checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9" dependencies = [ - "ahash 0.8.6", - "clap 4.4.8", + "ahash 0.8.11", + "clap 4.5.4", "crossbeam-channel", "crossbeam-utils", "dashmap 5.5.3", "env_logger", - "indexmap 2.1.0", + "indexmap 2.2.6", "is-terminal", "itoa", "log", @@ -3374,16 +3263,16 @@ dependencies = [ [[package]] name = "influxdb" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77763a6985cbf3f3251fd0725511b6eb81967bfb50763e7a88097ff8e8504fb0" +checksum = "601aa12a5876c044ea2a94a9443d0f086e6fc1f7bb4264bd7120e63c1462d1c8" dependencies = [ "chrono", "futures-util", - "http", + "http 0.2.12", "lazy_static", "regex", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", "thiserror", @@ -3427,20 +3316,20 @@ version = "0.0.2-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "264581af3b49d108e76382e301d4228f89a3995e373363b877bb42b1312ebba3" dependencies = [ - "base64 0.21.5", - "digest 0.10.7", + "base64 0.21.7", + "digest", "dirs", "flate2", "futures", "hex", "hex-literal", "influxive-core", - "reqwest", - "sha2 0.10.8", + "reqwest 0.11.27", + "sha2", "tar", "tempfile", "tokio", - "zip", + "zip 0.6.6", ] [[package]] @@ -3484,29 +3373,20 @@ dependencies = [ "generic-array", ] -[[package]] -name = "input_buffer" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" -dependencies = [ - "bytes", -] - [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "intervallum" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ccecd834666f695ecec3ff0d5fc32e32c91abea91a28fd0aceb4b35a82cee1" +checksum = "18bfda24d3930aa647f90044d5ef87d0c8120f13b86b2d60e8aade66e656e659" dependencies = [ "bit-set", "gcollections", @@ -3521,7 +3401,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -3534,15 +3414,21 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi 0.3.3", - "rustix 0.38.25", - "windows-sys 0.48.0", + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "isotest" version = "0.1.0" @@ -3573,18 +3459,18 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jni" @@ -3610,40 +3496,40 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "kitsune_p2p" -version = "0.3.0-beta-dev.31" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf040944a2caa9820c53c1281fc5fc8d1cec34f3c05bb62e20a7c40e564d858e" +checksum = "e80bbdf914614c2b66bc160dce5475c92d1ddc85d825aaaa1e0f38c862908988" dependencies = [ "arrayref", - "base64 0.21.5", - "blake2b_simd 0.5.11", + "base64 0.22.1", + "blake2b_simd", "bloomfilter", "bytes", "derive_more", "fixt", "futures", - "ghost_actor 0.3.0-alpha.6", + "ghost_actor", "governor", "holochain_trace", - "itertools 0.11.0", + "itertools 0.12.1", "kitsune_p2p_bin_data", "kitsune_p2p_block", "kitsune_p2p_bootstrap_client", @@ -3656,11 +3542,11 @@ dependencies = [ "maplit", "mockall", "must_future", - "nanoid 0.4.0", + "nanoid", "num-traits", "once_cell", "opentelemetry_api", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "serde", "serde_bytes", @@ -3675,12 +3561,12 @@ dependencies = [ [[package]] name = "kitsune_p2p_bin_data" -version = "0.3.0-beta-dev.16" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe2bc530cd368de90546ff0cc3d53c321834b91c5a1bd4d67518222339f1a95c" +checksum = "820631479f0e3e6a843a34d8fbe96c11c0cbedfaaeb290a559f8c7cfb09384df" dependencies = [ "arbitrary", - "base64 0.13.1", + "base64 0.22.1", "derive_more", "fixt", "holochain_util", @@ -3694,9 +3580,9 @@ dependencies = [ [[package]] name = "kitsune_p2p_block" -version = "0.3.0-beta-dev.18" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c69802ed069a0cd074f100df770840adca5a33c218eff3b03ac1366bc56a59" +checksum = "eb67ae6c87581d2f6906bddb651f16f67caf1f3143e2344d3c9d32233afc3357" dependencies = [ "kitsune_p2p_bin_data", "kitsune_p2p_timestamp", @@ -3705,17 +3591,17 @@ dependencies = [ [[package]] name = "kitsune_p2p_bootstrap" -version = "0.2.0-beta-dev.21" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705907be42b52c0d1e608b2eb3974b5722cfe74dd6c5e1b4a1493f82e229f3a6" +checksum = "0abfb290f1f59fac4715dbd4d0bfb7027c678cfd7462ab84c240235e818c0c46" dependencies = [ - "clap 4.4.8", + "clap 4.5.4", "futures", "kitsune_p2p_bin_data", "kitsune_p2p_types", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_bytes", "thiserror", @@ -3725,27 +3611,24 @@ dependencies = [ [[package]] name = "kitsune_p2p_bootstrap_client" -version = "0.3.0-beta-dev.27" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5528ad3f1710db65bf8e4033a8c9d322b746ce4a1fd1a521f45f927c3338b" +checksum = "c46f5bfcf65763d086f061580f3c8b14a578f5c7dd9e2342c72fbb198e1ce365" dependencies = [ - "ed25519-dalek", "kitsune_p2p_bin_data", "kitsune_p2p_bootstrap", "kitsune_p2p_types", - "once_cell", - "reqwest", + "reqwest 0.12.4", "serde", "serde_bytes", - "tokio", "url2", ] [[package]] name = "kitsune_p2p_dht" -version = "0.3.0-beta-dev.17" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a621c87fc3707bb889c3a7430a6e53a8218d4bf71c9fcdbb55695fd827f7dc" +checksum = "61621c362da7b74e19b89bc097441743a7eaae0a167a2c33ef501419e0d277c1" dependencies = [ "arbitrary", "colored", @@ -3756,7 +3639,6 @@ dependencies = [ "kitsune_p2p_timestamp", "must_future", "num-traits", - "once_cell", "proptest", "proptest-derive 0.4.0", "rand 0.8.5", @@ -3768,9 +3650,9 @@ dependencies = [ [[package]] name = "kitsune_p2p_dht_arc" -version = "0.3.0-beta-dev.15" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c95e91172d17d87a9409d0e30b478f06e5f406a167d1fadde9f4fbac858b8c3" +checksum = "cc4e3eea7e151b8be2f6e7af6b625ae864c1709a654b8396bd6af72f5e70e470" dependencies = [ "arbitrary", "derive_more", @@ -3786,13 +3668,13 @@ dependencies = [ [[package]] name = "kitsune_p2p_fetch" -version = "0.3.0-beta-dev.24" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632c1a8f64d3b02f33ddb5c67c082da8374519a0f6c7d091601e1ada1b58c05a" +checksum = "f24b4c8bb689532d831c1d07976793be4dc35cb60fc05bc3aef692f1c760e2ec" dependencies = [ "backon", "derive_more", - "indexmap 2.1.0", + "indexmap 2.2.6", "kitsune_p2p_timestamp", "kitsune_p2p_types", "serde", @@ -3802,13 +3684,13 @@ dependencies = [ [[package]] name = "kitsune_p2p_mdns" -version = "0.3.0-beta-dev.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5a9fb5ba86891846d7896648cdf4f3fca943f5ee6f11257f9a433525882a99" +checksum = "ad7772103b52ebfde394dbeb50ecb7c6366eab902a0b2fd03bbcd51704d583a8" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "err-derive 0.3.1", - "futures-util", + "futures", "libmdns", "mdns", "tokio", @@ -3817,11 +3699,11 @@ dependencies = [ [[package]] name = "kitsune_p2p_proxy" -version = "0.3.0-beta-dev.21" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42573db43ddb31426f1d07002b4ffcff381fb555d062c50ebed1a25dd808545" +checksum = "dad6879803e20bcdfdbdb5d97aa7b393e85941a6c240f5d19743d63fda8f5fb0" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "derive_more", "futures", "holochain_trace", @@ -3835,9 +3717,9 @@ dependencies = [ [[package]] name = "kitsune_p2p_timestamp" -version = "0.3.0-beta-dev.7" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9bd32418f929b981aa54f217302ae03b1eb983f9bb688e2ff06bba40600fe4e" +checksum = "784e4eedd4a5ec72fbf433fb4957c93449fd3e47636874dbc8e119a5d9031845" dependencies = [ "arbitrary", "chrono", @@ -3851,13 +3733,13 @@ dependencies = [ [[package]] name = "kitsune_p2p_transport_quic" -version = "0.3.0-beta-dev.21" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78a1a7edf6c172014e617412d0e4caa82b0e4059c39b2b565317dff2f21ed24" +checksum = "6432dc75e76f9d8aa048c22cc1a6c7686db4689a66da7cd3235a114c75b3085f" dependencies = [ - "blake2b_simd 1.0.2", + "blake2b_simd", "futures", - "if-addrs 0.8.0", + "if-addrs 0.12.0", "kitsune_p2p_types", "quinn", "rustls 0.20.9", @@ -3867,16 +3749,16 @@ dependencies = [ [[package]] name = "kitsune_p2p_types" -version = "0.3.0-beta-dev.21" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd476bddfa2603da380e1308eee8fce27cd1b52368e397068dde52c083dba61" +checksum = "76acb97b596371959305c0f327316c7d58f267132a202c10959786c8aabe496a" dependencies = [ "arbitrary", - "base64 0.21.5", + "base64 0.22.1", "derive_more", "fixt", "futures", - "ghost_actor 0.3.0-alpha.6", + "ghost_actor", "holochain_trace", "kitsune_p2p_bin_data", "kitsune_p2p_dht", @@ -3885,19 +3767,19 @@ dependencies = [ "lair_keystore_api", "mockall", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "proptest", "proptest-derive 0.4.0", - "rmp-serde", + "rmp-serde 1.1.2", "rustls 0.20.9", "serde", "serde_bytes", "serde_json", - "sysinfo 0.29.10", + "sysinfo 0.30.12", "thiserror", "tokio", - "url 2.4.1", + "url", "url2", ] @@ -3912,15 +3794,15 @@ dependencies = [ [[package]] name = "lair_keystore" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7397cd6d05160fe7041f8c0e7de6672b3345bd68326cd2dc06dfb701669f8bf3" +checksum = "56689c6c7f318e5909c9de1d7eac7f2d383370341632ab845c2da24b5b6bb7aa" dependencies = [ "lair_keystore_api", "pretty_assertions", - "rpassword 7.3.1", + "rpassword", "rusqlite", - "sqlformat 0.2.2", + "sqlformat", "structopt", "sysinfo 0.28.4", "tracing-subscriber", @@ -3928,17 +3810,17 @@ dependencies = [ [[package]] name = "lair_keystore_api" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e485174546b1a95bbf801ce241e1039d182ec99c8ab4a5c0b90af0c8d8c651b" +checksum = "aa27af83a127b28c06d7c175dfc34d762fb66ea36d6ac2110d93a55d0e058dd5" dependencies = [ "base64 0.13.1", "dunce", "hc_seed_bundle", "lru", - "nanoid 0.4.0", + "nanoid", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rcgen", "serde", "serde_json", @@ -3947,7 +3829,7 @@ dependencies = [ "tokio", "toml 0.7.8", "tracing", - "url 2.4.1", + "url", "winapi 0.3.9", "zeroize", ] @@ -3966,15 +3848,15 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libflate" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf" +checksum = "45d9dfdc14ea4ef0900c1cddbc8dcd553fbaacd8a4a282cf4018ae9dd04fb21e" dependencies = [ "adler32", "core2", @@ -3985,23 +3867,23 @@ dependencies = [ [[package]] name = "libflate_lz77" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524" +checksum = "e6e0d73b369f386f1c44abd9c570d5318f55ccde816ff4b562fa452e5182863d" dependencies = [ "core2", - "hashbrown 0.13.2", + "hashbrown 0.14.5", "rle-decode-fast", ] [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if 1.0.0", - "windows-sys 0.48.0", + "windows-targets 0.52.5", ] [[package]] @@ -4018,7 +3900,7 @@ checksum = "6a60d8339ad1ddf68a81335fcafb6c6cf20d5036138a1e4ef86b8ce87f076c92" dependencies = [ "byteorder", "futures-util", - "hostname", + "hostname 0.3.1", "if-addrs 0.7.0", "log", "multimap", @@ -4032,20 +3914,19 @@ dependencies = [ [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "libc", - "redox_syscall 0.4.1", ] [[package]] name = "libsodium-sys-stable" -version = "1.20.4" +version = "1.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d164bc6f9139c5f95efb4f0be931b2bd5a9edf7e4e3c945d26b95ab8fa669b" +checksum = "ad52c454200cd0178a04ef7642a240a7e81b4d8c59f0865eb98c477daf7d3b84" dependencies = [ "cc", "libc", @@ -4055,7 +3936,7 @@ dependencies = [ "tar", "ureq", "vcpkg", - "zip", + "zip 2.1.0", ] [[package]] @@ -4078,34 +3959,31 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" -version = "0.3.4" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ + "autocfg 1.3.0", "scopeguard", ] [[package]] -name = "lock_api" -version = "0.4.11" +name = "lockfree-object-pool" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg 1.1.0", - "scopeguard", -] +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" dependencies = [ "value-bag", ] @@ -4128,6 +4006,15 @@ dependencies = [ "libc", ] +[[package]] +name = "mach2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +dependencies = [ + "libc", +] + [[package]] name = "maplit" version = "1.0.2" @@ -4161,16 +4048,10 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "rawpointer", ] -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "mdns" version = "3.0.0" @@ -4189,9 +4070,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memmap2" @@ -4217,16 +4098,16 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", ] [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", ] [[package]] @@ -4259,18 +4140,18 @@ checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -4299,8 +4180,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ "cfg-if 1.0.0", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -4312,24 +4193,21 @@ checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" [[package]] name = "mr_bundle" -version = "0.3.0-beta-dev.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1266ebffcd7e38c98abed6d8f4e09ef50c8e3fac7010471a5d861b1936c7af3" +checksum = "b0d57525022d61a753a0ce52bbee5aeeb60b42f715918e1af81def36565fe49f" dependencies = [ "arbitrary", - "bytes", "derive_more", - "either", "flate2", "futures", "holochain_util", "proptest", "proptest-derive 0.4.0", - "reqwest", - "rmp-serde", + "reqwest 0.12.4", + "rmp-serde 1.1.2", "serde", "serde_bytes", - "serde_derive", "serde_yaml", "test-strategy", "thiserror", @@ -4344,7 +4222,7 @@ dependencies = [ "bytes", "encoding_rs", "futures-util", - "http", + "http 0.2.12", "httparse", "log", "memchr", @@ -4396,20 +4274,11 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] -[[package]] -name = "nanoid" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6226bc4e142124cb44e309a37a04cd9bb10e740d8642855441d3b14808f635e" -dependencies = [ - "rand 0.6.5", -] - [[package]] name = "nanoid" version = "0.4.0" @@ -4421,11 +4290,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -4476,15 +4344,6 @@ dependencies = [ "hashbrown 0.8.2", ] -[[package]] -name = "nom" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c349f68f25f596b9f44cf0e7c69752a5c633b0550c3ff849518bfba0233774a" -dependencies = [ - "memchr", -] - [[package]] name = "nom" version = "7.1.3" @@ -4528,9 +4387,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -4542,20 +4401,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg 1.1.0", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -4566,38 +4424,36 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "itoa", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg 1.1.0", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "num-integer", "num-traits", ] [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg 1.1.0", "num-bigint", "num-integer", "num-traits", @@ -4605,11 +4461,11 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "libm", ] @@ -4619,36 +4475,36 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.9", "libc", ] [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.109", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] @@ -4671,19 +4527,13 @@ dependencies = [ "serde_json", ] -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - [[package]] name = "openssl" -version = "0.10.59" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4698,9 +4548,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -4711,18 +4561,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.3+3.2.1" +version = "300.3.0+3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" +checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.95" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -4755,13 +4605,13 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "os_info" -version = "3.7.0" +version = "3.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" dependencies = [ "log", "serde", - "winapi 0.3.9", + "windows-sys 0.52.0", ] [[package]] @@ -4782,8 +4632,8 @@ checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" dependencies = [ "Inflector", "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -4793,84 +4643,31 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "owning_ref" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d52571ddcb42e9c900c901a18d8d67e393df723fcd51dd59c5b1a85d0acb6cc" - [[package]] name = "parking" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" -[[package]] -name = "parking_lot" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa12d706797d42551663426a45e2db2e0364bd1dbf6aeada87e89c5f981f43e9" -dependencies = [ - "owning_ref", - "parking_lot_core 0.2.14", - "thread-id", -] - -[[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.7.3", -] - [[package]] name = "parking_lot" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api 0.4.11", - "parking_lot_core 0.8.6", -] - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api 0.4.11", - "parking_lot_core 0.9.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ - "libc", - "rand 0.4.6", - "smallvec 0.6.14", - "winapi 0.3.9", + "instant", + "lock_api", + "parking_lot_core 0.8.6", ] [[package]] -name = "parking_lot_core" -version = "0.7.3" +name = "parking_lot" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93f386bb233083c799e6e642a9d73db98c24a5deeb95ffc85bf281255dffc98" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "smallvec 1.11.2", - "winapi 0.3.9", + "lock_api", + "parking_lot_core 0.9.10", ] [[package]] @@ -4883,21 +4680,21 @@ dependencies = [ "instant", "libc", "redox_syscall 0.2.16", - "smallvec 1.11.2", + "smallvec", "winapi 0.3.9", ] [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.4.1", - "smallvec 1.11.2", - "windows-targets 0.48.5", + "redox_syscall 0.5.1", + "smallvec", + "windows-targets 0.52.5", ] [[package]] @@ -4913,9 +4710,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -4923,10 +4720,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.7", + "digest", "hmac", "password-hash", - "sha2 0.10.8", + "sha2", ] [[package]] @@ -4940,21 +4737,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - -[[package]] -name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -4963,40 +4754,40 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.6", "quickcheck", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -5006,20 +4797,20 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polling" @@ -5027,7 +4818,7 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", "bitflags 1.3.2", "cfg-if 1.0.0", "concurrent-queue", @@ -5039,16 +4830,17 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" dependencies = [ "cfg-if 1.0.0", "concurrent-queue", + "hermit-abi 0.3.9", "pin-project-lite", - "rustix 0.38.25", + "rustix 0.38.34", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -5059,12 +4851,13 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "1.0.8" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ - "difference", - "float-cmp 0.8.0", + "difflib", + "float-cmp", + "itertools 0.10.5", "normalize-line-endings", "predicates-core", "regex", @@ -5072,13 +4865,13 @@ dependencies = [ [[package]] name = "predicates" -version = "2.1.5" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" dependencies = [ + "anstyle", "difflib", - "float-cmp 0.9.0", - "itertools 0.10.5", + "float-cmp", "normalize-line-endings", "predicates-core", "regex", @@ -5112,12 +4905,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "toml_edit 0.21.1", ] [[package]] @@ -5127,8 +4919,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", "version_check", ] @@ -5139,8 +4931,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "version_check", ] @@ -5155,24 +4947,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if 1.0.0", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "protobuf", "thiserror", ] @@ -5185,13 +4977,13 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.5.0", "lazy_static", "num-traits", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift 0.3.0", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", "rusty-fork", "tempfile", "unarray", @@ -5214,8 +5006,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -5240,8 +5032,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -5344,11 +5136,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ - "proc-macro2 1.0.78", + "proc-macro2 1.0.84", ] [[package]] @@ -5358,7 +5150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "scheduled-thread-pool", ] @@ -5378,19 +5170,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi 0.3.9", -] - [[package]] name = "rand" version = "0.6.5" @@ -5503,7 +5282,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", ] [[package]] @@ -5604,9 +5383,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -5614,9 +5393,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -5644,12 +5423,6 @@ dependencies = [ "rand_core 0.3.1", ] -[[package]] -name = "redox_syscall" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - [[package]] name = "redox_syscall" version = "0.2.16" @@ -5661,29 +5434,29 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.15", "libredox", "thiserror", ] @@ -5697,19 +5470,19 @@ dependencies = [ "fxhash", "log", "slice-group-by", - "smallvec 1.11.2", + "smallvec", ] [[package]] name = "regex" -version = "1.10.2" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -5723,13 +5496,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -5740,73 +5513,117 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "region" -version = "3.0.0" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" +checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7" dependencies = [ "bitflags 1.3.2", "libc", - "mach", - "winapi 0.3.9", + "mach2", + "windows-sys 0.52.0", ] [[package]] name = "rend" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" dependencies = [ "bytecheck", ] [[package]] name = "reqwest" -version = "0.11.17" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.28", "hyper-rustls", - "hyper-tls", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", "mime", "native-tls", "once_cell", - "percent-encoding 2.3.0", + "percent-encoding", "pin-project-lite", - "rustls 0.20.9", + "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", + "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls", + "tokio-rustls 0.24.1", "tokio-util", "tower-service", - "url 2.4.1", + "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.22.6", - "winreg", + "webpki-roots 0.25.4", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.1.2", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.52.0", ] [[package]] @@ -5835,26 +5652,28 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", - "getrandom 0.2.11", + "cfg-if 1.0.0", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "rkyv" -version = "0.7.42" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" dependencies = [ "bitvec", "bytecheck", + "bytes", "hashbrown 0.12.3", "indexmap 1.9.3", "ptr_meta", @@ -5862,17 +5681,17 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.6.1", + "uuid", ] [[package]] name = "rkyv_derive" -version = "0.7.42" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -5884,9 +5703,9 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" [[package]] name = "rmp" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" dependencies = [ "byteorder", "num-traits", @@ -5905,25 +5724,26 @@ dependencies = [ ] [[package]] -name = "rmpv" -version = "1.0.0" +name = "rmp-serde" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de8813b3a2f95c5138fe5925bfb8784175d88d6bff059ba8ce090aa891319754" +checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a" dependencies = [ - "num-traits", + "byteorder", "rmp", "serde", - "serde_bytes", ] [[package]] -name = "rpassword" -version = "5.0.1" +name = "rmpv" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +checksum = "de8813b3a2f95c5138fe5925bfb8784175d88d6bff059ba8ce090aa891319754" dependencies = [ - "libc", - "winapi 0.3.9", + "num-traits", + "rmp", + "serde", + "serde_bytes", ] [[package]] @@ -5953,19 +5773,19 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2" dependencies = [ - "bitflags 2.4.1", - "fallible-iterator", + "bitflags 2.5.0", + "fallible-iterator 0.2.0", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", - "smallvec 1.11.2", + "smallvec", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc_version" @@ -5973,7 +5793,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.20", + "semver 1.0.23", ] [[package]] @@ -5992,15 +5812,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.25" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.11", - "windows-sys 0.48.0", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", ] [[package]] @@ -6017,16 +5837,14 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.2" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.7", - "rustls-pki-types", - "rustls-webpki 0.102.2", - "subtle", - "zeroize", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", ] [[package]] @@ -6056,14 +5874,24 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.3.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048a63e5b3ac996d78d402940b5fa47973d2d080c6c6fffa1d0f19c4445310b7" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" @@ -6077,20 +5905,19 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.7", - "rustls-pki-types", + "ring 0.17.8", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rusty-fork" @@ -6106,9 +5933,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe_arch" @@ -6130,11 +5957,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -6143,7 +5970,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -6160,19 +5987,19 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "sd-notify" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd08a21f852bd2fe42e3b2a6c76a0db6a95a5b5bd29c0521dd0b30fa1712ec8" +checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32" [[package]] name = "seahash" @@ -6182,11 +6009,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -6195,9 +6022,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -6205,9 +6032,9 @@ dependencies = [ [[package]] name = "self_cell" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6" +checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "semver" @@ -6220,9 +6047,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -6238,9 +6065,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] @@ -6267,31 +6094,31 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.12" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.112" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d1bd37ce2324cf3bf85e5a25f96eb4baf0d5aa6eba43e7ae8958870c4ec48ed" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -6299,9 +6126,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -6320,52 +6147,47 @@ dependencies = [ [[package]] name = "serde_with" -version = "1.14.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", "serde", + "serde_derive", + "serde_json", "serde_with_macros", + "time", ] [[package]] name = "serde_with_macros" -version = "1.5.2" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ - "darling 0.13.4", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.109", + "darling 0.20.9", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "serde_yaml" -version = "0.9.25" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.6", "itoa", "ryu", "serde", "unsafe-libyaml", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha-1" version = "0.10.1" @@ -6374,7 +6196,7 @@ checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -6385,20 +6207,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "digest", ] [[package]] @@ -6409,7 +6218,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -6423,9 +6232,9 @@ dependencies = [ [[package]] name = "shared-buffer" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cf61602ee61e2f83dd016b3e6387245291cf728ea071c378b35088125b4d995" +checksum = "f6c99835bad52957e7aa241d3975ed17c1e5f8c92026377d117a606f36b84b16" dependencies = [ "bytes", "memmap2 0.6.2", @@ -6439,26 +6248,20 @@ checksum = "e63e6744142336dfb606fe2b068afa2e1cca1ee6a5d8377277a92945d81fa331" dependencies = [ "bitflags 1.3.2", "itertools 0.8.2", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "simba" version = "0.6.0" @@ -6472,6 +6275,12 @@ dependencies = [ "wide", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "simdutf8" version = "0.1.4" @@ -6480,9 +6289,9 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "siphasher" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" dependencies = [ "serde", ] @@ -6493,7 +6302,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "autocfg 1.1.0", + "autocfg 1.3.0", ] [[package]] @@ -6504,18 +6313,9 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] - -[[package]] -name = "smallvec" -version = "1.11.2" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -6529,26 +6329,26 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "sodoken" -version = "0.0.10" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308b58141d2ddac517b5e606e6f94d72e7a64c1383c9439c4acc712267f2be52" +checksum = "907e0ea9699b846c2586ea5685e9abf5963fca64a5179a406e6ac02b94564e30" dependencies = [ "libc", "libsodium-sys-stable", "num_cpus", "once_cell", "one_err", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "tokio", ] @@ -6566,23 +6366,12 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "sqlformat" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b7922be017ee70900be125523f38bdd644f4f06a1b16e8fa5a8ee8c34bffd4" -dependencies = [ - "itertools 0.10.5", - "nom 7.1.3", - "unicode_categories", -] - -[[package]] -name = "sqlformat" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85" +checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "itertools 0.11.0", - "nom 7.1.3", + "itertools 0.12.1", + "nom", "unicode_categories", ] @@ -6611,17 +6400,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" -[[package]] -name = "stream-cancel" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0a9eb2715209fb8cc0d942fcdff45674bfc9f0090a0d897e85a22955ad159b" -dependencies = [ - "futures-core", - "pin-project", - "tokio", -] - [[package]] name = "strsim" version = "0.8.0" @@ -6630,15 +6408,15 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "strsim" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "structmeta" @@ -6646,10 +6424,10 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ad9e09554f0456d67a69c1584c9798ba733a5b50349a6c0d0948710523922d" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "structmeta-derive", - "syn 2.0.48", + "syn 2.0.66", ] [[package]] @@ -6658,9 +6436,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -6682,8 +6460,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -6700,8 +6478,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] @@ -6712,8 +6490,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "rustversion", "syn 1.0.109", ] @@ -6760,30 +6538,36 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.48" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "synstructure" version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -6805,9 +6589,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.29.10" +version = "0.30.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5" +checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -6815,7 +6599,28 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi 0.3.9", + "windows", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", ] [[package]] @@ -6837,9 +6642,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "task-motel" @@ -6848,22 +6653,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7228e85537ffb5943539a46bf561786323f6112114005ba055e496192a6f8f41" dependencies = [ "futures", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "tokio", "tracing", ] [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if 1.0.0", - "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.25", - "windows-sys 0.48.0", + "fastrand 2.1.0", + "rustix 0.38.34", + "windows-sys 0.52.0", ] [[package]] @@ -6872,7 +6676,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.25", + "rustix 0.38.34", "windows-sys 0.48.0", ] @@ -6901,8 +6705,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58071dc2471840e9f374eeb0f6e405a31bccb3cc5d59bb4598f02cafc274b5c4" dependencies = [ "cargo_metadata", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "serde", "strum_macros 0.24.3", ] @@ -6916,8 +6720,8 @@ dependencies = [ "darling 0.14.4", "if_chain", "lazy_static", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "subprocess", "syn 1.0.109", "test-fuzz-internal", @@ -6935,7 +6739,7 @@ dependencies = [ "hex", "num-traits", "serde", - "sha-1 0.10.1", + "sha-1", "test-fuzz-internal", ] @@ -6945,10 +6749,10 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8361c808554228ad09bfed70f5c823caf8a3450b6881cc3a38eb57e8c08c1d9" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "structmeta", - "syn 2.0.48", + "syn 2.0.66", ] [[package]] @@ -6962,40 +6766,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", -] - -[[package]] -name = "thread-id" -version = "3.3.0" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ - "libc", - "redox_syscall 0.1.57", - "winapi 0.3.9", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if 1.0.0", "once_cell", @@ -7054,19 +6847,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", ] @@ -7077,9 +6870,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -7104,30 +6897,25 @@ dependencies = [ ] [[package]] -name = "tokio-stream" -version = "0.1.14" +name = "tokio-rustls" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "futures-core", - "pin-project-lite", + "rustls 0.21.12", "tokio", - "tokio-util", ] [[package]] -name = "tokio-tungstenite" -version = "0.13.0" +name = "tokio-stream" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a5f475f1b9d077ea1017ecbc60890fda8e54942d680ca0b1d2b47cfa2d861b" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ - "futures-util", - "log", - "native-tls", - "pin-project", + "futures-core", + "pin-project-lite", "tokio", - "tokio-native-tls", - "tungstenite 0.12.0", + "tokio-util", ] [[package]] @@ -7141,44 +6929,34 @@ dependencies = [ "rustls 0.20.9", "rustls-native-certs", "tokio", - "tokio-rustls", + "tokio-rustls 0.23.4", "tungstenite 0.18.0", "webpki", ] [[package]] name = "tokio-tungstenite" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" dependencies = [ "futures-util", "log", "tokio", - "tungstenite 0.20.1", + "tungstenite 0.21.0", ] [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", ] [[package]] @@ -7195,21 +6973,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.13", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -7220,23 +6998,35 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +dependencies = [ + "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", + "winnow 0.6.8", ] [[package]] @@ -7252,6 +7042,27 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -7276,9 +7087,9 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] @@ -7335,7 +7146,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.11.2", + "smallvec", "thread_local", "time", "tracing", @@ -7352,29 +7163,9 @@ checksum = "683ba5022fe6dbd7133cad150478ccf51bdb6d861515181e5fc6b4323d4fa424" [[package]] name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "tungstenite" -version = "0.12.0" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ada8297e8d70872fa9a551d93250a9f407beb9f37ef86494eb20012a2ff7c24" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "input_buffer", - "log", - "native-tls", - "rand 0.8.5", - "sha-1 0.9.8", - "url 2.4.1", - "utf-8", -] +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" @@ -7385,42 +7176,42 @@ dependencies = [ "base64 0.13.1", "byteorder", "bytes", - "http", + "http 0.2.12", "httparse", "log", "rand 0.8.5", "rustls 0.20.9", "sha1", "thiserror", - "url 2.4.1", + "url", "utf-8", "webpki", ] [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 1.1.0", "httparse", "log", "rand 0.8.5", "sha1", "thiserror", - "url 2.4.1", + "url", "utf-8", ] [[package]] name = "tx5" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56118fa9f9d16d66caf78f23faac825192ec5893974cd48684b500270e58a2a6" +checksum = "58e2eebc6b3677281091356d4a5dbc0d48ec77b74b3ee39227e94cda1354a679" dependencies = [ "bit_field", "bytes", @@ -7428,7 +7219,7 @@ dependencies = [ "influxive-otel-atomic-obs", "once_cell", "opentelemetry_api", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "rand-utf8", "serde", @@ -7438,14 +7229,14 @@ dependencies = [ "tx5-core", "tx5-go-pion", "tx5-signal", - "url 2.4.1", + "url", ] [[package]] name = "tx5-core" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23f97a8029d045801651d2c00c1214226d8b3e1eda8d7da2a3f6e33e7f706565" +checksum = "9a45e91402a7c17bda8835acb47c7460dc3880dc067235d324401a7359857a75" dependencies = [ "app_dirs2", "base64 0.13.1", @@ -7453,32 +7244,32 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "tempfile", "tokio", "tracing", - "url 2.4.1", + "url", ] [[package]] name = "tx5-go-pion" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8893cfafc7ecb78df0d0c3f5c0302dcc3a83e9a2f43c9496be850165d074d3dc" +checksum = "5731de2cad3c014ddce4552f32c0b0c68b8682390b7ac57c55cbeddf6c1dbe50" dependencies = [ "futures", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "tokio", "tracing", "tx5-go-pion-sys", - "url 2.4.1", + "url", ] [[package]] name = "tx5-go-pion-sys" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7094b90be32dbc232f39168dd7a6b31ba236525c7374e1016b711ccaf93e509" +checksum = "f4f42f441e7c186c5aa846618144d1e041215b7d68ecd747aec1e5478c06fccb" dependencies = [ "Inflector", "base64 0.13.1", @@ -7487,40 +7278,40 @@ dependencies = [ "libloading", "once_cell", "ouroboros", - "sha2 0.10.8", + "sha2", "tracing", "tx5-core", - "zip", + "zip 0.6.6", ] [[package]] name = "tx5-go-pion-turn" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1c6e8200815e00a2ee46bba6bd5090e561d94e3245ceb2c5ec7aa89501e19ae" +checksum = "393e40552c56e0333a2e2e08090869f2494417c25d0168b8366caf4c9ae52391" dependencies = [ "base64 0.13.1", "dirs", "dunce", "if-addrs 0.10.2", "once_cell", - "sha2 0.10.8", + "sha2", "tokio", "tracing", "tx5-core", - "zip", + "zip 0.6.6", ] [[package]] name = "tx5-signal" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8f5f50fb29c21f11a183b744953dbaa5812b5ce6cbfccf513d971b00bf86e3" +checksum = "82004d487706b590b75ba858d322473fd11ccc1979f99aa85957554572a92cd5" dependencies = [ "futures", "lair_keystore_api", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand 0.8.5", "rand-utf8", "rcgen", @@ -7529,24 +7320,24 @@ dependencies = [ "rustls-native-certs", "rustls-pemfile 1.0.4", "serde_json", - "sha2 0.10.8", - "socket2 0.5.5", + "sha2", + "socket2 0.5.7", "tokio", - "tokio-rustls", + "tokio-rustls 0.23.4", "tokio-tungstenite 0.18.0", "tracing", "tx5-core", - "url 2.4.1", + "url", "webpki-roots 0.23.1", ] [[package]] name = "tx5-signal-srv" -version = "0.0.7-alpha" +version = "0.0.9-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "283dcaaa1f389612615fed7d1844d459862d771e2c31c2d3137a34ab584519b5" +checksum = "a24b13f9032042ef2c30647998ba21882dbf411435071b6fe587a2c1e0992b28" dependencies = [ - "clap 4.4.8", + "clap 4.5.4", "dirs", "futures", "if-addrs 0.10.2", @@ -7590,9 +7381,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -7602,24 +7393,24 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" @@ -7641,9 +7432,9 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "unsafe-libyaml" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "untrusted" @@ -7669,48 +7460,32 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2e7e85a0596447f0f2ac090e16bc4c516c6fe91771fb0c0ccf7fa3dae896b9c" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "ureq" -version = "2.9.5" +version = "2.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b52731d03d6bb2fd18289d4028aee361d6c28d44977846793b994b13cdcc64d" +checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" dependencies = [ - "base64 0.21.5", - "hootbin", + "base64 0.22.1", "log", "once_cell", - "rustls 0.22.2", - "rustls-pki-types", - "rustls-webpki 0.102.2", - "url 2.4.1", - "webpki-roots 0.26.1", -] - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", + "url", ] [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.4.0", - "percent-encoding 2.3.0", + "idna", + "percent-encoding", "serde", ] @@ -7721,17 +7496,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c89cd13f1de9862d363308f5ffdadcd2b64b2a4a812fb296a80b7d3e80011b1e" dependencies = [ "serde", - "url 2.4.1", -] - -[[package]] -name = "url_serde" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea" -dependencies = [ - "serde", - "url 1.7.2", + "url", ] [[package]] @@ -7754,23 +7519,14 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "0.7.4" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "rand 0.6.5", + "getrandom 0.2.15", "serde", ] -[[package]] -name = "uuid" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" -dependencies = [ - "getrandom 0.2.11", -] - [[package]] name = "valuable" version = "0.1.0" @@ -7779,9 +7535,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.4.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe" +checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" [[package]] name = "vcpkg" @@ -7812,15 +7568,15 @@ dependencies = [ [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -7837,30 +7593,28 @@ dependencies = [ [[package]] name = "warp" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e92e22e03ff1230c03a1a8ee37d2f89cd489e2e541b7550d6afad96faed169" +checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" dependencies = [ "bytes", "futures-channel", "futures-util", "headers", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.28", "log", "mime", "mime_guess", "multer", - "percent-encoding 2.3.0", + "percent-encoding", "pin-project", - "rustls-pemfile 1.0.4", "scoped-tls", "serde", "serde_json", "serde_urlencoded", "tokio", - "tokio-stream", - "tokio-tungstenite 0.20.1", + "tokio-tungstenite 0.21.0", "tokio-util", "tower-service", "tracing", @@ -7880,9 +7634,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7890,24 +7644,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7917,32 +7671,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "quote 1.0.35", + "quote 1.0.36", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" @@ -7955,9 +7709,9 @@ dependencies = [ [[package]] name = "wasm-streams" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -7968,9 +7722,9 @@ dependencies = [ [[package]] name = "wasmer" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce45cc009177ca345a6d041f9062305ad467d15e7d41494f5b81ab46d62d7a58" +checksum = "4014573f108a246858299eb230031e268316fd57207bd2e8afc79b20fc7ce983" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -7984,6 +7738,7 @@ dependencies = [ "shared-buffer", "target-lexicon", "thiserror", + "tracing", "wasm-bindgen", "wasmer-compiler", "wasmer-compiler-cranelift", @@ -7996,9 +7751,9 @@ dependencies = [ [[package]] name = "wasmer-compiler" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e044f6140c844602b920deb4526aea3cc9c0d7cf23f00730bb9b2034669f522a" +checksum = "3a77bfe259f08e8ec9e77f8f772ebfb4149f799d1f637231c5a5a6a90c447256" dependencies = [ "backtrace", "bytes", @@ -8013,7 +7768,7 @@ dependencies = [ "rkyv", "self_cell", "shared-buffer", - "smallvec 1.11.2", + "smallvec", "thiserror", "wasmer-types", "wasmer-vm", @@ -8023,9 +7778,9 @@ dependencies = [ [[package]] name = "wasmer-compiler-cranelift" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ce02358eb44a149d791c1d6648fb7f8b2f99cd55e3c4eef0474653ec8cc889" +checksum = "9280c47ebc754f95357745a38a995dd766f149e16b26e1b7e35741eb23c03d12" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -8033,7 +7788,7 @@ dependencies = [ "gimli 0.26.2", "more-asserts", "rayon", - "smallvec 1.11.2", + "smallvec", "target-lexicon", "tracing", "wasmer-compiler", @@ -8042,21 +7797,21 @@ dependencies = [ [[package]] name = "wasmer-derive" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c782d80401edb08e1eba206733f7859db6c997fc5a7f5fb44edc3ecd801468f6" +checksum = "e9352877c4f07fc59146d21b56ae6dc469caf342587f49c81b4fbeafead31972" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.84", + "quote 1.0.36", "syn 1.0.109", ] [[package]] name = "wasmer-middlewares" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d4f27f76b7b5325476c8851f34920ae562ef0de3c830fdbc4feafff6782187" +checksum = "2b5c5d574dfd4674fefc3db98748ddb4193c6750f145736555e938c94c505207" dependencies = [ "wasmer", "wasmer-types", @@ -8065,9 +7820,9 @@ dependencies = [ [[package]] name = "wasmer-types" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd09e80d4d74bb9fd0ce6c3c106b1ceba1a050f9948db9d9b78ae53c172d6157" +checksum = "749214b6170f2b2fbbfe5b7e7f8d381e64930ac4122f3abceb33cde0292d45d2" dependencies = [ "bytecheck", "enum-iterator", @@ -8081,9 +7836,9 @@ dependencies = [ [[package]] name = "wasmer-vm" -version = "4.2.4" +version = "4.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdcd8a4fd36414a7b6a003dbfbd32393bce3e155d715dd877c05c1b7a41d224d" +checksum = "300215479de0deeb453e95aeb1b9c8ffd9bc7d9bd27c5f9e8a184e54db4d31a9" dependencies = [ "backtrace", "cc", @@ -8098,7 +7853,7 @@ dependencies = [ "lazy_static", "libc", "mach", - "memoffset 0.9.0", + "memoffset 0.9.1", "more-asserts", "region", "scopeguard", @@ -8109,12 +7864,13 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.95.0" +version = "0.121.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ea896273ea99b15132414be1da01ab0d8836415083298ecaffbe308eaac87a" +checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ - "indexmap 1.9.3", - "url 2.4.1", + "bitflags 2.5.0", + "indexmap 2.2.6", + "semver 1.0.23", ] [[package]] @@ -8140,9 +7896,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -8158,15 +7914,6 @@ dependencies = [ "untrusted 0.7.1", ] -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - [[package]] name = "webpki-roots" version = "0.23.1" @@ -8178,18 +7925,15 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.1" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" -dependencies = [ - "rustls-pki-types", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "wide" -version = "0.7.13" +version = "0.7.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242" +checksum = "cd8dc749a1b03f3c255a3064a4f5c0ee5ed09b7c6bc6d4525d31f779cd74d7fc" dependencies = [ "bytemuck", "safe_arch", @@ -8219,11 +7963,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi 0.3.9", + "windows-sys 0.52.0", ] [[package]] @@ -8232,13 +7976,23 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.5", +] + [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -8254,21 +8008,6 @@ dependencies = [ "windows_x86_64_msvc 0.33.0", ] -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-sys" version = "0.45.0" @@ -8287,6 +8026,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -8317,6 +8065,22 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -8329,6 +8093,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + [[package]] name = "windows_aarch64_msvc" version = "0.33.0" @@ -8347,6 +8117,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + [[package]] name = "windows_i686_gnu" version = "0.33.0" @@ -8365,6 +8141,18 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + [[package]] name = "windows_i686_msvc" version = "0.33.0" @@ -8383,6 +8171,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + [[package]] name = "windows_x86_64_gnu" version = "0.33.0" @@ -8401,6 +8195,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -8413,6 +8213,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + [[package]] name = "windows_x86_64_msvc" version = "0.33.0" @@ -8431,22 +8237,48 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winnow" -version = "0.5.19" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi 0.3.9", + "cfg-if 1.0.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if 1.0.0", + "windows-sys 0.48.0", ] [[package]] @@ -8460,11 +8292,13 @@ dependencies = [ [[package]] name = "xattr" -version = "1.0.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", + "linux-raw-sys 0.4.14", + "rustix 0.38.34", ] [[package]] @@ -8490,43 +8324,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.26" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.26" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.84", + "quote 1.0.36", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", -] +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] name = "zip" @@ -8548,6 +8368,37 @@ dependencies = [ "zstd", ] +[[package]] +name = "zip" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2568cd0f20e86cd9a7349fe05178f7bd22f22724678448ae5a9bac266df2689" +dependencies = [ + "arbitrary", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "flate2", + "indexmap 2.2.6", + "memchr", + "thiserror", + "zopfli", +] + +[[package]] +name = "zopfli" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +dependencies = [ + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", +] + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" @@ -8569,9 +8420,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 8fc272bb6..96668df88 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,10 +3,10 @@ members = ["crates/*"] resolver = "2" [workspace.dependencies] -hdi = "0.4.0-beta-dev.28" -hdk = "0.3.0-beta-dev.32" -holochain = "0.3.0-beta-dev.38" -serde = "1" +serde = "1.0.193" +hdi = "0.4.1" +hdk = "0.3.1" +holochain = "0.3.1" [profile.dev] opt-level = "z" diff --git a/crates/coordinator/Cargo.toml b/crates/coordinator/Cargo.toml index e04eaf966..2aca99419 100644 --- a/crates/coordinator/Cargo.toml +++ b/crates/coordinator/Cargo.toml @@ -21,11 +21,10 @@ name = "hc_zome_profiles_coordinator" derive_more = "0" serde = "1" hc_zome_profiles_integrity = { path = "../integrity", version = "0.2" } - hdk = { workspace = true } [dev-dependencies] -fixt = "0.3.0-beta-dev.1" +fixt = "0.3.1" futures = { version = "0.3.1", default-features = false } hdk = { workspace = true, features = ["encoding", "test_utils"] } holochain = { workspace = true, features = ["test_utils"] } diff --git a/crates/coordinator/src/lib.rs b/crates/coordinator/src/lib.rs index 724e845bc..f7297edb0 100644 --- a/crates/coordinator/src/lib.rs +++ b/crates/coordinator/src/lib.rs @@ -170,7 +170,7 @@ fn get_latest(action_hash: ActionHash) -> ExternResult { /// Gets all the agents that have created a profile in this DHT. #[hdk_extern] -pub fn get_agents_with_profile(_: ()) -> ExternResult> { +pub fn get_agents_with_profile(_: ()) -> ExternResult> { let path = Path::from("all_profiles").typed(LinkTypes::PrefixPath)?; let children = path.children_paths()?; @@ -192,15 +192,7 @@ pub fn get_agents_with_profile(_: ()) -> ExternResult> { .flatten() .collect::>(); - let mut agents: Vec = vec![]; - - for link in links { - if let Ok(pub_key) = AgentPubKey::try_from(link.target) { - agents.push(pub_key); - } - } - - Ok(agents) + Ok(links) } /** Helpers*/ diff --git a/crates/coordinator/tests/create_and_get.rs b/crates/coordinator/tests/create_and_get.rs index aae7f4608..bf4bca87d 100644 --- a/crates/coordinator/tests/create_and_get.rs +++ b/crates/coordinator/tests/create_and_get.rs @@ -2,7 +2,6 @@ use std::collections::BTreeMap; use hc_zome_profiles_integrity::*; use hdk::prelude::*; -use holochain::test_utils::consistency_10s; use holochain::{conductor::config::ConductorConfig, sweettest::*}; #[tokio::test(flavor = "multi_thread")] @@ -41,7 +40,7 @@ async fn create_and_get() { .call(&alice_zome, "create_profile", profile) .await; - consistency_10s([&alice, &bobbo]).await; + await_consistency(30, [&alice, &bobbo]).await.unwrap(); let record_2: Option = conductors[0] .call(&alice_zome, "get_agent_profile", alice_pub_key) @@ -65,7 +64,7 @@ async fn create_and_get() { .call(&alice_zome, "update_profile", profile.clone()) .await; - consistency_10s([&alice, &bobbo]).await; + await_consistency(30, [&alice, &bobbo]).await.unwrap(); // ---> get it over the DHT though get_agent_profile() let alices_profile: Option = conductors[1] @@ -111,7 +110,7 @@ async fn create_and_get() { ) .await; - let all_agents: Vec = conductors[1] + let all_agents: Vec = conductors[1] .call(&bob_zome, "get_agents_with_profile", ()) .await; diff --git a/crates/coordinator/tests/search.rs b/crates/coordinator/tests/search.rs index 1a35bf704..f507ef9ad 100644 --- a/crates/coordinator/tests/search.rs +++ b/crates/coordinator/tests/search.rs @@ -2,7 +2,6 @@ use std::collections::BTreeMap; use hc_zome_profiles_integrity::*; use holochain::prelude::{AgentPubKey, Record}; -use holochain::test_utils::consistency_10s; use holochain::{conductor::config::ConductorConfig, sweettest::*}; #[tokio::test(flavor = "multi_thread")] @@ -42,7 +41,7 @@ async fn create_and_get() { ) .await; - consistency_10s([&alice, &bobbo]).await; + await_consistency(30, [&alice, &bobbo]).await.unwrap(); let agents_searched: Vec = conductors[1] .call(&bob_zome, "search_agents", String::from("ali")) diff --git a/crates/coordinator/zome.nix b/crates/coordinator/zome.nix index 0ffe05211..350b7a7c0 100644 --- a/crates/coordinator/zome.nix +++ b/crates/coordinator/zome.nix @@ -1,49 +1,40 @@ -{ inputs, rootPath, ... }: +{ inputs, ... }: { - perSystem = - { inputs' - , config - , pkgs - , system - , lib - , options - , self' - , ... - }: { - packages.profiles = inputs.hcUtils.outputs.lib.rustZome { - workspacePath = rootPath; - holochain = inputs'.holochain; - crateCargoToml = ./Cargo.toml; - }; + perSystem = { inputs', config, pkgs, system, lib, options, self', ... }: { + packages.profiles = inputs.hc-infra.outputs.lib.rustZome { + workspacePath = inputs.self.outPath; + holochain = inputs'.holochain; + crateCargoToml = ./Cargo.toml; + }; - checks.profiles = inputs.hcUtils.outputs.lib.sweettest { - workspacePath = rootPath; + checks.profiles = inputs.hc-infra.outputs.lib.sweettest { + workspacePath = inputs.self.outPath; + holochain = inputs'.holochain; + dna = inputs.hc-infra.outputs.lib.dna { + dnaManifest = builtins.toFile "dna.yaml" '' + --- + manifest_version: "1" + name: test_dna + integrity: + network_seed: ~ + properties: ~ + origin_time: 1709638576394039 + zomes: + - name: profiles_integrity + coordinator: + zomes: + - name: profiles + hash: ~ + dependencies: + - name: profiles_integrity + dylib: ~ + ''; + zomes = inputs.hc-infra.outputs.lib.filterZomes self'.packages; holochain = inputs'.holochain; - dna = inputs.hcUtils.outputs.lib.dna { - dnaManifest = builtins.toFile "dna.yaml" '' - --- - manifest_version: "1" - name: test_dna - integrity: - network_seed: ~ - properties: ~ - origin_time: 1709638576394039 - zomes: - - name: profiles_integrity - coordinator: - zomes: - - name: profiles - hash: ~ - dependencies: - - name: profiles_integrity - dylib: ~ - ''; - zomes = inputs.hcUtils.outputs.lib.filterZomes self'.packages; - holochain = inputs'.holochain; - }; - crateCargoToml = ./Cargo.toml; }; - }; + crateCargoToml = ./Cargo.toml; + }; + }; } diff --git a/crates/integrity/zome.nix b/crates/integrity/zome.nix index 4100bc97a..70a9b2ad4 100644 --- a/crates/integrity/zome.nix +++ b/crates/integrity/zome.nix @@ -1,20 +1,12 @@ -{ inputs, rootPath, ... }: +{ inputs, ... }: { - perSystem = - { inputs' - , config - , pkgs - , system - , lib - , options - , ... - }: { - packages.profiles_integrity = inputs.hcUtils.outputs.lib.rustZome { - workspacePath = rootPath; - holochain = inputs'.holochain; - crateCargoToml = ./Cargo.toml; - }; - }; + perSystem = { inputs', config, pkgs, system, lib, options, ... }: { + packages.profiles_integrity = inputs.hc-infra.outputs.lib.rustZome { + workspacePath = inputs.self.outPath; + holochain = inputs'.holochain; + crateCargoToml = ./Cargo.toml; + }; + }; } diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..65d8b723b --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,8 @@ +# dependencies +node_modules/ + +# logs +npm-debug.log* + +.vitepress/cache +public/backend/ diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 000000000..419f22fa1 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,100 @@ +import { withMermaid } from 'vitepress-plugin-mermaid'; +import fs from 'fs'; + +// https://vitepress.dev/reference/site-config +export default withMermaid({ + vue: { + template: { + compilerOptions: { + // treat all tags with a dash as custom elements + isCustomElement: (tag) => tag.includes("-"), + }, + }, + }, + vite: { + optimizeDeps: { + include: [ + 'mermaid' + ] + } + }, + base: "/profiles", + title: "@holochain-open-dev/profiles", + description: "Profiles module for holochain apps", + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + + sidebar: [ + { + text: "Setup", + link: "/setup.md", + }, + { + text: "API Reference", + items: [ + { + text: "Integrity Zome", + link: "/backend/doc/hc_zome_profiles_integrity/index.html", + target: "_blank", + }, + { + text: "Coordinator Zome", + link: "/backend/doc/hc_zome_profiles_coordinator/index.html", + target: "_blank", + }, + { + text: "Frontend", + items: [ + { + text: "ProfilesStore", + link: "/profiles-store.md", + }, + { + text: "Elements", + items: fs.readdirSync("./elements").filter(file => file.endsWith('.md')).map(el => + ({ + text: el.split('.md')[0], + link: `/elements/${el}`, + }), + ), + }, + ], + }, + ], + }, + ], + + socialLinks: [ + { + icon: "github", + link: "https://github.com/holochain-open-dev/profiles", + }, + ], + search: { + provider: 'local' + } + }, + head: [ + [ + 'script', + {}, + // Synchronize the vitepress dark/light theme with the shoelace mode + ` + function syncTheme() { + const isDark = document.documentElement.classList.contains('dark'); + const isShoelaceDark = document.documentElement.classList.contains('sl-theme-dark'); + if (isDark && !isShoelaceDark) document.documentElement.classList = "dark sl-theme-dark"; + if (!isDark && isShoelaceDark) document.documentElement.classList = ""; + } + const attrObserver = new MutationObserver((mutations) => { + mutations.forEach(mu => { + if (mu.type !== "attributes" && mu.attributeName !== "class") return; + syncTheme(); + }); + }); + attrObserver.observe(document.documentElement, {attributes: true}); + syncTheme(); + ` + ] + ], +}); diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css new file mode 100644 index 000000000..18892a510 --- /dev/null +++ b/docs/.vitepress/theme/custom.css @@ -0,0 +1,27 @@ +api-demo::part(header) { + display: none; +} +api-docs::part(header) { + display: none; +} +api-demo, api-docs { + font-family: inherit; +} + +.sl-theme-dark api-docs,api-demo { + --ave-primary-color: #537c9d; + --ave-secondary-color: rgba(255, 255, 255, 0.54); + --ave-accent-color: #d63200; + --ave-border-color: rgba(255, 255, 255, 0.12); + --ave-border-radius: 4px; + --ave-header-color: black; + --ave-item-color: rgba(255, 255, 255, 0.87); + --ave-label-color: #c0c0c0; + --ave-link-color: #498abe; + --ave-link-hover-color: #d63200; + --ave-tab-indicator-size: 2px; + --ave-tab-color: rgba(255, 255, 255, 0.54); + --ave-tag-background-color: #e2e3e5; + --ave-tag-border-color: #d6d8db; + --ave-tag-color: #383d41; +} diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js new file mode 100644 index 000000000..82e61555a --- /dev/null +++ b/docs/.vitepress/theme/index.js @@ -0,0 +1,7 @@ +// .vitepress/theme/index.js +import DefaultTheme from 'vitepress/theme' +import '@shoelace-style/shoelace/dist/themes/light.css'; +import '@shoelace-style/shoelace/dist/themes/dark.css'; +import './custom.css' + +export default DefaultTheme; diff --git a/docs/2.1-backend-setup.md b/docs/2.1-backend-setup.md new file mode 100644 index 000000000..2296045a6 --- /dev/null +++ b/docs/2.1-backend-setup.md @@ -0,0 +1,36 @@ +import { Meta } from '@storybook/addon-docs'; + + + +# Setting up the zomes + +> It's much much easier to set up the backend by using the [holochain-open-dev template](https://github.com/holochain-open-dev/templates). Only follow this guide if you can't use the template. + +> This guide assumes you are inside a nix-shell environment with `hc scaffold` available. + +1. Scaffold a new zome pair named `profiles` with: + +```bash +hc scaffold zome profiles +``` + +Select the "Integrity/coordinator zome pair" option, and accept the path that the scaffolding tool offers to scaffold the zomes. + +2. Add the `hc_zome_profiles_coordinator` and `hc_zome_profiles_integrity` zomes as dependencies with: + +```bash +cargo add -p profiles hc_zome_profiles_coordinator +cargo add -p profiles_integrity hc_zome_profiles_integrity +``` + +3. Go into the newly scaffolded integrity zome's `lib.rs` (its path may be similar to `dnas/lobby/zomes/integrity/profiles/src/lib.rs`) and **replace its contents with**: + +```rust +extern crate hc_zome_profiles_integrity; +``` + +4. Go into the newly scaffolded coordinator zome's `lib.rs` (its path may be similar to `dnas/lobby/zomes/coordinator/profiles/src/lib.rs`) and **replace its contents with**: + +```rust +extern crate hc_zome_profiles_coordinator; +``` diff --git a/docs/2.2-integrity.mdx b/docs/2.2-integrity.mdx new file mode 100644 index 000000000..3aa136e57 --- /dev/null +++ b/docs/2.2-integrity.mdx @@ -0,0 +1,11 @@ +import { Meta } from '@storybook/addon-docs'; + + + +# hc_zome_profiles_integrity + +Use this crate directly if you want include and maybe extend this zome in your DNA. + +Notice that just by importing this crate, all its zome functions will be automatically defined in the consuming crate. This could create collisions in function names or entry definitions. + +[Read the documentation for the types available from this zome](https://docs.rs/hc_zome_profiles_integrity). diff --git a/docs/2.3-coordinator.mdx b/docs/2.3-coordinator.mdx new file mode 100644 index 000000000..c237b0b7c --- /dev/null +++ b/docs/2.3-coordinator.mdx @@ -0,0 +1,11 @@ +import { Meta } from '@storybook/addon-docs'; + + + +# hc_zome_profiles_coordinator + +Use this crate directly if you want include and maybe extend this zome in your DNA. + +Notice that just by importing this crate, all its zome functions will be automatically defined in the consuming crate. This could create collisions in function names or entry definitions. + +[Read the documentation for all the functions available from this zome.](https://docs.rs/hc_zome_profiles_coordinator) diff --git a/docs/3.1-frontend-setup.mdx b/docs/3.1-frontend-setup.mdx new file mode 100644 index 000000000..6ad5fd188 --- /dev/null +++ b/docs/3.1-frontend-setup.mdx @@ -0,0 +1,125 @@ +import { Meta } from '@storybook/addon-docs'; + + + +# Seting Up the Frontend + +> It's much much easier to set up the frontend by using the [holochain-open-dev template](https://github.com/holochain-open-dev/templates). Only follow this guide if you can't use the template. + +> This guide assumes you are building a web application written in JS or TS, using NPM as the package manager. + +> [Go here](https://holochain-open-dev.github.io/reusable-modules/frontend/frameworks/) to look at examples of integration of this module in different frontend frameworks (Vue, Svelte, etc.). + +1. Install this module and its necessary dependencies with: + +```bash +npm install @holochain-open-dev/profiles +``` + +Careful! If you are using NPM workspaces (which is the case for the apps generated with the holochain scaffolding tool (`hc scaffold`), you need to specify which workspace you want to install those dependencies to, and run the command from the root folder of the repository. In the case of the apps generated with the scaffolding tool: + +```bash +npm install @holochain-open-dev/profiles -w ui +``` + +2. Connect to Holochain with the `AppClient`, and create the `ProfilesStore` with it: + +```js +import { ProfilesStore, ProfilesClient } from "@holochain-open-dev/profiles"; +import { AppWebsocket, AppWebsocket } from "@holochain/client"; + +async function setupProfilesStore() { + const client = await AppWebsocket.connect('', '') + +// TODO: change "MY_CELL_ROLE" for the roleId that you can find in your "happ.yaml" + const profilesStore = new ProfilesStore(new ProfilesClient(client, ''), { + avatarMode: "avatar-optional", + }); + return profilesStore; +} +``` + +3. Import the `` element and add it to your html **wrapping the whole section of your page in which you are going to be placing** the other elements from `@holochain-open-dev/profiles`: + +```js +// This can be placed in the index.js, at the top level of your web-app. +import "@holochain-open-dev/profiles/dist/elements/profiles-context.js"; +``` + +And then add the `` element in your html: + +```html + + + + +``` + +4. Attach the `profilesStore` to the `` element: + +- Go to [this page](https://holochain-open-dev.github.io/reusable-modules/frontend/frameworks/), select the framework you are using, and follow its example. + +You need to set the `store` property of it to your already instantiated `ProfilesStore` object: + +- If you **are using some JS framework**: + +```html + + + + + + + + + + + + + + +``` + +OR + +- If you **are not using any framework**: + +```js +const contextElement = document.querySelector("profiles-context"); +contextElement.store = store; +``` + +> You can read more about the context pattern [here](https://holochain-open-dev.github.io/reusable-modules/frontend/using/#context). + +5. [Choose which elements you need](?path=/docs/frontend-elements) and import them like this: + +```js +import "@holochain-open-dev/profiles/dist/elements/profiles-context.js"; +``` + +And then they are ready be used inside the `` just like any other HTML tag. + +This will define all the elements from this module in the global `CustomElementsRegistry`. You can read more about Custom Elements [here](https://developers.google.com/web/fundamentals/web-components/customelements). + +6. Add your preferred shoelace theme in your `` tag: + +```html + + + +``` + +or in JS: + +```js +import '@shoelace-style/shoelace/dist/themes/light.css'; +``` + +You can read more about how to initialize the shoelace theme [here](https://shoelace.style/getting-started/themes?id=activating-themes). + +That's it! You can spend some time now to take a look at [which elements are available for you to reuse](?path=/docs/frontend-elements-create-profile--docs). + +# Demo + +You can see a full working example of the UI working in [here](https://github.com/holochain-open-dev/profiles/blob/main/ui/demo/index.html). + diff --git a/docs/elements/custom-elements.json b/docs/elements/custom-elements.json new file mode 100644 index 000000000..605a7c2ca --- /dev/null +++ b/docs/elements/custom-elements.json @@ -0,0 +1,2659 @@ +{ + "schemaVersion": "1.0.0", + "readme": "", + "modules": [ + { + "kind": "javascript-module", + "path": "locales/ca.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Error buscant agents`,\n's1d96e130c0544d92': `No hi ha cap perfil creat`,\n's20453e988c3e79f3': `Pressiona '@' per mencionar un agent.`,\n's2ceb11be2290bb1b': `Cancel·lar`,\n's3798c0344c399eb7': str`Min. ${0} caràcters`,\n's39aca5bd9eed9271': `Aquest agent encara no ha creat el seu perfil`,\n's3fa309bef44c54e9': `Almenys 3 caràcters...`,\n's6068cc1885ea6494': `No s'ha trobat cap agent amb aquest filtre`,\n's639c68c3284a2269': `Actualitzar Perfil`,\n's6ef2512ced4487d3': `No s'ha seleccionat cap agent encara`,\n's7c2f825ccdf2bf38': `Error buscant els perfils de tots els agents`,\n'sa77a504cfafd6d20': `Error buscant l'avatar de l'agent`,\n'sbbb75506e75dfbf8': `Buscar Agent`,\n'sbe57083b4c785878': `Crear Perfil`,\n'sc5c9f04c2d0a5f1d': `Error buscant el perfil`,\n'sc93a9aa3e5bcbf5d': `Guardar Perfil`,\n'sdd16cd8b418b1752': `Introdueix almenys 3 caràcters per buscar...`,\n'se9f30e4492cee2cd': `Nom d'usuari`,\n'seb9fbffaa6fddee6': `Error creant el perfil`,\n'sffdcc47c1ec17387': `Error buscant el teu perfil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/ca.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/de.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Profile suchen fehlgeschlagen`,\n's1d96e130c0544d92': `Keine Profile vorhanden`,\n's20453e988c3e79f3': `Drücke '@' um eine Person zu erwähnen.`,\n's2ceb11be2290bb1b': `Abbrechen`,\n's3798c0344c399eb7': str`Min. ${0} Zeichen`,\n's39aca5bd9eed9271': `Diese Person hat noch kein Profil erstellt`,\n's3fa309bef44c54e9': `Mindestens 3 Zeichen...`,\n's6068cc1885ea6494': `Keine Profile gefunden für die Sucheingabe`,\n's639c68c3284a2269': `Profil Aktualisieren`,\n's6ef2512ced4487d3': `Noch keine Personen ausgewählt.`,\n's7c2f825ccdf2bf38': `Profile laden fehlgeschlagen`,\n'sa77a504cfafd6d20': `Profilbild konnte nicht geladen werden`,\n'sbbb75506e75dfbf8': `Profil suchen`,\n'sbe57083b4c785878': `Profil erstellen`,\n'sc5c9f04c2d0a5f1d': `Profil laden fehlgeschlagen`,\n'sc93a9aa3e5bcbf5d': `Profil speichern`,\n'sdd16cd8b418b1752': `Mindestens 3 Buchstaben eingeben...`,\n'se9f30e4492cee2cd': `Benutzername`,\n'seb9fbffaa6fddee6': `Speichern fehlgeschlagen`,\n'sffdcc47c1ec17387': `Profil laden fehlgeschlagen`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/de.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/es.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Error buscando los agentes`,\n's1d96e130c0544d92': `Aún no se ha creado ningún perfil`,\n's20453e988c3e79f3': `Presiona '@' para mencionar a un agente`,\n's2ceb11be2290bb1b': `Cancelar`,\n's3798c0344c399eb7': str`Min. ${0} caracteres`,\n's39aca5bd9eed9271': `Este agente no ha creado su perfil todavía`,\n's3fa309bef44c54e9': `Al menos 3 caracteres...`,\n's6068cc1885ea6494': `No se ha encontrado ningún agente`,\n's639c68c3284a2269': `Actualizar Perfil`,\n's6ef2512ced4487d3': `No hay ningún agente seleccionado todavía.`,\n's7c2f825ccdf2bf38': `Error buscando los perfiles de todos los agentes`,\n'sa77a504cfafd6d20': `Error buscando el avatar del agente`,\n'sbbb75506e75dfbf8': `Buscar agente`,\n'sbe57083b4c785878': `Crear Perfil`,\n'sc5c9f04c2d0a5f1d': `Error buscando el perfil`,\n'sc93a9aa3e5bcbf5d': `Guardar Perfil`,\n'sdd16cd8b418b1752': `Introduce al menos 3 carácteres para buscar...`,\n'se9f30e4492cee2cd': `Nombre de usuario`,\n'seb9fbffaa6fddee6': `Error creando el perfil`,\n'sffdcc47c1ec17387': `Error buscando tu perfil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/es.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/fr-fr.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's1d96e130c0544d92': `Il n'y a pas encore de profils créés`,\n's3798c0344c399eb7': str`Min. ${0} caractères`,\n's39aca5bd9eed9271': `Cet utilisateur n'a pas encore créé de profil`,\n's3fa309bef44c54e9': `Au moins 3 caractères...`,\n's6068cc1885ea6494': `Aucun agent ne corresponds au filtre`,\n's639c68c3284a2269': `Mettre à jour Profil`,\n'sbe57083b4c785878': `Créer Profil`,\n'sc93a9aa3e5bcbf5d': `Enregistrer Profil`,\n'se9f30e4492cee2cd': `Surnom`,\n'sa77a504cfafd6d20': `Error fetching the agent's avatar`,\n's2ceb11be2290bb1b': `Cancel`,\n'seb9fbffaa6fddee6': `Error creating the profile`,\n's7c2f825ccdf2bf38': `Error fetching the profiles for all agents`,\n'sffdcc47c1ec17387': `Error fetching your profile`,\n'sc5c9f04c2d0a5f1d': `Error fetching the profile`,\n's859587e842b7882b': `Error fetching your profile.`,\n'sdd16cd8b418b1752': `Enter at least 3 chars to search...`,\n's0f790cd5b748b24d': `Error searching agents`,\n'sbbb75506e75dfbf8': `Search Agent`,\n's6ef2512ced4487d3': `No agents selected yet.`,\n's20453e988c3e79f3': `Press '@' to mention an agent.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/fr-fr.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/locales.js", + "declarations": [ + { + "kind": "variable", + "name": "sourceLocale", + "default": "`en`", + "description": "The locale code that templates in this source code are written in." + }, + { + "kind": "variable", + "name": "targetLocales", + "type": { + "text": "array" + }, + "default": "[\n `ca`,\n `de`,\n `es`,\n `fr-fr`,\n `sv`,\n]", + "description": "The other locale codes that this application is localized into. Sorted\nlexicographically." + }, + { + "kind": "variable", + "name": "allLocales", + "type": { + "text": "array" + }, + "default": "[\n `ca`,\n `de`,\n `en`,\n `es`,\n `fr-fr`,\n `sv`,\n]", + "description": "All valid project locale codes. Sorted lexicographically." + } + ], + "exports": [ + { + "kind": "js", + "name": "sourceLocale", + "declaration": { + "name": "sourceLocale", + "module": "locales/locales.js" + } + }, + { + "kind": "js", + "name": "targetLocales", + "declaration": { + "name": "targetLocales", + "module": "locales/locales.js" + } + }, + { + "kind": "js", + "name": "allLocales", + "declaration": { + "name": "allLocales", + "module": "locales/locales.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/sv.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Fel vid sökning av agenter`,\n's1d96e130c0544d92': `Det finns ingen profil skapad än`,\n's20453e988c3e79f3': `Skriv '@' för att benämna en agent§`,\n's2ceb11be2290bb1b': `Avbryt`,\n's3798c0344c399eb7': str`Min. ${0} tecken`,\n's39aca5bd9eed9271': `Denna agent har inte skapat en profil än`,\n's3fa309bef44c54e9': `Minst 3 tecken...`,\n's6068cc1885ea6494': `Inga agenter som matchar filtret`,\n's639c68c3284a2269': `Uppdatera profil`,\n's6ef2512ced4487d3': `Ingen agent vald än.`,\n's7c2f825ccdf2bf38': `Fel vid hämtning av profiler för alla agenter`,\n'sa77a504cfafd6d20': `Fel vid hämtning av agentens avatar`,\n'sbbb75506e75dfbf8': `Sök efter agent`,\n'sbe57083b4c785878': `Skapa profil`,\n'sc5c9f04c2d0a5f1d': `Fel vid hämtning av profilen`,\n'sc93a9aa3e5bcbf5d': `Spara profil`,\n'sdd16cd8b418b1752': `Skriv minst 3 tecken för att söka...`,\n'se9f30e4492cee2cd': `Smeknamn`,\n'seb9fbffaa6fddee6': `Fel inträffade vid skapande av profil`,\n'sffdcc47c1ec17387': `Fel vid hämtning av din profil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/sv.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/config.ts", + "declarations": [ + { + "kind": "variable", + "name": "defaultConfig", + "type": { + "text": "ProfilesConfig" + }, + "default": "{\n avatarMode: 'avatar-optional',\n additionalFields: [],\n minNicknameLength: 3,\n}" + } + ], + "exports": [ + { + "kind": "js", + "name": "defaultConfig", + "declaration": { + "name": "defaultConfig", + "module": "src/config.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/context.ts", + "declarations": [ + { + "kind": "variable", + "name": "profilesStoreContext" + } + ], + "exports": [ + { + "kind": "js", + "name": "profilesStoreContext", + "declaration": { + "name": "profilesStoreContext", + "module": "src/context.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/index.ts", + "declarations": [], + "exports": [ + { + "kind": "js", + "name": "*", + "declaration": { + "name": "*", + "package": "./types.js" + } + }, + { + "kind": "js", + "name": "*", + "declaration": { + "name": "*", + "package": "./context.js" + } + }, + { + "kind": "js", + "name": "*", + "declaration": { + "name": "*", + "package": "./profiles-client.js" + } + }, + { + "kind": "js", + "name": "*", + "declaration": { + "name": "*", + "package": "./profiles-store.js" + } + }, + { + "kind": "js", + "name": "*", + "declaration": { + "name": "*", + "package": "./config.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/mocks.ts", + "declarations": [ + { + "kind": "function", + "name": "demoProfiles", + "return": { + "type": { + "text": "Promise>" + } + } + }, + { + "kind": "class", + "description": "", + "name": "ProfilesZomeMock", + "members": [ + { + "kind": "method", + "name": "create_profile", + "return": { + "type": { + "text": "Promise" + } + }, + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ] + }, + { + "kind": "method", + "name": "update_profile", + "return": { + "type": { + "text": "Promise" + } + }, + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ] + }, + { + "kind": "method", + "name": "search_agents", + "parameters": [ + { + "name": "nickname_filter", + "type": { + "text": "string" + } + } + ] + }, + { + "kind": "method", + "name": "get_agent_profile", + "parameters": [ + { + "name": "agent_address", + "type": { + "text": "AgentPubKey" + } + } + ] + }, + { + "kind": "method", + "name": "get_agents_with_profile" + } + ], + "superclass": { + "name": "ZomeMock", + "package": "@holochain-open-dev/utils" + } + }, + { + "kind": "function", + "name": "sampleProfile", + "return": { + "type": { + "text": "Promise" + } + }, + "parameters": [ + { + "name": "client", + "type": { + "text": "ProfilesClient" + } + }, + { + "name": "partialProfile", + "default": "{}", + "type": { + "text": "Partial" + } + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "demoProfiles", + "declaration": { + "name": "demoProfiles", + "module": "src/mocks.ts" + } + }, + { + "kind": "js", + "name": "ProfilesZomeMock", + "declaration": { + "name": "ProfilesZomeMock", + "module": "src/mocks.ts" + } + }, + { + "kind": "js", + "name": "sampleProfile", + "declaration": { + "name": "sampleProfile", + "module": "src/mocks.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/profiles-client.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfilesClient", + "members": [ + { + "kind": "method", + "name": "getAgentProfile", + "return": { + "type": { + "text": "" + } + }, + "parameters": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "the agent to get the profile for" + } + ], + "description": "Get the profile for the given agent, if they have created it" + }, + { + "kind": "method", + "name": "searchAgents", + "return": { + "type": { + "text": "" + } + }, + "parameters": [ + { + "name": "nicknameFilter", + "type": { + "text": "string" + }, + "description": "must be of at least 3 characters" + } + ], + "description": "Search profiles that start with nicknameFilter" + }, + { + "kind": "method", + "name": "getAgentsWithProfile", + "return": { + "type": { + "text": "" + } + }, + "description": "Get all the agents in the DHT that have created a profile" + }, + { + "kind": "method", + "name": "createProfile", + "return": { + "type": { + "text": "Promise>" + } + }, + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + }, + "description": "the profile to create" + } + ], + "description": "Create my profile" + }, + { + "kind": "method", + "name": "updateProfile", + "return": { + "type": { + "text": "Promise>" + } + }, + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + }, + "description": "the profile to create" + } + ], + "description": "Update my profile" + } + ], + "superclass": { + "name": "ZomeClient", + "package": "@holochain-open-dev/utils" + } + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfilesClient", + "declaration": { + "name": "ProfilesClient", + "module": "src/profiles-client.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/profiles-store.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfilesStore", + "members": [ + { + "kind": "field", + "name": "config", + "type": { + "text": "ProfilesConfig" + }, + "default": "{ ...defaultConfig, ...config }" + }, + { + "kind": "field", + "name": "agentsWithProfile$", + "description": "Fetches all the agents that have created a profile in the DHT" + }, + { + "kind": "field", + "name": "allProfiles$", + "default": "new AsyncComputed(() => {\n\t\tconst agentsWithProfile = this.agentsWithProfile$.get();\n\t\tif (agentsWithProfile.status !== 'completed') return agentsWithProfile;\n\n\t\tconst allProfiles = slice(this.profiles, agentsWithProfile.value);\n\t\treturn joinAsyncMap(mapValues(allProfiles, p => p.get()));\n\t})", + "description": "Fetches the profiles for all agents in the DHT\n\nThis will get slower as the number of agents in the DHT increases" + }, + { + "kind": "field", + "name": "profiles", + "default": "new LazyHoloHashMap((agent: AgentPubKey) => {\n\t\tlet unsubscribe: (() => void) | undefined;\n\t\tconst signal = new AsyncState | undefined>(\n\t\t\t{ status: 'pending' },\n\t\t\t{\n\t\t\t\t[Signal.subtle.watched]: async () => {\n\t\t\t\t\tconst value = await this.client.getAgentProfile(agent);\n\t\t\t\t\tsignal.set({\n\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t});\n\t\t\t\t\tunsubscribe = this.client.onSignal(profilesSignal => {\n\t\t\t\t\t\tif (this.client.client.myPubKey.toString() !== agent.toString())\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\tprofilesSignal.type === 'EntryCreated' ||\n\t\t\t\t\t\t\t\tprofilesSignal.type === 'EntryUpdated'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\tconst record = new EntryRecord({\n\t\t\t\t\t\t\tentry: {\n\t\t\t\t\t\t\t\tPresent: {\n\t\t\t\t\t\t\t\t\tentry_type: 'App',\n\t\t\t\t\t\t\t\t\tentry: encode(profilesSignal.app_entry),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsigned_action: profilesSignal.action,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsignal.set({\n\t\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t\t\tvalue: record,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t[Signal.subtle.unwatched]: () => {\n\t\t\t\t\tsignal.set({ status: 'pending' });\n\t\t\t\t\tunsubscribe?.();\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\treturn signal;\n\t})", + "description": "Fetches the profile for the given agent" + }, + { + "kind": "field", + "name": "myProfile$" + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfilesStore", + "declaration": { + "name": "ProfilesStore", + "module": "src/profiles-store.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/types.ts", + "declarations": [], + "exports": [] + }, + { + "kind": "javascript-module", + "path": "src/utils.ts", + "declarations": [ + { + "kind": "function", + "name": "areHashesArraysEqual", + "return": { + "type": { + "text": "boolean" + } + }, + "parameters": [ + { + "name": "hashes1", + "type": { + "text": "HoloHash[]" + } + }, + { + "name": "hashes2", + "type": { + "text": "HoloHash[]" + } + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "areHashesArraysEqual", + "declaration": { + "name": "areHashesArraysEqual", + "module": "src/utils.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/agent-avatar.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "AgentAvatar", + "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "size", + "type": { + "text": "number" + }, + "default": "32", + "description": "Size of the avatar image in pixels.", + "attribute": "size" + }, + { + "kind": "field", + "name": "disableTooltip", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Disables showing the tooltip for the public key", + "attribute": "disable-tooltip" + }, + { + "kind": "field", + "name": "disableCopy", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Disable copying of the public key on click", + "attribute": "disable-copy" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "renderIdenticon" + }, + { + "kind": "method", + "name": "renderProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + } + } + ] + } + ], + "events": [ + { + "name": "profile-clicked", + "type": { + "text": "CustomEvent" + } + } + ], + "attributes": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "fieldName": "agentPubKey" + }, + { + "name": "size", + "type": { + "text": "number" + }, + "default": "32", + "description": "Size of the avatar image in pixels.", + "fieldName": "size" + }, + { + "name": "disable-tooltip", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Disables showing the tooltip for the public key", + "fieldName": "disableTooltip" + }, + { + "name": "disable-copy", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Disable copying of the public key on click", + "fieldName": "disableCopy" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "agent-avatar", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "AgentAvatar", + "declaration": { + "name": "AgentAvatar", + "module": "src/elements/agent-avatar.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "agent-avatar", + "declaration": { + "name": "AgentAvatar", + "module": "src/elements/agent-avatar.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/agent-mention.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "AgentMention", + "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "size", + "type": { + "text": "number" + }, + "default": "24", + "description": "Size of the avatar image in pixels.", + "attribute": "size" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "renderAvatar", + "parameters": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + } + } + ] + }, + { + "kind": "method", + "name": "renderProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + } + } + ] + }, + { + "kind": "method", + "name": "renderContent" + } + ], + "attributes": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "fieldName": "agentPubKey" + }, + { + "name": "size", + "type": { + "text": "number" + }, + "default": "24", + "description": "Size of the avatar image in pixels.", + "fieldName": "size" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "agent-mention", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "AgentMention", + "declaration": { + "name": "AgentMention", + "module": "src/elements/agent-mention.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "agent-mention", + "declaration": { + "name": "AgentMention", + "module": "src/elements/agent-mention.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/agents-avatars.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "AgentsAvatars", + "members": [ + { + "kind": "field", + "name": "agents", + "type": { + "text": "AgentPubKey[]" + }, + "attribute": "agents" + } + ], + "attributes": [ + { + "name": "agents", + "type": { + "text": "AgentPubKey[]" + }, + "fieldName": "agents" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "agents-avatars", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "AgentsAvatars", + "declaration": { + "name": "AgentsAvatars", + "module": "src/elements/agents-avatars.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "agents-avatars", + "declaration": { + "name": "AgentsAvatars", + "module": "src/elements/agents-avatars.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/create-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "A custom element that fires event on value change.", + "name": "CreateProfile", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "createProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ], + "description": "Private properties" + } + ], + "events": [ + { + "name": "profile-created", + "type": { + "text": "CustomEvent" + }, + "description": "Fired after the profile has been created. Detail will have this shape: { profile: { nickname, fields } }" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "create-profile", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "CreateProfile", + "declaration": { + "name": "CreateProfile", + "module": "src/elements/create-profile.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "create-profile", + "declaration": { + "name": "CreateProfile", + "module": "src/elements/create-profile.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/edit-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "EditProfile", + "members": [ + { + "kind": "field", + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + }, + "description": "The profile to be edited.", + "attribute": "profile" + }, + { + "kind": "field", + "name": "saveProfileLabel", + "type": { + "text": "string | undefined" + }, + "description": "Label for the save profile button.", + "attribute": "save-profile-label" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "field", + "name": "allowCancel", + "type": { + "text": "boolean" + }, + "default": "false", + "attribute": "allow-cancel" + }, + { + "kind": "method", + "name": "avatarMode", + "description": "Private properties" + }, + { + "kind": "method", + "name": "fireSaveProfile", + "parameters": [ + { + "name": "fields", + "type": { + "text": "Record" + } + } + ] + }, + { + "kind": "method", + "name": "fireCancel" + }, + { + "kind": "method", + "name": "renderField", + "parameters": [ + { + "name": "fieldConfig", + "type": { + "text": "FieldConfig" + } + } + ] + } + ], + "events": [ + { + "name": "save-profile", + "type": { + "text": "CustomEvent" + }, + "description": "Fired when the save profile button is clicked" + }, + { + "name": "cancel-edit-profile", + "type": { + "text": "CustomEvent" + } + } + ], + "attributes": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + }, + "description": "The profile to be edited.", + "fieldName": "profile" + }, + { + "name": "save-profile-label", + "type": { + "text": "string | undefined" + }, + "description": "Label for the save profile button.", + "fieldName": "saveProfileLabel" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + }, + { + "name": "allow-cancel", + "type": { + "text": "boolean" + }, + "default": "false", + "fieldName": "allowCancel" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "edit-profile", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "EditProfile", + "declaration": { + "name": "EditProfile", + "module": "src/elements/edit-profile.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "edit-profile", + "declaration": { + "name": "EditProfile", + "module": "src/elements/edit-profile.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/list-profiles.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ListProfiles", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "initials", + "return": { + "type": { + "text": "string" + } + }, + "parameters": [ + { + "name": "nickname", + "type": { + "text": "string" + } + } + ], + "description": "Private properties" + }, + { + "kind": "method", + "name": "fireAgentSelected", + "parameters": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + } + } + ] + }, + { + "kind": "method", + "name": "renderList", + "parameters": [ + { + "name": "profiles", + "type": { + "text": "ReadonlyMap | undefined>" + } + } + ] + } + ], + "events": [ + { + "name": "agent-selected", + "type": { + "text": "CustomEvent" + }, + "description": "Fired when the user selects an agent from the list. Detail will have this shape: { agentPubKey: }" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "list-profiles", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ListProfiles", + "declaration": { + "name": "ListProfiles", + "module": "src/elements/list-profiles.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "list-profiles", + "declaration": { + "name": "ListProfiles", + "module": "src/elements/list-profiles.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/my-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "MyProfile", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "my-profile", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "MyProfile", + "declaration": { + "name": "MyProfile", + "module": "src/elements/my-profile.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "my-profile", + "declaration": { + "name": "MyProfile", + "module": "src/elements/my-profile.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/profile-detail.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfileDetail", + "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. Public key identifying the agent for which the profile should be shown", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "getAdditionalFields", + "return": { + "type": { + "text": "Record" + } + }, + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ], + "description": "Private properties" + }, + { + "kind": "method", + "name": "renderAdditionalField", + "parameters": [ + { + "name": "fieldId", + "type": { + "text": "string" + } + }, + { + "name": "fieldValue", + "type": { + "text": "string" + } + } + ] + }, + { + "kind": "method", + "name": "renderProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + } + } + ] + } + ], + "attributes": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. Public key identifying the agent for which the profile should be shown", + "fieldName": "agentPubKey" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profile-detail", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfileDetail", + "declaration": { + "name": "ProfileDetail", + "module": "src/elements/profile-detail.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profile-detail", + "declaration": { + "name": "ProfileDetail", + "module": "src/elements/profile-detail.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/profile-list-item-skeleton.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfileListItemSkeleton", + "members": [], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profile-list-item-skeleton", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfileListItemSkeleton", + "declaration": { + "name": "ProfileListItemSkeleton", + "module": "src/elements/profile-list-item-skeleton.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profile-list-item-skeleton", + "declaration": { + "name": "ProfileListItemSkeleton", + "module": "src/elements/profile-list-item-skeleton.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/profile-list-item.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfileListItem", + "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED: the public key of the agent to render the profile for", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + } + ], + "attributes": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED: the public key of the agent to render the profile for", + "fieldName": "agentPubKey" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profile-list-item", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfileListItem", + "declaration": { + "name": "ProfileListItem", + "module": "src/elements/profile-list-item.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profile-list-item", + "declaration": { + "name": "ProfileListItem", + "module": "src/elements/profile-list-item.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/profile-prompt.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfilePrompt", + "slots": [ + { + "description": "Will be displayed above the create-profile form when the user is prompted with it", + "name": "hero" + } + ], + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ``", + "attribute": "store" + }, + { + "kind": "method", + "name": "renderPrompt", + "privacy": "private", + "parameters": [ + { + "name": "myProfile", + "type": { + "text": "EntryRecord | undefined" + } + } + ], + "description": "Private properties" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ``", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profile-prompt", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfilePrompt", + "declaration": { + "name": "ProfilePrompt", + "module": "src/elements/profile-prompt.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profile-prompt", + "declaration": { + "name": "ProfilePrompt", + "module": "src/elements/profile-prompt.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/profiles-context.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfilesContext", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "attribute": "store" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profiles-context", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfilesContext", + "declaration": { + "name": "ProfilesContext", + "module": "src/elements/profiles-context.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profiles-context", + "declaration": { + "name": "ProfilesContext", + "module": "src/elements/profiles-context.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/search-agent-dropdown.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "SearchAgentDropdown", + "members": [ + { + "kind": "field", + "name": "searchFilter", + "description": "Public attributes" + }, + { + "kind": "field", + "name": "searchFilter$", + "default": "new Signal.State(undefined)" + }, + { + "kind": "field", + "name": "open", + "type": { + "text": "boolean | undefined" + }, + "attribute": "open" + }, + { + "kind": "field", + "name": "includeMyself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "attribute": "include-myself" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "onUsernameSelected", + "parameters": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + } + } + ] + }, + { + "kind": "method", + "name": "renderAgentList" + } + ], + "events": [ + { + "name": "agent-selected", + "type": { + "text": "CustomEvent" + }, + "description": "Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash }" + } + ], + "attributes": [ + { + "name": "include-myself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "fieldName": "includeMyself", + "attribute": "include-myself" + }, + { + "name": "open", + "type": { + "text": "boolean | undefined" + }, + "fieldName": "open" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "search-agent-dropdown", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "SearchAgentDropdown", + "declaration": { + "name": "SearchAgentDropdown", + "module": "src/elements/search-agent-dropdown.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "search-agent-dropdown", + "declaration": { + "name": "SearchAgentDropdown", + "module": "src/elements/search-agent-dropdown.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/search-agent.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "SearchAgent", + "members": [ + { + "kind": "field", + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "attribute": "name" + }, + { + "kind": "field", + "name": "defaultValue", + "type": { + "text": "AgentPubKey | undefined" + }, + "description": "The default value of the field if this element is used inside a form", + "attribute": "defaultValue" + }, + { + "kind": "field", + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "attribute": "required" + }, + { + "kind": "field", + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "attribute": "disabled" + }, + { + "kind": "field", + "name": "clearOnSelect", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to clear the field when an agent is selected.", + "attribute": "clear-on-select" + }, + { + "kind": "field", + "name": "includeMyself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "attribute": "include-myself" + }, + { + "kind": "field", + "name": "fieldLabel", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "attribute": "field-label" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "reportValidity" + }, + { + "kind": "method", + "name": "reset" + }, + { + "kind": "field", + "name": "searchFilter", + "type": { + "text": "string" + }, + "default": "\"\"" + }, + { + "kind": "method", + "name": "onUsernameSelected", + "parameters": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + } + }, + { + "name": "profile", + "type": { + "text": "EntryRecord" + } + } + ] + } + ], + "events": [ + { + "description": "Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash }", + "name": "agent-selected" + } + ], + "attributes": [ + { + "name": "clear-on-select", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to clear the field when an agent is selected.", + "fieldName": "clearOnSelect", + "attribute": "clear-on-select" + }, + { + "name": "include-myself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "fieldName": "includeMyself", + "attribute": "include-myself" + }, + { + "name": "field-label", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "fieldName": "fieldLabel", + "attribute": "field-label" + }, + { + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "fieldName": "name" + }, + { + "name": "defaultValue", + "type": { + "text": "AgentPubKey | undefined" + }, + "description": "The default value of the field if this element is used inside a form", + "fieldName": "defaultValue" + }, + { + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "fieldName": "required" + }, + { + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "fieldName": "disabled" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "search-agent", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "SearchAgent", + "declaration": { + "name": "SearchAgent", + "module": "src/elements/search-agent.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "search-agent", + "declaration": { + "name": "SearchAgent", + "module": "src/elements/search-agent.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/search-agents.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "SearchAgents", + "members": [ + { + "kind": "field", + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "attribute": "name" + }, + { + "kind": "field", + "name": "defaultValue", + "type": { + "text": "Array" + }, + "default": "[]", + "description": "The default value of the field if this element is used inside a form", + "attribute": "defaultValue" + }, + { + "kind": "field", + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "attribute": "required" + }, + { + "kind": "field", + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "attribute": "disabled" + }, + { + "kind": "field", + "name": "fieldLabel", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "attribute": "field-label" + }, + { + "kind": "field", + "name": "emptyListPlaceholder", + "description": "Placeholder to show when the list is empty.", + "attribute": "empty-list-placeholder" + }, + { + "kind": "field", + "name": "includeMyself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "attribute": "include-myself" + }, + { + "kind": "method", + "name": "reportValidity" + }, + { + "kind": "method", + "name": "reset" + } + ], + "attributes": [ + { + "name": "field-label", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "fieldName": "fieldLabel", + "attribute": "field-label" + }, + { + "name": "empty-list-placeholder", + "description": "Placeholder to show when the list is empty.", + "fieldName": "emptyListPlaceholder", + "attribute": "empty-list-placeholder" + }, + { + "name": "include-myself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "fieldName": "includeMyself", + "attribute": "include-myself" + }, + { + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "fieldName": "name" + }, + { + "name": "defaultValue", + "type": { + "text": "Array" + }, + "default": "[]", + "description": "The default value of the field if this element is used inside a form", + "fieldName": "defaultValue" + }, + { + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "fieldName": "required" + }, + { + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "fieldName": "disabled" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "search-agents", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "SearchAgents", + "declaration": { + "name": "SearchAgents", + "module": "src/elements/search-agents.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "search-agents", + "declaration": { + "name": "SearchAgents", + "module": "src/elements/search-agents.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/textarea-with-mentions.ts", + "declarations": [ + { + "kind": "variable", + "name": "agentMentionSpec", + "type": { + "text": "NodeSpec" + }, + "default": "{\n attrs: { agentPubKey: {} },\n inline: true,\n group: \"inline\",\n draggable: true,\n toDOM: (node) => {\n console.log(node);\n return [\n \"agent-mention\",\n { \"agent-pub-key\": encodeHashToBase64(node.attrs.agentPubKey) },\n ];\n },\n parseDOM: [{ tag: \"agent-mention\" }],\n}" + }, + { + "kind": "variable", + "name": "pluginKey", + "default": "new PluginKey(\"search-agent\")" + }, + { + "kind": "variable", + "name": "searchAgentPlugin", + "default": "new Plugin({\n key: pluginKey,\n state: {\n init() {\n return \"hidden\";\n },\n apply(tr, state) {\n const newPluginState = tr.getMeta(pluginKey);\n return newPluginState ? newPluginState : state;\n },\n },\n props: {\n handleKeyDown(view, event) {\n const state = this.getState(view.state);\n if (state && state !== \"hidden\" && event.key === \"ArrowDown\") {\n state.dropdownEl.dropdown.handleTriggerKeyDown(event);\n }\n },\n handleTextInput(view, _from, to, text) {\n const state = this.getState(view.state);\n console.log(state);\n\n if (state && state !== \"hidden\") {\n setTimeout(() => {\n state.dropdownEl.searchFilter = view.state.doc.textBetween(\n state.mentionCharIndex + 1,\n to + 1\n );\n view.dispatch(\n view.state.tr.setMeta(pluginKey, {\n ...state,\n lastCharIndex: to,\n })\n );\n });\n } else if (text === \"@\") {\n const { top, left } = view.coordsAtPos(to);\n const dropdownEl = document.createElement(\n \"search-agent-dropdown\"\n ) as SearchAgentDropdown;\n\n dropdownEl.innerHTML = `
`;\n dropdownEl.open = true;\n dropdownEl.includeMyself = true;\n view.dom.getRootNode().appendChild(dropdownEl);\n\n view.dispatch(\n view.state.tr.setMeta(pluginKey, {\n dropdownEl,\n mentionCharIndex: to,\n lastCharIndex: to,\n })\n );\n\n dropdownEl.addEventListener(\"agent-selected\", (e: any) => {\n const agentPubKey = e.detail.agentPubKey;\n const state = this.getState(view.state);\n\n if (!state || state === \"hidden\") return;\n\n const tr = view.state.tr;\n\n tr.replaceRangeWith(\n state.mentionCharIndex,\n state.lastCharIndex + 1,\n agentType.create({\n agentPubKey,\n })\n );\n\n view.dom.getRootNode().removeChild(dropdownEl);\n view.dispatch(tr.setMeta(pluginKey, \"hidden\"));\n });\n\n dropdownEl.addEventListener(\"sl-hide\", () =>\n setTimeout(() => {\n view.dom.getRootNode().removeChild(dropdownEl);\n view.dispatch(view.state.tr.setMeta(pluginKey, \"hidden\"));\n }, 10)\n );\n }\n },\n },\n})" + }, + { + "kind": "class", + "description": "", + "name": "TextareaWithMentions", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "field", + "name": "dnaHash", + "type": { + "text": "DnaHash" + } + }, + { + "kind": "field", + "name": "helpText", + "type": { + "text": "string" + }, + "attribute": "helpText" + }, + { + "kind": "field", + "name": "value" + }, + { + "kind": "method", + "name": "editorStateConfig" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + }, + { + "name": "helpText", + "type": { + "text": "string" + }, + "fieldName": "helpText" + } + ], + "superclass": { + "name": "SlTextareaProsemirror", + "package": "@holochain-open-dev/elements/dist/elements/sl-textarea-prosemirror.js" + }, + "tagName": "textarea-with-mentions", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "agentMentionSpec", + "declaration": { + "name": "agentMentionSpec", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "pluginKey", + "declaration": { + "name": "pluginKey", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "searchAgentPlugin", + "declaration": { + "name": "searchAgentPlugin", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "TextareaWithMentions", + "declaration": { + "name": "TextareaWithMentions", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "textarea-with-mentions", + "declaration": { + "name": "TextareaWithMentions", + "module": "src/elements/textarea-with-mentions.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/update-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "UpdateProfile", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "updateProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ] + } + ], + "events": [ + { + "name": "profile-updated", + "type": { + "text": "CustomEvent" + }, + "description": "Fired after the profile has been created. Detail will have this shape: { profile: { nickname, fields } }" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "update-profile", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "UpdateProfile", + "declaration": { + "name": "UpdateProfile", + "module": "src/elements/update-profile.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "update-profile", + "declaration": { + "name": "UpdateProfile", + "module": "src/elements/update-profile.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "test/mocks/index.js", + "declarations": [ + { + "kind": "function", + "name": "getAppWebsocket" + } + ], + "exports": [ + { + "kind": "js", + "name": "getAppWebsocket", + "declaration": { + "name": "getAppWebsocket", + "module": "test/mocks/index.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "test/mocks/profiles.mock.js", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfilesMock", + "members": [ + { + "kind": "method", + "name": "create_profile", + "parameters": [ + { + "name": "{ username }" + }, + { + "name": "provenance" + } + ] + }, + { + "kind": "method", + "name": "search_profiles", + "parameters": [ + { + "name": "{ username_prefix }" + } + ] + }, + { + "kind": "method", + "name": "get_my_profile", + "parameters": [ + { + "name": "_" + }, + { + "name": "provenance" + } + ] + }, + { + "kind": "method", + "name": "get_agent_profile", + "parameters": [ + { + "name": "{ agent_address }" + } + ] + }, + { + "kind": "method", + "name": "findAgent", + "parameters": [ + { + "name": "agent_address" + } + ] + }, + { + "kind": "field", + "name": "agents", + "type": { + "text": "array" + }, + "default": "[]" + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfilesMock", + "declaration": { + "name": "ProfilesMock", + "module": "test/mocks/profiles.mock.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/utils/image.ts", + "declarations": [ + { + "kind": "function", + "name": "resizeAndExport", + "parameters": [ + { + "name": "img", + "type": { + "text": "HTMLImageElement" + } + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "resizeAndExport", + "declaration": { + "name": "resizeAndExport", + "module": "src/elements/utils/image.ts" + } + } + ] + } + ] +} diff --git a/docs/elements/profile-prompt.md b/docs/elements/profile-prompt.md new file mode 100644 index 000000000..132356231 --- /dev/null +++ b/docs/elements/profile-prompt.md @@ -0,0 +1,86 @@ +# `profile-prompt` + +If the user has not created a profile, it will show the `create-profile` element. If they have, it will show the contents of the default slot for the `profile-prompt` element. + +Useful as the top level component of your app, wrapping all the other elements. + + +## Usage + +0. If you haven't already, [go through the setup for the module](/setup). + +1. Import the `profile-prompt` element somewhere in the javascript side of your web-app like this: + +```js +import '@holochain-open-dev/profiles/dist/elements/profile-prompt.js' +``` + +2. Use it in the html side of your web-app like this: + +```html + +
+ Welcome to my app! Create a profile to begin. +
+
+

This is all the other content for my app

+
+
+``` + +> [!WARNING] +> Like all the elements in this module, `` needs to be placed inside an initialized ``. + +## Demo + +Here is an interactive demo of the element: + + + + + + +## API Reference + +`profile-prompt` is a [custom element](https://web.dev/articles/custom-elements-v1), which means that it can be used in any web app or website. Here is the reference for its API: + + + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..c3640d7a9 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,36 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "@holochain-open-dev/profiles" + text: "Profiles module for holochain apps" + tagline: Plug-and-play profile management for your hApps + actions: + - theme: brand + text: Setup + link: /setup.md + - theme: alt + text: Integrity Zome API + link: "/backend/doc/hc_zome_profiles_integrity/index.html" + target: "_blank" + - theme: alt + text: Coordinator Zome API + link: "/backend/doc/hc_zome_profiles_coordinator/index.html" + target: "_blank" + - theme: alt + text: Frontend API + link: "/elements/profile-prompt.md" + target: "_blank" + +features: + - title: UI+Backend Module + details: Following the holochain-open-dev guidelines + link: https://holochain-open-dev.github.io + - title: Manage your profile + details: Create and update your profile + - title: Search by nickname + details: Form elements for entries with a field of type `AgentPubKey` + - title: Configurable profile fields + details: Customize the fields that you need in your hApp +--- diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 000000000..99082b854 --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,23 @@ +# @holochain-open-dev/profiles + +The profiles zome and its accompanying frontend module are designed to implement and export useful functionality around personal profile information about the agents in a Holochain DHT. + +The only field that this module assumes is the nickname, which it index the agents by. + +Existing functionalities: + +- Creating a profile. +- Updating a profile. +- Searching agents by nickname. +- Getting the profile for a list of agents. +- Configurable profile fields. +- Profile detail frontend element. + +> In the future, when the personas & profiles application is fully developed, this module will switch to storing data in it, and will serve only as a bridge to get that private data. We hope to maintain the modules and their interfaces as similar as they are now, and that the migration friction is low. + +This module follows the [holochain-open-dev](https://github.com/holochain-open-dev/) pattern of developing holochain modules. Read [its documentation](https://holochain-open-dev.github.io) to understand more about its motivation and the big picture. + +To integrate this module into your application: + +- If you are starting a new project from scratch, it is very recommended to follow the [Template Setup](?path=/docs/template-setup--docs). +- If not, you can visit [Setting up the Backend](?path=/docs/backend-setting-up-the-zomes--docs) and [Setting up the Frontend](?path=/docs/frontend-setting-up-the-frontend--docs). diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 000000000..7275e43b5 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,23 @@ +{ + "name": "docs", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "start": "npm run dev", + "dev": "npm run setup && vitepress dev", + "build": "npm run setup && vitepress build", + "setup": "npm run analyze -w @holochain-open-dev/profiles && cp ../ui/custom-elements.json elements && npm run cargo:docs", + "cargo:docs": "cargo doc --release --no-deps --target-dir public/backend", + "preview": "vitepress preview" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "api-viewer-element": "^1.0.0-pre.8", + "vitepress": "^1.0.1", + "vitepress-plugin-mermaid": "^2.0.16" + } +} diff --git a/docs/profiles-store.md b/docs/profiles-store.md new file mode 100644 index 000000000..30575fb9a --- /dev/null +++ b/docs/profiles-store.md @@ -0,0 +1,50 @@ +# ProfilesStore + +The `ProfilesStore` is a typescript class that contains [`async-signals`](https://npmjs.com/packages/async-signals), which you can watch to get reactive updates in your elements. + +```js +import { ProfilesStore, ProfilesClient } from "@holochain-open-dev/profiles"; + +const config = { + avatarMode: "identicon", + + // Custom app level profile fields + additionalFields: [ + { + name: "location", + label: "Location", + required: true, + }, + { + name: "bio", + label: "Bio", + required: false, + } + ], +}; +const store = new ProfilesStore(new ProfilesClient(appClient, 'my-role-name'), config); +``` + +> Learn how to setup the `AppClient` object [here](https://www.npmjs.com/package/@holochain/client). + +The config for the `ProfilesStore` has these options: + +```ts +export interface ProfilesConfig { + avatarMode: "identicon" | "avatar-required" | "avatar-optional"; // default: 'avatar-optional' + additionalFields: FieldConfig[]; // default: [] + minNicknameLength: number; // default: 3 +} +``` + +The `FieldConfig` has these options: + +```ts +export interface FieldConfig { + name: string, + label: string, + required: boolean, +} +``` + +Learn more about the stores and how to integrate them in different frameworks [here](https://holochain-open-dev.github.io/reusable-modules/frontend/using/#stores). diff --git a/docs/setup.md b/docs/setup.md new file mode 100644 index 000000000..c6a50c96f --- /dev/null +++ b/docs/setup.md @@ -0,0 +1,271 @@ +# Setup + + +## Template Setup (recommended) + +**If you are starting a new application from scratch**, you can use the [holochain-open-dev template](https://github.com/holochain-open-dev/templates) to automatically get the profiles module in your application. + +Run this follow its instructions: + +```bash +nix run github:holochain-open-dev/templates#hc-scaffold-app-template -- web-app +``` + +## Manual Setup + +> [!NOTE] +> This guide assumes you have a flake.nix in your repository that you created with the [holochain-open-dev scaffolding template](https://github.com/holochain-open-dev/templates) + +1. In your `flake.nix`, add the profiles repository to the inputs and to the `holochainSources` list: + +```nix +{ + description = "Template for Holochain app development"; + + inputs = { + versions.url = "github:holochain/holochain?dir=versions/weekly"; + + holochain.url = "github:holochain/holochain"; + holochain.inputs.versions.follows = "versions"; + + nixpkgs.follows = "holochain/nixpkgs"; + flake-parts.follows = "holochain/flake-parts"; + + scaffolding.url = "github:holochain-open-dev/templates"; + hcInfra.url = "github:holochain-open-dev/infrastructure"; + + # Holochain dependencies (zomes, DNAs and hApps) + profiles.url = "github:holochain-open-dev/profiles/nixify"; # [!code ++] + # Add more repositories here... + }; + + outputs = inputs: + inputs.flake-parts.lib.mkFlake + { + inherit inputs; + } + { + imports = [ + ./happ.nix + ]; + + systems = builtins.attrNames inputs.holochain.devShells; + perSystem = + { inputs' + , config + , pkgs + , system + , ... + }: { + devShells.default = pkgs.mkShell { + inputsFrom = [ inputs'.holochain.devShells.holonix ]; + + packages = with pkgs; [ + nodejs_20 + cargo-nextest + ] ++ [ + inputs'.scaffolding.packages.hc-scaffold-app-template + inputs'.hcInfra.packages.pnpm + inputs'.hcInfra.packages.sync-npm-git-dependencies-with-nix + ]; + + shellHook = '' + sync-npm-git-dependencies-with-nix + ''; + + }; + }; + }; +} +``` + +2. Go in to the `dna.yaml` for the DNA in which you want to scaffold this zome, and add the `profiles` and `profiles_integrity` zomes to it: + +```yaml +--- +manifest_version: "1" +name: my_dna +integrity: + network_seed: ~ + properties: ~ + origin_time: 1711032942640745 + zomes: + - name: profiles_integrity # [!code ++] +coordinator: + zomes: + - name: profiles # [!code ++] + dependencies: # [!code ++] + - name: profiles_integrity # [!code ++] +``` + +3.a. **If you already have a `dna.nix` in your DNA**, you don't need to do anything else for the zomes to be included in your DNA. + +3.b. **If you don't have a `dna.nix` already**, create one with this content in the top level folder for your DNA (should contain the `zomes` and `workdir` folder): + +``` +├── dna.nix # [!code ++] +├── workdir +│ ├── dna.yaml +├── zomes + ├── coordinator + ├── integrity +``` + +```nix +# dna.nix +{ inputs, allZomes, ... }: + +{ + # Import all ./zomes/coordinator/*/zome.nix and ./zomes/integrity/*/zome.nix + imports = ( + map (m: "${./.}/zomes/coordinator/${m}/zome.nix") + (builtins.attrNames (builtins.readDir ./zomes/coordinator)) + ) + ++ + ( + map (m: "${./.}/zomes/integrity/${m}/zome.nix") + (builtins.attrNames (builtins.readDir ./zomes/integrity)) + ) + ; + perSystem = + { inputs' + , self' + , ... + }: { + packages.MY_DNA = inputs.hcInfra.outputs.lib.dna { + dnaManifest = ./workdir/dna.yaml; # Point to your DNA manifest + holochain = inputs'.holochain; + zomes = (allZomes { inherit inputs' self'; }) // { + # Override specific zomes here, e.g.: + # profiles_integrity = inputs'.profiles.packages.profiles_integrity; + }; + }; + }; +} +``` + +Now you should be able build your dna with `nix build .#MY_DNA` from the top level of your repository. + +4. Install the UI for this module and its necessary dependencies with: + +```bash +pnpm install github:holochain-open-dev/profiles/main?path:ui +``` + +> [!WARNING] +> Careful! If you are using PNPM workspaces (which is the case for the apps generated with the holochain-open-dev scaffolding tool) you need to specify which workspace you want to install those dependencies to, and run the command from the root folder of the repository. In the case of the apps generated with the holochain-open-dev scaffolding tool: +> +>```bash +>pnpm -F ui install @holochain-open-dev/profiles +>``` + +5. Connect to Holochain with the `AppClient`, and create the `ProfilesStore` with it: + +```js +import { ProfilesStore, ProfilesClient } from "@holochain-open-dev/profiles"; +import { AppWebsocket, AppWebsocket } from "@holochain/client"; + +async function setupProfilesStore() { + const client = await AppWebsocket.connect('MY_APP_ID'); + + // TODO: change "MY_CELL_ROLE" for the roleId that you can find in your "happ.yaml" + const profilesStore = new ProfilesStore(new ProfilesClient(client, ''), { + avatarMode: "avatar-optional", + }); + return profilesStore; +} +``` + +6. Import the `` element and add it to your html **wrapping the whole section of your page in which you are going to be placing** the other elements from `@holochain-open-dev/profiles`: + +```js +// This can be placed in the index.js, at the top level of your web-app. +import "@holochain-open-dev/profiles/dist/elements/profiles-context.js"; +``` + +And then add the `` element in your html: + +```html + + + + +``` + +7. Attach the `profilesStore` to the `` element: + +You need to set the `store` property of it to your already instantiated `ProfilesStore` object: + +- If you **are using some JS framework**: + +::: code-group +```html [React] + +``` + +```html [Angular] + +``` + +```html [Vue] + +``` + +```html [Svelte] + +``` + +```html [Lit] + +``` +::: + +OR + +- If you **are not using any framework**: + +```js +const contextElement = document.querySelector("profiles-context"); +contextElement.store = store; +``` + +> [!NOTE] +> You can read more about the context pattern [here](https://holochain-open-dev.github.io/reusable-modules/frontend/using/#context). + +> [!NOTE] +> Go to [this page](https://holochain-open-dev.github.io/reusable-modules/frontend/frameworks/), to see examples on integrating this module in each javascript framework. + +8. [Choose which elements you need](./elements/profile-prompt.md) and import them like this: + +```js +import "@holochain-open-dev/profiles/dist/elements/profiles-context.js"; +``` + +And then they are ready be used inside the `` just like any other HTML tag. + +This will define all the elements from this module in the global `CustomElementsRegistry`. You can read more about Custom Elements [here](https://developers.google.com/web/fundamentals/web-components/customelements). + +9. Like all the other holochain-open-dev modules, the profiles module uses [shoelace](https://shoelace.style) as its component library. Add your preferred shoelace theme in your `` tag: + +```html + + + +``` + +or in JS: + +```js +import '@shoelace-style/shoelace/dist/themes/light.css'; +``` + +You can read more about how to initialize the shoelace theme [here](https://shoelace.style/getting-started/themes?id=activating-themes). + +--- + +That's it! You have now integrated both the backend and the frontend for the profiles module. + +# Example + +You can see a full working example of the UI working in [here](https://github.com/holochain-open-dev/profiles/blob/main/ui/demo/index.html). + diff --git a/docs/template-setup.md b/docs/template-setup.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/docs/template-setup.md @@ -0,0 +1 @@ + diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..c62c4d0b9 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,17 @@ +// @ts-check + +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintConfigPrettier from "eslint-config-prettier"; + +export default tseslint.config( + eslint.configs.recommended, + ...tseslint.configs.recommended, + eslintConfigPrettier, + { + rules: { + "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-explicit-any": "warn", + }, + } +); diff --git a/flake.lock b/flake.lock index 11cb5a1a7..08d14c59b 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "cargo-chef": { "flake": false, "locked": { - "lastModified": 1695999026, - "narHash": "sha256-UtLoZd7YBRSF9uXStfC3geEFqSqZXFh1rLHaP8hre0Y=", + "lastModified": 1716357509, + "narHash": "sha256-7iSxwTaJnDLqaFu4ydxkx7ivhDvSQQcXWKawv/e4NHE=", "owner": "LukeMathWalker", "repo": "cargo-chef", - "rev": "6e96ae5cd023b718ae40d608981e50a6e7d7facf", + "rev": "b468537839bfc7c23d744b85d7a5090954626550", "type": "github" }, "original": { @@ -20,28 +20,11 @@ "cargo-chef_2": { "flake": false, "locked": { - "lastModified": 1695999026, - "narHash": "sha256-UtLoZd7YBRSF9uXStfC3geEFqSqZXFh1rLHaP8hre0Y=", + "lastModified": 1716357509, + "narHash": "sha256-7iSxwTaJnDLqaFu4ydxkx7ivhDvSQQcXWKawv/e4NHE=", "owner": "LukeMathWalker", "repo": "cargo-chef", - "rev": "6e96ae5cd023b718ae40d608981e50a6e7d7facf", - "type": "github" - }, - "original": { - "owner": "LukeMathWalker", - "ref": "main", - "repo": "cargo-chef", - "type": "github" - } - }, - "cargo-chef_3": { - "flake": false, - "locked": { - "lastModified": 1695999026, - "narHash": "sha256-UtLoZd7YBRSF9uXStfC3geEFqSqZXFh1rLHaP8hre0Y=", - "owner": "LukeMathWalker", - "repo": "cargo-chef", - "rev": "6e96ae5cd023b718ae40d608981e50a6e7d7facf", + "rev": "b468537839bfc7c23d744b85d7a5090954626550", "type": "github" }, "original": { @@ -85,114 +68,39 @@ "type": "github" } }, - "cargo-rdme_3": { - "flake": false, - "locked": { - "lastModified": 1675118998, - "narHash": "sha256-lrYWqu3h88fr8gG3Yo5GbFGYaq5/1Os7UtM+Af0Bg4k=", - "owner": "orium", - "repo": "cargo-rdme", - "rev": "f9dbb6bccc078f4869f45ae270a2890ac9a75877", - "type": "github" - }, - "original": { - "owner": "orium", - "ref": "v1.1.0", - "repo": "cargo-rdme", - "type": "github" - } - }, "crane": { "inputs": { "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1709610799, - "narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=", + "lastModified": 1716569590, + "narHash": "sha256-5eDbq8TuXFGGO3mqJFzhUbt5zHVTf5zilQoyW5jnJwo=", "owner": "ipetkov", "repo": "crane", - "rev": "81c393c776d5379c030607866afef6406ca1be57", + "rev": "109987da061a1bf452f435f1653c47511587d919", "type": "github" }, "original": { "owner": "ipetkov", "repo": "crane", + "rev": "109987da061a1bf452f435f1653c47511587d919", "type": "github" } }, "crane_2": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1708560786, - "narHash": "sha256-gcTA/iq9mfrwGPQsoxVryWhCAgBwL2GJLGO/s06/0wY=", - "owner": "ipetkov", - "repo": "crane", - "rev": "9a5972e2e8d0b1716cc4e42af8b75eca6914fbff", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_3": { - "inputs": { - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1708560786, - "narHash": "sha256-gcTA/iq9mfrwGPQsoxVryWhCAgBwL2GJLGO/s06/0wY=", - "owner": "ipetkov", - "repo": "crane", - "rev": "9a5972e2e8d0b1716cc4e42af8b75eca6914fbff", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_4": { - "inputs": { - "nixpkgs": [ - "hcUtils", - "hcUtils", - "holochain", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1707363936, - "narHash": "sha256-QbqyvGFYt84QNOQLOOTWplZZkzkyDhYrAl/N/9H0vFM=", - "owner": "ipetkov", - "repo": "crane", - "rev": "9107434eda6991e9388ad87b815dafa337446d16", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_5": { "inputs": { "nixpkgs": [ - "hcUtils", + "hc-infra", "holochain", "nixpkgs" ] }, "locked": { - "lastModified": 1707363936, - "narHash": "sha256-QbqyvGFYt84QNOQLOOTWplZZkzkyDhYrAl/N/9H0vFM=", + "lastModified": 1721322122, + "narHash": "sha256-a0G1NvyXGzdwgu6e1HQpmK5R5yLsfxeBe07nNDyYd+g=", "owner": "ipetkov", "repo": "crane", - "rev": "9107434eda6991e9388ad87b815dafa337446d16", + "rev": "8a68b987c476a33e90f203f0927614a75c3f47ea", "type": "github" }, "original": { @@ -201,7 +109,7 @@ "type": "github" } }, - "crane_6": { + "crane_3": { "inputs": { "nixpkgs": [ "holochain", @@ -209,11 +117,11 @@ ] }, "locked": { - "lastModified": 1707363936, - "narHash": "sha256-QbqyvGFYt84QNOQLOOTWplZZkzkyDhYrAl/N/9H0vFM=", + "lastModified": 1721322122, + "narHash": "sha256-a0G1NvyXGzdwgu6e1HQpmK5R5yLsfxeBe07nNDyYd+g=", "owner": "ipetkov", "repo": "crane", - "rev": "9107434eda6991e9388ad87b815dafa337446d16", + "rev": "8a68b987c476a33e90f203f0927614a75c3f47ea", "type": "github" }, "original": { @@ -225,11 +133,11 @@ "crate2nix": { "flake": false, "locked": { - "lastModified": 1706909251, - "narHash": "sha256-T7G9Uhh77P0kKri/u+Mwa/4YnXwdPsJSwYCiJCCW+fs=", + "lastModified": 1719760654, + "narHash": "sha256-L3VIJ9182wsYJqP27xO5qiWwfK+a00x0JHiy8ns3NQE=", "owner": "kolloch", "repo": "crate2nix", - "rev": "15656bb6cb15f55ee3344bf4362e6489feb93db6", + "rev": "a6ca1e58132bab26fc08572f22a34bbb86f4d91d", "type": "github" }, "original": { @@ -241,27 +149,11 @@ "crate2nix_2": { "flake": false, "locked": { - "lastModified": 1706909251, - "narHash": "sha256-T7G9Uhh77P0kKri/u+Mwa/4YnXwdPsJSwYCiJCCW+fs=", - "owner": "kolloch", - "repo": "crate2nix", - "rev": "15656bb6cb15f55ee3344bf4362e6489feb93db6", - "type": "github" - }, - "original": { - "owner": "kolloch", - "repo": "crate2nix", - "type": "github" - } - }, - "crate2nix_3": { - "flake": false, - "locked": { - "lastModified": 1706909251, - "narHash": "sha256-T7G9Uhh77P0kKri/u+Mwa/4YnXwdPsJSwYCiJCCW+fs=", + "lastModified": 1719760654, + "narHash": "sha256-L3VIJ9182wsYJqP27xO5qiWwfK+a00x0JHiy8ns3NQE=", "owner": "kolloch", "repo": "crate2nix", - "rev": "15656bb6cb15f55ee3344bf4362e6489feb93db6", + "rev": "a6ca1e58132bab26fc08572f22a34bbb86f4d91d", "type": "github" }, "original": { @@ -302,22 +194,6 @@ "type": "github" } }, - "empty_3": { - "flake": false, - "locked": { - "lastModified": 1683792623, - "narHash": "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=", - "owner": "steveej", - "repo": "empty", - "rev": "8e328e450e4cd32e072eba9e99fe92cf2a1ef5cf", - "type": "github" - }, - "original": { - "owner": "steveej", - "repo": "empty", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -350,32 +226,16 @@ "type": "github" } }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -388,28 +248,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -417,186 +260,33 @@ "type": "indirect" } }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_5": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_6": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "hcUtils": { + "hc-infra": { "inputs": { "crane": "crane", - "hcUtils": "hcUtils_2", - "holochain": "holochain_3", + "holochain": "holochain", "nixpkgs": [ - "hcUtils", + "hc-infra", "holochain", "nixpkgs" ], - "rust-overlay": "rust-overlay_5", - "versions": "versions_2" - }, - "locked": { - "lastModified": 1709662947, - "narHash": "sha256-k7eOa16h7yeU1l+QINgTjbLWwyRbukrnttEtFPuttsA=", - "owner": "holochain-open-dev", - "repo": "common", - "rev": "ddcc0facbce05e24d7be91fafe299987635469c7", - "type": "github" - }, - "original": { - "owner": "holochain-open-dev", - "repo": "common", - "type": "github" - } - }, - "hcUtils_2": { - "inputs": { - "crane": "crane_2", - "hcUtils": "hcUtils_3", - "holochain": "holochain", - "nixpkgs": [ - "hcUtils", - "hcUtils", + "rust-overlay": [ + "hc-infra", "holochain", - "nixpkgs" + "rust-overlay" ], - "rust-overlay": "rust-overlay_3", "versions": "versions" }, "locked": { - "lastModified": 1709649392, - "narHash": "sha256-X3ijMZFXDu2V2Wko1jFO8oovqbilGUj5U77WNiP+jvE=", - "owner": "holochain-open-dev", - "repo": "common", - "rev": "546c3c654904e1bd859dea39960475fef4c7924b", - "type": "github" - }, - "original": { - "owner": "holochain-open-dev", - "repo": "common", - "type": "github" - } - }, - "hcUtils_3": { - "inputs": { - "crane": "crane_3", - "nixpkgs": "nixpkgs_4", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1708609246, - "narHash": "sha256-8C5Nf84Sw3vutYxACA+N1Mc+QC06SddHzA1mjls/v8w=", + "lastModified": 1721404544, + "narHash": "sha256-NLfWhXkL9mIg58IXoI4WwpV3z1e1lmyUqXuOWlS9BIA=", "owner": "holochain-open-dev", - "repo": "common", - "rev": "e7e9cfca683aaa78dfa7959bff7b1af91aa6651b", + "repo": "infrastructure", + "rev": "afc1fa6492ae1c2e9056da1808f1d8cd877a65d8", "type": "github" }, "original": { "owner": "holochain-open-dev", - "repo": "common", + "repo": "infrastructure", "type": "github" } }, @@ -604,52 +294,47 @@ "inputs": { "cargo-chef": "cargo-chef", "cargo-rdme": "cargo-rdme", - "crane": "crane_4", + "crane": "crane_2", "crate2nix": "crate2nix", "empty": "empty", "flake-compat": "flake-compat", "flake-parts": "flake-parts", "holochain": [ - "hcUtils", - "hcUtils", + "hc-infra", "holochain", "empty" ], "lair": [ - "hcUtils", - "hcUtils", + "hc-infra", "holochain", "empty" ], "launcher": [ - "hcUtils", - "hcUtils", + "hc-infra", "holochain", "empty" ], "nix-filter": "nix-filter", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "repo-git": "repo-git", - "rust-overlay": "rust-overlay_2", + "rust-overlay": "rust-overlay", "scaffolding": [ - "hcUtils", - "hcUtils", + "hc-infra", "holochain", "empty" ], "versions": [ - "hcUtils", - "hcUtils", + "hc-infra", "versions" ] }, "locked": { - "lastModified": 1708595708, - "narHash": "sha256-coOhtMii+epTQobSAj1qGfVYbN9Rs0oB+Rj6ZePqKIU=", + "lastModified": 1721403618, + "narHash": "sha256-SO9MOHuuuQE5PXnCngwbWB0M47QH8rN7GHWVUWnHx80=", "owner": "holochain", "repo": "holochain", - "rev": "e2fd7138bfeb1185a245421eefb2f83d237eccef", + "rev": "cfacdd7dace3b78b47daecd69e7d3249d154f1d6", "type": "github" }, "original": { @@ -661,16 +346,16 @@ "holochain_2": { "flake": false, "locked": { - "lastModified": 1707871925, - "narHash": "sha256-LmDAQT21zXXgDl/68ERyCerAWCym7aKECnXsnyLcmXw=", + "lastModified": 1718142789, + "narHash": "sha256-Lam1hWLqi+zv0umdTIIHK9YKHVWQrI/Z4AySo97xK9E=", "owner": "holochain", "repo": "holochain", - "rev": "2f3c8dce79586aad6f67d3428bf56d868303f956", + "rev": "582f05b66b690448b1574d1aa6004114ff98187f", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-0.3.0-beta-dev.37", + "ref": "holochain-0.3.1", "repo": "holochain", "type": "github" } @@ -679,47 +364,42 @@ "inputs": { "cargo-chef": "cargo-chef_2", "cargo-rdme": "cargo-rdme_2", - "crane": "crane_5", + "crane": "crane_3", "crate2nix": "crate2nix_2", "empty": "empty_2", "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "holochain": [ - "hcUtils", "holochain", "empty" ], "lair": [ - "hcUtils", "holochain", "empty" ], "launcher": [ - "hcUtils", "holochain", "empty" ], "nix-filter": "nix-filter_2", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_3", "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", "repo-git": "repo-git_2", - "rust-overlay": "rust-overlay_4", + "rust-overlay": "rust-overlay_2", "scaffolding": [ - "hcUtils", "holochain", "empty" ], "versions": [ - "hcUtils", "versions" ] }, "locked": { - "lastModified": 1709620314, - "narHash": "sha256-d7vekpj538VqdDrChFbVQpSVGDMnU1nSksbSzacKvyM=", + "lastModified": 1721403618, + "narHash": "sha256-SO9MOHuuuQE5PXnCngwbWB0M47QH8rN7GHWVUWnHx80=", "owner": "holochain", "repo": "holochain", - "rev": "392bdfd729fb6ce50f78f9e7f1c757dc392675f4", + "rev": "cfacdd7dace3b78b47daecd69e7d3249d154f1d6", "type": "github" }, "original": { @@ -731,132 +411,50 @@ "holochain_4": { "flake": false, "locked": { - "lastModified": 1709081329, - "narHash": "sha256-QP7WKySgEFbgNaSc7BNBBOWCVKuycXSp4HAfD4GTug8=", + "lastModified": 1718142789, + "narHash": "sha256-Lam1hWLqi+zv0umdTIIHK9YKHVWQrI/Z4AySo97xK9E=", "owner": "holochain", "repo": "holochain", - "rev": "547c63a442e61be805887b644c78cf6f970d631b", + "rev": "582f05b66b690448b1574d1aa6004114ff98187f", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-0.3.0-beta-dev.38", + "ref": "holochain-0.3.1", "repo": "holochain", "type": "github" } }, - "holochain_5": { - "inputs": { - "cargo-chef": "cargo-chef_3", - "cargo-rdme": "cargo-rdme_3", - "crane": "crane_6", - "crate2nix": "crate2nix_3", - "empty": "empty_3", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_3", - "holochain": [ - "holochain", - "empty" - ], - "lair": [ - "holochain", - "empty" - ], - "launcher": [ - "holochain", - "empty" - ], - "nix-filter": "nix-filter_3", - "nixpkgs": "nixpkgs_7", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_3", - "repo-git": "repo-git_3", - "rust-overlay": "rust-overlay_6", - "scaffolding": [ - "holochain", - "empty" - ], - "versions": [ - "versions" - ] - }, + "lair": { + "flake": false, "locked": { - "lastModified": 1709620314, - "narHash": "sha256-d7vekpj538VqdDrChFbVQpSVGDMnU1nSksbSzacKvyM=", + "lastModified": 1709335027, + "narHash": "sha256-rKMhh7TLuR1lqze2YFWZCGYKZQoB4dZxjpX3sb7r7Jk=", "owner": "holochain", - "repo": "holochain", - "rev": "392bdfd729fb6ce50f78f9e7f1c757dc392675f4", + "repo": "lair", + "rev": "826be915efc839d1d1b8a2156b158999b8de8d5b", "type": "github" }, "original": { "owner": "holochain", - "repo": "holochain", + "ref": "lair_keystore-v0.4.4", + "repo": "lair", "type": "github" } }, - "holochain_6": { + "lair_2": { "flake": false, "locked": { - "lastModified": 1709081329, - "narHash": "sha256-QP7WKySgEFbgNaSc7BNBBOWCVKuycXSp4HAfD4GTug8=", - "owner": "holochain", - "repo": "holochain", - "rev": "547c63a442e61be805887b644c78cf6f970d631b", - "type": "github" - }, - "original": { - "owner": "holochain", - "ref": "holochain-0.3.0-beta-dev.38", - "repo": "holochain", - "type": "github" - } - }, - "lair": { - "flake": false, - "locked": { - "lastModified": 1706569525, - "narHash": "sha256-e8zYqElBSQgELs1zFYEco2P6qf63NcI2Ftqt1gb2OIs=", + "lastModified": 1709335027, + "narHash": "sha256-rKMhh7TLuR1lqze2YFWZCGYKZQoB4dZxjpX3sb7r7Jk=", "owner": "holochain", "repo": "lair", - "rev": "8f01e989372b2d60714ba4774c0a1e2e2c961cf7", + "rev": "826be915efc839d1d1b8a2156b158999b8de8d5b", "type": "github" }, "original": { "owner": "holochain", - "ref": "lair_keystore-v0.4.3", - "repo": "lair", - "type": "github" - } - }, - "lair_2": { - "flake": false, - "locked": { - "lastModified": 1706569525, - "narHash": "sha256-e8zYqElBSQgELs1zFYEco2P6qf63NcI2Ftqt1gb2OIs=", - "owner": "holochain", - "repo": "lair", - "rev": "8f01e989372b2d60714ba4774c0a1e2e2c961cf7", - "type": "github" - }, - "original": { - "owner": "holochain", - "ref": "lair_keystore-v0.4.3", - "repo": "lair", - "type": "github" - } - }, - "lair_3": { - "flake": false, - "locked": { - "lastModified": 1706569525, - "narHash": "sha256-e8zYqElBSQgELs1zFYEco2P6qf63NcI2Ftqt1gb2OIs=", - "owner": "holochain", - "repo": "lair", - "rev": "8f01e989372b2d60714ba4774c0a1e2e2c961cf7", - "type": "github" - }, - "original": { - "owner": "holochain", - "ref": "lair_keystore-v0.4.3", + "ref": "lair_keystore-v0.4.4", "repo": "lair", "type": "github" } @@ -864,61 +462,44 @@ "launcher": { "flake": false, "locked": { - "lastModified": 1706294585, - "narHash": "sha256-92Qc6hBMFfHo3w1m1+EpNAAV+7whpkgRHiGqNiXaMCg=", + "lastModified": 1717431387, + "narHash": "sha256-+VvWwBmxcgePV1L6kU2mSkg3emMiMgpdQnCqvQJkRPk=", "owner": "holochain", - "repo": "launcher", - "rev": "51a45a7141abc98a861b34b288b384f50f359485", + "repo": "hc-launch", + "rev": "9d9cab5e6b57e1c278113921ff203e515c8bbd2e", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-weekly", - "repo": "launcher", + "ref": "holochain-0.3", + "repo": "hc-launch", "type": "github" } }, "launcher_2": { "flake": false, "locked": { - "lastModified": 1706294585, - "narHash": "sha256-92Qc6hBMFfHo3w1m1+EpNAAV+7whpkgRHiGqNiXaMCg=", - "owner": "holochain", - "repo": "launcher", - "rev": "51a45a7141abc98a861b34b288b384f50f359485", - "type": "github" - }, - "original": { - "owner": "holochain", - "ref": "holochain-weekly", - "repo": "launcher", - "type": "github" - } - }, - "launcher_3": { - "flake": false, - "locked": { - "lastModified": 1706294585, - "narHash": "sha256-92Qc6hBMFfHo3w1m1+EpNAAV+7whpkgRHiGqNiXaMCg=", + "lastModified": 1717431387, + "narHash": "sha256-+VvWwBmxcgePV1L6kU2mSkg3emMiMgpdQnCqvQJkRPk=", "owner": "holochain", - "repo": "launcher", - "rev": "51a45a7141abc98a861b34b288b384f50f359485", + "repo": "hc-launch", + "rev": "9d9cab5e6b57e1c278113921ff203e515c8bbd2e", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-weekly", - "repo": "launcher", + "ref": "holochain-0.3", + "repo": "hc-launch", "type": "github" } }, "nix-filter": { "locked": { - "lastModified": 1705332318, - "narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=", + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", "owner": "numtide", "repo": "nix-filter", - "rev": "3449dc925982ad46246cfc36469baf66e1b64f17", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", "type": "github" }, "original": { @@ -929,26 +510,11 @@ }, "nix-filter_2": { "locked": { - "lastModified": 1705332318, - "narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "3449dc925982ad46246cfc36469baf66e1b64f17", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, - "nix-filter_3": { - "locked": { - "lastModified": 1705332318, - "narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=", + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", "owner": "numtide", "repo": "nix-filter", - "rev": "3449dc925982ad46246cfc36469baf66e1b64f17", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", "type": "github" }, "original": { @@ -959,11 +525,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709386671, - "narHash": "sha256-VPqfBnIJ+cfa78pd4Y5Cr6sOWVW8GYHRVucxJGmRf8Q=", + "lastModified": 1714656196, + "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa9a51752f1b5de583ad5213eb621be071806663", + "rev": "94035b482d181af0a0f8f77823a790b256b7c3cc", "type": "github" }, "original": { @@ -975,127 +541,35 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", - "type": "github" + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-lib_2": { "locked": { - "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", - "type": "github" + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_3": { - "locked": { - "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs_2": { "locked": { - "lastModified": 1706925685, - "narHash": "sha256-hVInjWMmgH4yZgA4ZtbgJM1qEAel72SYhP5nOWX4UIM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "79a13f1437e149dc7be2d1290c74d378dad60814", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1706925685, - "narHash": "sha256-hVInjWMmgH4yZgA4ZtbgJM1qEAel72SYhP5nOWX4UIM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "79a13f1437e149dc7be2d1290c74d378dad60814", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1708603017, - "narHash": "sha256-YVMXAorB6bE+y3nFJY0OUfQERI3tyLTDqd6zuPfewp8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "2a56c2ca6814a31f8211dad09302398a06acbcdf", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1708475490, - "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0e74ca98a74bc7270d28838369593635a5db3260", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-unstable", - "type": "indirect" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1709479366, - "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", + "lastModified": 1721138476, + "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", + "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206", "type": "github" }, "original": { @@ -1104,13 +578,13 @@ "type": "indirect" } }, - "nixpkgs_7": { + "nixpkgs_3": { "locked": { - "lastModified": 1709479366, - "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", + "lastModified": 1721138476, + "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", + "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206", "type": "github" }, "original": { @@ -1122,11 +596,11 @@ "pre-commit-hooks-nix": { "flake": false, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -1138,27 +612,11 @@ "pre-commit-hooks-nix_2": { "flake": false, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks-nix_3": { - "flake": false, - "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -1191,69 +649,31 @@ "url": "file:/dev/null" } }, - "repo-git_3": { - "flake": false, - "locked": { - "narHash": "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=", - "type": "file", - "url": "file:/dev/null" - }, - "original": { - "type": "file", - "url": "file:/dev/null" - } - }, "root": { "inputs": { - "hcUtils": "hcUtils", - "holochain": "holochain_5", + "hc-infra": "hc-infra", + "holochain": "holochain_3", "nixpkgs": [ "holochain", "nixpkgs" ], - "versions": "versions_3" + "versions": "versions_2" } }, "rust-overlay": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": [ - "hcUtils", - "hcUtils", - "hcUtils", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1708567842, - "narHash": "sha256-tJmra4795ji+hWZTq9UfbHISu+0/V8kdfAj2VYFk6xc=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "0b5394f1da0e50715d36a22d4912cb3b02e6b72a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "hcUtils", - "hcUtils", + "hc-infra", "holochain", "nixpkgs" ] }, "locked": { - "lastModified": 1708567842, - "narHash": "sha256-tJmra4795ji+hWZTq9UfbHISu+0/V8kdfAj2VYFk6xc=", + "lastModified": 1721355572, + "narHash": "sha256-I4TQ2guV9jTmZsXeWt5HMojcaqNZHII4zu0xIKZEovM=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0b5394f1da0e50715d36a22d4912cb3b02e6b72a", + "rev": "d5bc7b1b21cf937fb8ff108ae006f6776bdb163d", "type": "github" }, "original": { @@ -1262,88 +682,19 @@ "type": "github" } }, - "rust-overlay_3": { - "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": [ - "hcUtils", - "hcUtils", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1708567842, - "narHash": "sha256-tJmra4795ji+hWZTq9UfbHISu+0/V8kdfAj2VYFk6xc=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "0b5394f1da0e50715d36a22d4912cb3b02e6b72a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_4": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": [ - "hcUtils", - "holochain", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709604635, - "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_5": { - "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": [ - "hcUtils", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709604635, - "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_6": { + "rust-overlay_2": { "inputs": { - "flake-utils": "flake-utils_6", "nixpkgs": [ "holochain", "nixpkgs" ] }, "locked": { - "lastModified": 1709604635, - "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", + "lastModified": 1721355572, + "narHash": "sha256-I4TQ2guV9jTmZsXeWt5HMojcaqNZHII4zu0xIKZEovM=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", + "rev": "d5bc7b1b21cf937fb8ff108ae006f6776bdb163d", "type": "github" }, "original": { @@ -1355,16 +706,16 @@ "scaffolding": { "flake": false, "locked": { - "lastModified": 1708377063, - "narHash": "sha256-5+iEjwMO/sTe1h9JVrfn77GjliIRVJQFS2yvI3KTsL8=", + "lastModified": 1721322247, + "narHash": "sha256-HtYc28vwS2+YzgE5ZHq+U9vg0W1/mvFblGkLUhMx5wA=", "owner": "holochain", "repo": "scaffolding", - "rev": "c41f01d2ff19fe58b6632860d85f88a96e16fd65", + "rev": "fa5f502eed7fe4438105e0cca6c22f8eed999c52", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-weekly", + "ref": "holochain-0.3", "repo": "scaffolding", "type": "github" } @@ -1372,127 +723,20 @@ "scaffolding_2": { "flake": false, "locked": { - "lastModified": 1708377063, - "narHash": "sha256-5+iEjwMO/sTe1h9JVrfn77GjliIRVJQFS2yvI3KTsL8=", - "owner": "holochain", - "repo": "scaffolding", - "rev": "c41f01d2ff19fe58b6632860d85f88a96e16fd65", - "type": "github" - }, - "original": { - "owner": "holochain", - "ref": "holochain-weekly", - "repo": "scaffolding", - "type": "github" - } - }, - "scaffolding_3": { - "flake": false, - "locked": { - "lastModified": 1708377063, - "narHash": "sha256-5+iEjwMO/sTe1h9JVrfn77GjliIRVJQFS2yvI3KTsL8=", + "lastModified": 1721322247, + "narHash": "sha256-HtYc28vwS2+YzgE5ZHq+U9vg0W1/mvFblGkLUhMx5wA=", "owner": "holochain", "repo": "scaffolding", - "rev": "c41f01d2ff19fe58b6632860d85f88a96e16fd65", + "rev": "fa5f502eed7fe4438105e0cca6c22f8eed999c52", "type": "github" }, "original": { "owner": "holochain", - "ref": "holochain-weekly", + "ref": "holochain-0.3", "repo": "scaffolding", "type": "github" } }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "versions": { "inputs": { "holochain": "holochain_2", @@ -1501,16 +745,16 @@ "scaffolding": "scaffolding" }, "locked": { - "dir": "versions/weekly", - "lastModified": 1708595708, - "narHash": "sha256-coOhtMii+epTQobSAj1qGfVYbN9Rs0oB+Rj6ZePqKIU=", + "dir": "versions/0_3", + "lastModified": 1721403618, + "narHash": "sha256-SO9MOHuuuQE5PXnCngwbWB0M47QH8rN7GHWVUWnHx80=", "owner": "holochain", "repo": "holochain", - "rev": "e2fd7138bfeb1185a245421eefb2f83d237eccef", + "rev": "cfacdd7dace3b78b47daecd69e7d3249d154f1d6", "type": "github" }, "original": { - "dir": "versions/weekly", + "dir": "versions/0_3", "owner": "holochain", "repo": "holochain", "type": "github" @@ -1524,39 +768,16 @@ "scaffolding": "scaffolding_2" }, "locked": { - "dir": "versions/weekly", - "lastModified": 1709620314, - "narHash": "sha256-d7vekpj538VqdDrChFbVQpSVGDMnU1nSksbSzacKvyM=", - "owner": "holochain", - "repo": "holochain", - "rev": "392bdfd729fb6ce50f78f9e7f1c757dc392675f4", - "type": "github" - }, - "original": { - "dir": "versions/weekly", - "owner": "holochain", - "repo": "holochain", - "type": "github" - } - }, - "versions_3": { - "inputs": { - "holochain": "holochain_6", - "lair": "lair_3", - "launcher": "launcher_3", - "scaffolding": "scaffolding_3" - }, - "locked": { - "dir": "versions/weekly", - "lastModified": 1709620314, - "narHash": "sha256-d7vekpj538VqdDrChFbVQpSVGDMnU1nSksbSzacKvyM=", + "dir": "versions/0_3", + "lastModified": 1721403618, + "narHash": "sha256-SO9MOHuuuQE5PXnCngwbWB0M47QH8rN7GHWVUWnHx80=", "owner": "holochain", "repo": "holochain", - "rev": "392bdfd729fb6ce50f78f9e7f1c757dc392675f4", + "rev": "cfacdd7dace3b78b47daecd69e7d3249d154f1d6", "type": "github" }, "original": { - "dir": "versions/weekly", + "dir": "versions/0_3", "owner": "holochain", "repo": "holochain", "type": "github" diff --git a/flake.nix b/flake.nix index 833caab37..d3796c0ac 100644 --- a/flake.nix +++ b/flake.nix @@ -1,46 +1,51 @@ { description = "Template for Holochain app development"; - + inputs = { nixpkgs.follows = "holochain/nixpkgs"; - versions.url = "github:holochain/holochain?dir=versions/weekly"; + versions.url = "github:holochain/holochain?dir=versions/0_3"; holochain = { url = "github:holochain/holochain"; inputs.versions.follows = "versions"; }; - hcUtils.url = "github:holochain-open-dev/common"; + hc-infra.url = "github:holochain-open-dev/infrastructure"; + }; + + nixConfig = { + extra-substituters = [ "https://holochain-open-dev.cachix.org" ]; + extra-trusted-public-keys = [ + "holochain-open-dev.cachix.org-1:3Tr+9in6uo44Ga7qiuRIfOTFXog+2+YbyhwI/Z6Cp4U=" + ]; }; - outputs = inputs @ { ... }: - inputs.holochain.inputs.flake-parts.lib.mkFlake - { - inherit inputs; - specialArgs.rootPath = ./.; - } - { - imports = [ - ./crates/coordinator/zome.nix - ./crates/integrity/zome.nix - ]; + outputs = inputs@{ ... }: + inputs.holochain.inputs.flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ ./crates/coordinator/zome.nix ./crates/integrity/zome.nix ]; - systems = builtins.attrNames inputs.holochain.devShells; - perSystem = - { inputs' - , config - , pkgs - , system - , lib - , ... - }: { - devShells.default = pkgs.mkShell { - inputsFrom = [ inputs'.holochain.devShells.holonix ]; - packages = with pkgs; [ - nodejs_20 - ]; - }; + systems = builtins.attrNames inputs.holochain.devShells; + perSystem = { inputs', config, pkgs, system, lib, ... }: { + devShells.default = pkgs.mkShell { + inputsFrom = [ inputs'.holochain.devShells.holonix ]; + packages = with pkgs; [ nodejs_20 ]; + }; - }; + packages.scaffold = pkgs.symlinkJoin { + name = "scaffold-remote-zome"; + paths = [ inputs'.hc-infra.packages.scaffold-remote-zome ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/scaffold-remote-zome \ + --add-flags "profiles \ + --integrity-zome-name profiles_integrity \ + --coordinator-zome-name profiles \ + --remote-zome-git-url github:holochain-open-dev/profiles \ + --remote-zome-git-branch nixify \ + --remote-npm-package-name @holochain-open-dev/profiles \ + --remote-npm-package-path ui" + ''; + }; }; + }; } diff --git a/package-lock.json b/package-lock.json index 67df5203e..5daf59146 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19096 +1,9172 @@ { - "name": "@holochain-open-dev/profiles-dev", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@holochain-open-dev/profiles-dev", - "workspaces": [ - "ui", - "tests" - ], - "devDependencies": { - "@holochain-playground/cli": "^0.1.0", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-links": "^7.5.3", - "@storybook/blocks": "^7.5.3", - "@storybook/web-components": "^7.5.3", - "@storybook/web-components-webpack5": "^7.5.3", - "concurrently": "^6.2.1", - "gh-pages": "^3.2.3", - "lit-html": "^2.6.1", - "new-port-cli": "^1.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "storybook": "^7.0.0-beta.33" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@alenaksu/json-viewer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@alenaksu/json-viewer/-/json-viewer-2.0.1.tgz", - "integrity": "sha512-M6rN1bcuSGfar6ND9fFASBkez0UcWOUxMiwm2i9jlPBrpjOHOz0/utMgZhfrsgfyFPZ1H1gzfU8auJkYO1mq/g==", - "dependencies": { - "lit": "^2.3.1" - } - }, - "node_modules/@alenaksu/json-viewer/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@alenaksu/json-viewer/node_modules/lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/@alenaksu/json-viewer/node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.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==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@aw-web-design/x-default-browser": { - "version": "1.4.126", - "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", - "integrity": "sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==", - "dev": true, - "dependencies": { - "default-browser-id": "3.0.0" - }, - "bin": { - "x-default-browser": "bin/x-default-browser.js" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.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/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "dev": true, - "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-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "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.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "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==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "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==", - "dev": true, - "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.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "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.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-flow": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.0.tgz", - "integrity": "sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "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==", - "dev": true, - "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-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.6", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/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==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/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==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/register/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/register/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bitgo/blake2b": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@bitgo/blake2b/-/blake2b-3.2.4.tgz", - "integrity": "sha512-46PEgEVPxecNJ/xczggIllSxIkFIvvbVM0OfIDdNJ5qpFHUeBCkNIiGdzC3fYZlsv7bVTdUZOj79GcFBLMYBqA==", - "dependencies": { - "@bitgo/blake2b-wasm": "^3.2.3", - "nanoassert": "^2.0.0" - } - }, - "node_modules/@bitgo/blake2b-wasm": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@bitgo/blake2b-wasm/-/blake2b-wasm-3.2.3.tgz", - "integrity": "sha512-NaurBrMaEpjfg7EdUJgW/c6byt27O6q1ZaxB5Ita10MjjYjUu0SyYF4q7JPNxpHF/lMxb0YZakOxigbDBu9Jjw==", - "dependencies": { - "nanoassert": "^1.0.0" - } - }, - "node_modules/@bitgo/blake2b-wasm/node_modules/nanoassert": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", - "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==" - }, - "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==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.0.3.tgz", - "integrity": "sha512-e9nEVehVJwkymQpkGhdSNzLT2Lr9UTTby+JePq4Z2SxBbOQjY7pLgSouAaXvfaGQVSAaY0U4eJdwfSDmCbItcw==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@custom-elements-manifest/analyzer": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@custom-elements-manifest/analyzer/-/analyzer-0.5.7.tgz", - "integrity": "sha512-pKQM0dAUPAaoAWJvPSpFtxAc1/pi0xb8wKYSUJbCBYwWA5L8vf/UowDaV0m9G3CtbiqkHI/4eKzFAqE14iY6vg==", - "dev": true, - "dependencies": { - "@web/config-loader": "0.1.3", - "chokidar": "3.5.2", - "command-line-args": "5.1.2", - "comment-parser": "1.2.4", - "custom-elements-manifest": "1.0.0", - "debounce": "1.2.1", - "globby": "11.0.4", - "typescript": "~4.3.2" - }, - "bin": { - "cem": "index.js", - "custom-elements-manifest": "index.js" - } - }, - "node_modules/@custom-elements-manifest/analyzer/node_modules/typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "dev": true, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@fal-works/esbuild-plugin-global-externals": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", - "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", - "dev": true - }, - "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", - "dependencies": { - "@floating-ui/utils": "^0.2.1" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", - "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", - "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", - "dev": true, - "dependencies": { - "@floating-ui/dom": "^1.6.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" - }, - "node_modules/@holo-host/identicon": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@holo-host/identicon/-/identicon-0.1.0.tgz", - "integrity": "sha512-Dn5pTV/m3XaK1Zvq3liw/vQUt7goM7Y84x2zUyH8cb9CNMs4kPCNHs3kalbJZ/ymzFvwcdiLwwNW8AKk+WWN5A==" - }, - "node_modules/@holochain-open-dev/elements": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@holochain-open-dev/elements/-/elements-0.8.4.tgz", - "integrity": "sha512-9iT59XcDJyuV8m92oPAGBaHJ7MR3pDN7mSlxj4J99HqzrxFC/IK2NaPKdCc4kfmbH28ABpavppv4/5y8Ab4CAA==", - "dependencies": { - "@holo-host/identicon": "^0.1.0", - "@holochain-open-dev/stores": "^0.7.12", - "@holochain/client": "^0.16.0", - "@lit/localize": "^0.12.0", - "@mdi/js": "^7.1.96", - "@shoelace-style/shoelace": "^2.11.0", - "lit": "^3.0.2", - "prosemirror-commands": "^1.5.2", - "prosemirror-keymap": "^1.2.2", - "prosemirror-state": "^1.4.3", - "prosemirror-view": "^1.31.3" - } - }, - "node_modules/@holochain-open-dev/elements/node_modules/@holochain-open-dev/stores": { - "version": "0.7.16", - "resolved": "https://registry.npmjs.org/@holochain-open-dev/stores/-/stores-0.7.16.tgz", - "integrity": "sha512-hBiTq7d2fIgqMyhQHlyPWi9RMkfhjFOsQG+1MRSleIOZRPepp/IkFeg8yqjImbdEj9GgHkZQPV72JZyWAohqgg==", - "dependencies": { - "@alenaksu/json-viewer": "^2.0.1", - "@holochain-open-dev/utils": "^0.16.2", - "@holochain/client": "^0.16.0", - "@scoped-elements/cytoscape": "^0.2.0", - "@shoelace-style/shoelace": "^2.11.2", - "lit": "^3.0.2", - "lit-svelte-stores": "^0.3.0", - "svelte": "^3.53.1" - } - }, - "node_modules/@holochain-open-dev/elements/node_modules/@holochain/client": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@holochain/client/-/client-0.16.10.tgz", - "integrity": "sha512-Urgx6vXNux2XD/4+eOxou2FKwlUBu/g/BxUSZLX6wEaYWH9wDYXR5f3VToUrAhXGF5ssc08jb8jLiQZ23k62EQ==", - "dependencies": { - "@bitgo/blake2b": "^3.2.4", - "@holochain/serialization": "^0.1.0-beta-rc.3", - "@msgpack/msgpack": "^2.8.0", - "@tauri-apps/api": "^1.4.0", - "emittery": "^1.0.1", - "isomorphic-ws": "^5.0.0", - "js-base64": "^3.7.5", - "libsodium-wrappers": "^0.7.13", - "lodash-es": "^4.17.21", - "ws": "^8.14.2" - }, - "engines": { - "node": ">=18.0.0 || >=20.0.0" - } - }, - "node_modules/@holochain-open-dev/profiles": { - "resolved": "ui", - "link": true - }, - "node_modules/@holochain-open-dev/stores": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@holochain-open-dev/stores/-/stores-0.8.11.tgz", - "integrity": "sha512-f6Khq0cZYuVql7NnEz61Roq0sUWfpkpOA75qxcbIOVghc66gnV9VXDtB67iCi4MYffkmKSUU654TOfjFB/kvQQ==", - "dependencies": { - "@alenaksu/json-viewer": "^2.0.1", - "@holochain-open-dev/utils": "^0.16.5", - "@holochain/client": "^0.16.6", - "@scoped-elements/cytoscape": "^0.2.0", - "@shoelace-style/shoelace": "^2.11.2", - "lit": "^3.0.2", - "lit-svelte-stores": "^0.3.0", - "svelte": "^3.53.1" - } - }, - "node_modules/@holochain-open-dev/stores/node_modules/@holochain/client": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@holochain/client/-/client-0.16.10.tgz", - "integrity": "sha512-Urgx6vXNux2XD/4+eOxou2FKwlUBu/g/BxUSZLX6wEaYWH9wDYXR5f3VToUrAhXGF5ssc08jb8jLiQZ23k62EQ==", - "dependencies": { - "@bitgo/blake2b": "^3.2.4", - "@holochain/serialization": "^0.1.0-beta-rc.3", - "@msgpack/msgpack": "^2.8.0", - "@tauri-apps/api": "^1.4.0", - "emittery": "^1.0.1", - "isomorphic-ws": "^5.0.0", - "js-base64": "^3.7.5", - "libsodium-wrappers": "^0.7.13", - "lodash-es": "^4.17.21", - "ws": "^8.14.2" - }, - "engines": { - "node": ">=18.0.0 || >=20.0.0" - } - }, - "node_modules/@holochain-open-dev/utils": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@holochain-open-dev/utils/-/utils-0.16.5.tgz", - "integrity": "sha512-sLP0a+v2osR7ra8ZYadLrmSdzBV3rEl/1qKlnY2PEWJ014KK4MVC08FyJ5hu4JSzeZMhEEUkB3AELuONvcGhHA==", - "dependencies": { - "@holochain/client": "^0.16.2", - "@msgpack/msgpack": "^2.7.2", - "blakejs": "^1.2.1", - "emittery": "^1.0.1", - "lodash-es": "^4.17.21", - "sort-keys": "^5.0.0" - } - }, - "node_modules/@holochain-open-dev/utils/node_modules/@holochain/client": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@holochain/client/-/client-0.16.10.tgz", - "integrity": "sha512-Urgx6vXNux2XD/4+eOxou2FKwlUBu/g/BxUSZLX6wEaYWH9wDYXR5f3VToUrAhXGF5ssc08jb8jLiQZ23k62EQ==", - "dependencies": { - "@bitgo/blake2b": "^3.2.4", - "@holochain/serialization": "^0.1.0-beta-rc.3", - "@msgpack/msgpack": "^2.8.0", - "@tauri-apps/api": "^1.4.0", - "emittery": "^1.0.1", - "isomorphic-ws": "^5.0.0", - "js-base64": "^3.7.5", - "libsodium-wrappers": "^0.7.13", - "lodash-es": "^4.17.21", - "ws": "^8.14.2" - }, - "engines": { - "node": ">=18.0.0 || >=20.0.0" - } - }, - "node_modules/@holochain-playground/cli": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@holochain-playground/cli/-/cli-0.1.1.tgz", - "integrity": "sha512-JbapAe+uBaec52rTePjdlP0mq3zQhJG/hrdbCd+eecZLA3cXWEGgISR5YwLtx6udN+0ghCDH4U6KILjPiwWZMg==", - "dev": true, - "bin": { - "holochain-playground": "dist/app.js" - } - }, - "node_modules/@holochain/client": { - "version": "0.17.0-dev.7", - "resolved": "https://registry.npmjs.org/@holochain/client/-/client-0.17.0-dev.7.tgz", - "integrity": "sha512-dr0S+4Au/sS/PXu0T7Lm1uqwkPVpcWvbMBL9xD7bRv4pfWMratGdP3OpeA356l4bkpSJxkOltz2o2kN3pW3tRQ==", - "dependencies": { - "@bitgo/blake2b": "^3.2.4", - "@holochain/serialization": "^0.1.0-beta-rc.3", - "@msgpack/msgpack": "^2.8.0", - "@tauri-apps/api": "^1.4.0", - "emittery": "^1.0.1", - "isomorphic-ws": "^5.0.0", - "js-base64": "^3.7.5", - "libsodium-wrappers": "^0.7.13", - "lodash-es": "^4.17.21", - "ws": "^8.14.2" - }, - "engines": { - "node": ">=18.0.0 || >=20.0.0" - } - }, - "node_modules/@holochain/serialization": { - "version": "0.1.0-beta-rc.3", - "resolved": "https://registry.npmjs.org/@holochain/serialization/-/serialization-0.1.0-beta-rc.3.tgz", - "integrity": "sha512-DJx4V2KXHVLciyOGjOYKTM/JLBpBEZ3RsPIRCgf7qmwhQdxXvhi2p+oFFRD51yUT5uC1/MzIVeJCl/R60PwFbw==" - }, - "node_modules/@holochain/tryorama": { - "version": "0.16.0-dev.1", - "resolved": "https://registry.npmjs.org/@holochain/tryorama/-/tryorama-0.16.0-dev.1.tgz", - "integrity": "sha512-tn2QR+fy6rmgERJbXkqZK0Q5478MDkyv3ZXZqI1WrOA2eBQtpIPWgnhRavKuBpDz2pQ/WCQKqTtmtFz9BNn5Lg==", - "dependencies": { - "@holochain/client": "^0.17.0-dev.7", - "get-port": "^6.1.2", - "lodash": "^4.17.21", - "uuid": "^8.3.2", - "winston": "^3.8.2", - "ws": "^8.11.0" - }, - "engines": { - "node": ">=18.0.0 || >=20.0.0" - } - }, - "node_modules/@holochain/tryorama/node_modules/get-port": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", - "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@holochain/tryorama/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==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/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==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "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==", - "dev": true, - "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==", - "devOptional": true, - "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==", - "devOptional": true, - "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==", - "devOptional": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "devOptional": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "devOptional": true - }, - "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==", - "devOptional": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", - "dev": true - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", - "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==" - }, - "node_modules/@lit/context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.0.tgz", - "integrity": "sha512-fCyv4dsH05wCNm3AKbB+PdYbXGJd/XT8OOwo4hVmD4COq5wOWJlQreGAMDvmHZ7osqxuu06Y4nmP6ooXpN7ErA==", - "dependencies": { - "@lit/reactive-element": "^1.6.2 || ^2.0.0" - } - }, - "node_modules/@lit/localize": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@lit/localize/-/localize-0.12.1.tgz", - "integrity": "sha512-uuF6OO6fjqomCf3jXsJ5cTGf1APYuN88S4Gvo/fjt9YkG4OMaMvpEUqd5oWhyzrJfY+HcenAbLJNi2Cq3H7gdg==", - "dependencies": { - "lit": "^2.0.0 || ^3.0.0" - } - }, - "node_modules/@lit/localize-tools": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@lit/localize-tools/-/localize-tools-0.6.10.tgz", - "integrity": "sha512-RUzduIRMBdKhCNT9TpcZN6WQ4iDkBnManDBn8WURR8XrI8JJBGx6zUAYsSV2VwpuSJfAu3kIFmuSfa8/8XACow==", - "dev": true, - "dependencies": { - "@lit/localize": "^0.11.0", - "@parse5/tools": "^0.3.0", - "@xmldom/xmldom": "^0.8.2", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "jsonschema": "^1.4.0", - "lit": "^2.7.0", - "minimist": "^1.2.5", - "parse5": "^7.1.1", - "source-map-support": "^0.5.19", - "typescript": "^4.7.4" - }, - "bin": { - "lit-localize": "bin/lit-localize.js" - } - }, - "node_modules/@lit/localize-tools/node_modules/@lit/localize": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/@lit/localize/-/localize-0.11.4.tgz", - "integrity": "sha512-RRIwIX2tAm3+DuEndoXSJrFjGrAK5cb5IXo5K6jcJ6sbgD829B8rSqHC5MaKVUmXTVLIR1bk5IZOZDf9wFereA==", - "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.4.0", - "lit": "^2.3.0" - } - }, - "node_modules/@lit/localize-tools/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@lit/localize-tools/node_modules/lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/@lit/localize-tools/node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/@lit/react": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.3.tgz", - "integrity": "sha512-RGoPMrAPbFjQFXFbfmYdotw000DyChehTim+d562HRXvFGw//KxouI8jNOcc3Kw/1uqUA1SJqXFtKKxK0NUrww==", - "peerDependencies": { - "@types/react": "17 || 18" - } - }, - "node_modules/@lit/reactive-element": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", - "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" - } - }, - "node_modules/@mdi/js": { - "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", - "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" - }, - "node_modules/@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", - "dev": true, - "dependencies": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": ">=16" - } - }, - "node_modules/@msgpack/msgpack": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.8.0.tgz", - "integrity": "sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ndelangen/get-tarball": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz", - "integrity": "sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==", - "dev": true, - "dependencies": { - "gunzip-maybe": "^1.4.2", - "pump": "^3.0.0", - "tar-fs": "^2.1.1" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@open-wc/dedupe-mixin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.4.0.tgz", - "integrity": "sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA==" - }, - "node_modules/@open-wc/eslint-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@open-wc/eslint-config/-/eslint-config-2.1.0.tgz", - "integrity": "sha512-8qMsWoYP7LRw8C9+svGBx9XTUm10suSAFqn+o6NGrZBCtMJTECtjvu6DVoQKqizey5AZNhtM9bCNQTFGhmfLTg==", - "dev": true, - "dependencies": { - "babel-eslint": "^10.0.3", - "eslint": "^6.7.2", - "eslint-config-airbnb-base": "^14.0.0", - "eslint-plugin-babel": "^5.3.0", - "eslint-plugin-html": "^6.0.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-lit": "^1.2.0", - "eslint-plugin-no-only-tests": "^2.4.0", - "eslint-plugin-wc": "^1.2.0" - }, - "peerDependencies": { - "eslint-plugin-babel": "^5.3.0", - "eslint-plugin-html": "^6.0.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-lit": "^1.2.0", - "eslint-plugin-no-only-tests": "^2.4.0", - "eslint-plugin-wc": "^1.2.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@open-wc/eslint-config/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/@open-wc/eslint-config/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/@open-wc/eslint-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/@open-wc/eslint-config/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@open-wc/eslint-config/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/@open-wc/scoped-elements": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@open-wc/scoped-elements/-/scoped-elements-2.2.4.tgz", - "integrity": "sha512-12X4F4QGPWcvPbxAiJ4v8wQFCOu+laZHRGfTrkoj+3JzACCtuxHG49YbuqVzQ135QPKCuhP9wA0kpGGEfUegyg==", - "dependencies": { - "@lit/reactive-element": "^1.0.0 || ^2.0.0", - "@open-wc/dedupe-mixin": "^1.4.0" - } - }, - "node_modules/@parse5/tools": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@parse5/tools/-/tools-0.3.0.tgz", - "integrity": "sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==", - "dev": true, - "dependencies": { - "parse5": "^7.0.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@radix-ui/number": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", - "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", - "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", - "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-direction": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", - "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", - "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", - "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popper": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", - "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", - "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", - "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", - "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/number": "1.0.1", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.4", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.3", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.2", - "@radix-ui/react-portal": "1.0.3", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-previous": "1.0.1", - "@radix-ui/react-visually-hidden": "1.0.3", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-separator": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", - "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", - "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle-group": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", - "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-toggle": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toolbar": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", - "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-separator": "1.0.3", - "@radix-ui/react-toggle-group": "1.0.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", - "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", - "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", - "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", - "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", - "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@scoped-elements/cytoscape": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@scoped-elements/cytoscape/-/cytoscape-0.2.0.tgz", - "integrity": "sha512-HrC7Pc1SCIHrDTUE883ArvljUENH9FW9qxRwzeXF8LxW5OP2+SaNJSSBaoPztmI15YHOL0aN7uuG9ozRn0EHpA==", - "dependencies": { - "@open-wc/scoped-elements": "^2.0.1", - "@types/cytoscape": "^3.19.0", - "cytoscape": "^3.20.0", - "cytoscape-cola": "^2.5.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-dagre": "^2.3.2", - "cytoscape-klay": "^3.1.4", - "lit": "^2.0.2", - "lodash-es": "^4.17.21" - } - }, - "node_modules/@scoped-elements/cytoscape/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@scoped-elements/cytoscape/node_modules/lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/@scoped-elements/cytoscape/node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/@shoelace-style/animations": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@shoelace-style/animations/-/animations-1.1.0.tgz", - "integrity": "sha512-Be+cahtZyI2dPKRm8EZSx3YJQ+jLvEcn3xzRP7tM4tqBnvd/eW/64Xh0iOf0t2w5P8iJKfdBbpVNE9naCaOf2g==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/claviska" - } - }, - "node_modules/@shoelace-style/localize": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@shoelace-style/localize/-/localize-3.1.2.tgz", - "integrity": "sha512-Hf45HeO+vdQblabpyZOTxJ4ZeZsmIUYXXPmoYrrR4OJ5OKxL+bhMz5mK8JXgl7HsoEowfz7+e248UGi861de9Q==" - }, - "node_modules/@shoelace-style/shoelace": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@shoelace-style/shoelace/-/shoelace-2.14.0.tgz", - "integrity": "sha512-b8HXsSMvKX/9D5yCygnCkAuwZfxYof1+owJx9fYggq/bOAQ8WQcZzMBPTI4amgfwEnFzhRF8ETT+V8w+sptlww==", - "dependencies": { - "@ctrl/tinycolor": "^4.0.2", - "@floating-ui/dom": "^1.5.3", - "@lit/react": "^1.0.0", - "@shoelace-style/animations": "^1.1.0", - "@shoelace-style/localize": "^3.1.2", - "composed-offset-position": "^0.0.4", - "lit": "^3.0.0", - "qr-creator": "^1.0.0" - }, - "engines": { - "node": ">=14.17.0" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/claviska" - } - }, - "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==", - "dev": true - }, - "node_modules/@storybook/addon-actions": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz", - "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "@types/uuid": "^9.0.1", - "dequal": "^2.0.2", - "polished": "^4.2.2", - "uuid": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-backgrounds": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz", - "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-controls": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz", - "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.6.17", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz", - "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/csf-plugin": "7.6.17", - "@storybook/csf-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.6.17", - "@storybook/postinstall": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/react-dom-shim": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/addon-essentials": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz", - "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.6.17", - "@storybook/addon-backgrounds": "7.6.17", - "@storybook/addon-controls": "7.6.17", - "@storybook/addon-docs": "7.6.17", - "@storybook/addon-highlight": "7.6.17", - "@storybook/addon-measure": "7.6.17", - "@storybook/addon-outline": "7.6.17", - "@storybook/addon-toolbars": "7.6.17", - "@storybook/addon-viewport": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/manager-api": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview-api": "7.6.17", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-highlight": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz", - "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz", - "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-measure": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz", - "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz", - "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz", - "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz", - "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==", - "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz", - "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/docs-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "tocbot": "^4.20.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/builder-manager": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz", - "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==", - "dev": true, - "dependencies": { - "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.6.17", - "@storybook/manager": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@types/ejs": "^3.1.1", - "@types/find-cache-dir": "^3.2.1", - "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", - "browser-assert": "^1.2.1", - "ejs": "^3.1.8", - "esbuild": "^0.18.0", - "esbuild-plugin-alias": "^0.2.1", - "express": "^4.17.3", - "find-cache-dir": "^3.0.0", - "fs-extra": "^11.1.0", - "process": "^0.11.10", - "util": "^0.12.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/builder-manager/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/builder-webpack5": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz", - "integrity": "sha512-GMaBd8/RzivuAmWrYSt9Rga3j8WLcu5LCMYiPVs+XKXsKAC8lTkV0WRWh8Nk6wTmfzsRQ2acwFjSG5oE4ClZKA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.2", - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/core-webpack": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@swc/core": "^1.3.82", - "@types/node": "^18.0.0", - "@types/semver": "^7.3.4", - "babel-loader": "^9.0.0", - "browser-assert": "^1.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "cjs-module-lexer": "^1.2.3", - "constants-browserify": "^1.0.0", - "css-loader": "^6.7.1", - "es-module-lexer": "^1.4.1", - "express": "^4.17.3", - "fork-ts-checker-webpack-plugin": "^8.0.0", - "fs-extra": "^11.1.0", - "html-webpack-plugin": "^5.5.0", - "magic-string": "^0.30.5", - "path-browserify": "^1.0.1", - "process": "^0.11.10", - "semver": "^7.3.7", - "style-loader": "^3.3.1", - "swc-loader": "^0.2.3", - "terser-webpack-plugin": "^5.3.1", - "ts-dedent": "^2.0.0", - "url": "^0.11.0", - "util": "^0.12.4", - "util-deprecate": "^1.0.2", - "webpack": "5", - "webpack-dev-middleware": "^6.1.1", - "webpack-hot-middleware": "^2.25.1", - "webpack-virtual-modules": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/builder-webpack5/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/builder-webpack5/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/builder-webpack5/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/builder-webpack5/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/cli": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz", - "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/types": "^7.23.0", - "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/core-server": "7.6.17", - "@storybook/csf-tools": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/telemetry": "7.6.17", - "@storybook/types": "7.6.17", - "@types/semver": "^7.3.4", - "@yarnpkg/fslib": "2.10.3", - "@yarnpkg/libzip": "2.3.0", - "chalk": "^4.1.0", - "commander": "^6.2.1", - "cross-spawn": "^7.0.3", - "detect-indent": "^6.1.0", - "envinfo": "^7.7.3", - "execa": "^5.0.0", - "express": "^4.17.3", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "get-npm-tarball-url": "^2.0.3", - "get-port": "^5.1.1", - "giget": "^1.0.0", - "globby": "^11.0.2", - "jscodeshift": "^0.15.1", - "leven": "^3.1.0", - "ora": "^5.4.1", - "prettier": "^2.8.0", - "prompts": "^2.4.0", - "puppeteer-core": "^2.1.1", - "read-pkg-up": "^7.0.1", - "semver": "^7.3.7", - "strip-json-comments": "^3.0.1", - "tempy": "^1.0.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "bin": { - "getstorybook": "bin/index.js", - "sb": "bin/index.js" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/cli/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@storybook/cli/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/cli/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/codemod": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz", - "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/cross-spawn": "^6.0.2", - "cross-spawn": "^7.0.3", - "globby": "^11.0.2", - "jscodeshift": "^0.15.1", - "lodash": "^4.17.21", - "prettier": "^2.8.0", - "recast": "^0.23.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz", - "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==", - "dev": true, - "dependencies": { - "@radix-ui/react-select": "^1.2.2", - "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/core-client": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz", - "integrity": "sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/preview-api": "7.6.17" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-common": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", - "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/find-cache-dir": "^3.2.1", - "@types/node": "^18.0.0", - "@types/node-fetch": "^2.6.4", - "@types/pretty-hrtime": "^1.0.0", - "chalk": "^4.1.0", - "esbuild": "^0.18.0", - "esbuild-register": "^3.5.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/core-common/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz", - "integrity": "sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==", - "dev": true, - "dependencies": { - "@aw-web-design/x-default-browser": "1.4.126", - "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.6.17", - "@storybook/channels": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.17", - "@storybook/docs-mdx": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/manager": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/telemetry": "7.6.17", - "@storybook/types": "7.6.17", - "@types/detect-port": "^1.3.0", - "@types/node": "^18.0.0", - "@types/pretty-hrtime": "^1.0.0", - "@types/semver": "^7.3.4", - "better-opn": "^3.0.2", - "chalk": "^4.1.0", - "cli-table3": "^0.6.1", - "compression": "^1.7.4", - "detect-port": "^1.3.0", - "express": "^4.17.3", - "fs-extra": "^11.1.0", - "globby": "^11.0.2", - "ip": "^2.0.1", - "lodash": "^4.17.21", - "open": "^8.4.0", - "pretty-hrtime": "^1.0.3", - "prompts": "^2.4.0", - "read-pkg-up": "^7.0.1", - "semver": "^7.3.7", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0", - "util": "^0.12.4", - "util-deprecate": "^1.0.2", - "watchpack": "^2.2.0", - "ws": "^8.2.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/core-server/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/core-server/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/core-server/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/core-server/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/core-webpack": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.17.tgz", - "integrity": "sha512-PyGrFhRM8sTONGwwLWLqBQ1HO+LBnVZ+5TOQO7ejQfdV2FWyNOzjBXm2e5jL/C6XlqiEhmL5pyHEyDBaQJQ3KA==", - "dev": true, - "dependencies": { - "@storybook/core-common": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/node": "^18.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-webpack/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/csf": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.2.tgz", - "integrity": "sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA==", - "dev": true, - "dependencies": { - "type-fest": "^2.19.0" - } - }, - "node_modules/@storybook/csf-plugin": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz", - "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==", - "dev": true, - "dependencies": { - "@storybook/csf-tools": "7.6.17", - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz", - "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/types": "7.6.17", - "fs-extra": "^11.1.0", - "recast": "^0.23.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/docs-mdx": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", - "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", - "dev": true - }, - "node_modules/@storybook/docs-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz", - "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==", - "dev": true, - "dependencies": { - "@storybook/core-common": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", - "@types/doctrine": "^0.0.3", - "assert": "^2.1.0", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", - "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", - "dev": true - }, - "node_modules/@storybook/manager": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz", - "integrity": "sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/manager-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", - "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/mdx2-csf": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz", - "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==", - "dev": true - }, - "node_modules/@storybook/node-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", - "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/postinstall": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz", - "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preset-web-components-webpack": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preset-web-components-webpack/-/preset-web-components-webpack-7.6.17.tgz", - "integrity": "sha512-IBkeEdrlkIH+rSnFd+DPirq4M9DbT6DXbzXZN0G1+VEvLD1LoKcm/EmYclCRsMHD8j1Yghbx8mLK0XBUKt5NMA==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/preset-env": "^7.23.2", - "@storybook/core-webpack": "7.6.17", - "@types/node": "^18.0.0", - "babel-loader": "^7.0.0 || ^8.0.0 || ^9.0.0", - "babel-plugin-bundled-import-meta": "^0.3.1" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "lit": "^2.0.0 || ^3.0.0" - } - }, - "node_modules/@storybook/preset-web-components-webpack/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/preview": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz", - "integrity": "sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preview-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", - "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/react-dom-shim": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz", - "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/router": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", - "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/telemetry": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz", - "integrity": "sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/csf-tools": "7.6.17", - "chalk": "^4.1.0", - "detect-package-manager": "^2.0.1", - "fetch-retry": "^5.0.2", - "fs-extra": "^11.1.0", - "read-pkg-up": "^7.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/telemetry/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/web-components": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.6.17.tgz", - "integrity": "sha512-MtulxKdF1a4EBWDA0BtykZc5MiMiLaaRT3GboBGQE6nllXkJVcvtFqFKQyM/M463JryFSb5JLLczybjduhAP3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-client": "7.6.17", - "@storybook/docs-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "lit": "^2.0.0 || ^3.0.0" - } - }, - "node_modules/@storybook/web-components-webpack5": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/web-components-webpack5/-/web-components-webpack5-7.6.17.tgz", - "integrity": "sha512-NkTlLaLj+m0imZUCIV/klIHRVsamQAxOuioHOZVH+XBHBrH86sHyjTXFKLyjtsXF1l8QAFurUWzCanFXx+BDWg==", - "dev": true, - "dependencies": { - "@babel/preset-env": "^7.23.2", - "@storybook/builder-webpack5": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/preset-web-components-webpack": "7.6.17", - "@storybook/web-components": "7.6.17", - "@types/node": "^18.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "lit": "^2.0.0 || ^3.0.0" - } - }, - "node_modules/@storybook/web-components-webpack5/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@swc/core": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz", - "integrity": "sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.2", - "@swc/core-darwin-x64": "1.4.2", - "@swc/core-linux-arm-gnueabihf": "1.4.2", - "@swc/core-linux-arm64-gnu": "1.4.2", - "@swc/core-linux-arm64-musl": "1.4.2", - "@swc/core-linux-x64-gnu": "1.4.2", - "@swc/core-linux-x64-musl": "1.4.2", - "@swc/core-win32-arm64-msvc": "1.4.2", - "@swc/core-win32-ia32-msvc": "1.4.2", - "@swc/core-win32-x64-msvc": "1.4.2" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz", - "integrity": "sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz", - "integrity": "sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz", - "integrity": "sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz", - "integrity": "sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz", - "integrity": "sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz", - "integrity": "sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz", - "integrity": "sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz", - "integrity": "sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz", - "integrity": "sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz", - "integrity": "sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true - }, - "node_modules/@swc/types": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", - "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", - "dev": true - }, - "node_modules/@tauri-apps/api": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz", - "integrity": "sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==", - "engines": { - "node": ">= 14.6.0", - "npm": ">= 6.6.0", - "yarn": ">= 1.19.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "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==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/chai": { - "version": "4.3.12", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz", - "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==" - }, - "node_modules/@types/chai-subset": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", - "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", - "dependencies": { - "@types/chai": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cytoscape": { - "version": "3.19.16", - "resolved": "https://registry.npmjs.org/@types/cytoscape/-/cytoscape-3.19.16.tgz", - "integrity": "sha512-A3zkjaZ6cOGyqEvrVuC1YUgiRSJhDZOj8Qhd1ALH2/+YxH2za1BOmR4RWQsKYHsc+aMP/IWoqg1COuUbZ39t/g==" - }, - "node_modules/@types/detect-port": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", - "integrity": "sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==", - "dev": true - }, - "node_modules/@types/doctrine": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", - "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", - "dev": true - }, - "node_modules/@types/ejs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", - "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", - "dev": true - }, - "node_modules/@types/emscripten": { - "version": "1.39.10", - "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz", - "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==", - "dev": true - }, - "node_modules/@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "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==", - "dev": true, - "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": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/find-cache-dir": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", - "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", - "dev": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", - "dev": true - }, - "node_modules/@types/mdx": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", - "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/@types/mime-types": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", - "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.11.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.1.tgz", - "integrity": "sha512-oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/@types/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" - }, - "node_modules/@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.2.63", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.63.tgz", - "integrity": "sha512-ppaqODhs15PYL2nGUOaOu2RSCCB4Difu4UFrP4I3NHLloXC/ESQzQMi9nvjfT1+rudd0d2L3fQPJxRSey+rGlQ==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/triple-beam": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", - "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "dev": true - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "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/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vitest/expect": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.5.tgz", - "integrity": "sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==", - "dependencies": { - "@vitest/spy": "0.28.5", - "@vitest/utils": "0.28.5", - "chai": "^4.3.7" - } - }, - "node_modules/@vitest/runner": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.5.tgz", - "integrity": "sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==", - "dependencies": { - "@vitest/utils": "0.28.5", - "p-limit": "^4.0.0", - "pathe": "^1.1.0" - } - }, - "node_modules/@vitest/runner/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==", - "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/@vitest/runner/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/spy": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.5.tgz", - "integrity": "sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==", - "dependencies": { - "tinyspy": "^1.0.2" - } - }, - "node_modules/@vitest/utils": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.5.tgz", - "integrity": "sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==", - "dependencies": { - "cli-truncate": "^3.1.0", - "diff": "^5.1.0", - "loupe": "^2.3.6", - "picocolors": "^1.0.0", - "pretty-format": "^27.5.1" - } - }, - "node_modules/@web/config-loader": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", - "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", - "dev": true, - "dependencies": { - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/config-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@web/config-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@web/config-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/@yarnpkg/esbuild-plugin-pnp": { - "version": "3.0.0-rc.15", - "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", - "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "esbuild": ">=0.10.0" - } - }, - "node_modules/@yarnpkg/fslib": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", - "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", - "dev": true, - "dependencies": { - "@yarnpkg/libzip": "^2.3.0", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" - } - }, - "node_modules/@yarnpkg/fslib/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@yarnpkg/libzip": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", - "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", - "dev": true, - "dependencies": { - "@types/emscripten": "^1.39.6", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" - } - }, - "node_modules/@yarnpkg/libzip/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "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==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "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==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", - "dev": true, - "engines": { - "node": ">= 6.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==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/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==", - "dev": true - }, - "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==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": [ - "node >= 0.8.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==", - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/app-root-dir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", - "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==", - "dev": true - }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "dev": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/archiver-utils/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/archiver-utils/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==", - "dev": true, - "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/archiver-utils/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==", - "dev": true - }, - "node_modules/archiver-utils/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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", - "dev": true, - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.filter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", - "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", - "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", - "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "engines": { - "node": "*" - } - }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dev": true, - "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-loader/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==", - "dev": true, - "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/babel-loader/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==", - "dev": true, - "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/babel-loader/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==", - "dev": true, - "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/babel-loader/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==", - "dev": true, - "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/babel-loader/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==", - "dev": true, - "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/babel-loader/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==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/babel-loader/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==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-plugin-bundled-import-meta": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-bundled-import-meta/-/babel-plugin-bundled-import-meta-0.3.2.tgz", - "integrity": "sha512-RMXzsnWoFHDSUc1X/QiejEwQBtQ0Y68HQZ542JQ4voFa5Sgl5f/D4T7+EOocUeSbiT4XIDbrhfxbH5OmcV8Ibw==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-import-meta": "^7.2.0", - "@babel/template": "^7.7.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "@babel/core": "^7.7.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bestzip": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bestzip/-/bestzip-2.2.1.tgz", - "integrity": "sha512-XdAb87RXqOqF7C6UgQG9IqpEHJvS6IOUo0bXWEAebjSSdhDjsbcqFKdHpn5Q7QHz2pGr3Zmw4wgG3LlzdyDz7w==", - "dev": true, - "dependencies": { - "archiver": "^5.3.0", - "async": "^3.2.0", - "glob": "^7.1.6", - "which": "^2.0.2", - "yargs": "^16.2.0" - }, - "bin": { - "bestzip": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/bestzip/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dev": true, - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, - "node_modules/browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", - "dev": true, - "dependencies": { - "pako": "~0.2.0" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "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" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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==" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001594", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz", - "integrity": "sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==", - "dev": true, - "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" - } - ] - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "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" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "dev": true, - "dependencies": { - "consola": "^3.2.3" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/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==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/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==", - "dev": true - }, - "node_modules/cliui/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/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==", - "dev": true, - "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/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.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==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "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==", - "dev": true, - "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==" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-line-args": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.2.tgz", - "integrity": "sha512-fytTsbndLbl+pPWtS0CxLV3BEWw9wJayB8NnU2cbQqVPsNdYezQeT+uIQv009m+GShnMNyuoBrRo8DTmuTfSCA==", - "dev": true, - "dependencies": { - "array-back": "^6.1.2", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "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==", - "devOptional": true - }, - "node_modules/comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", - "dev": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/composed-offset-position": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/composed-offset-position/-/composed-offset-position-0.0.4.tgz", - "integrity": "sha512-vMlvu1RuNegVE0YsCDSV/X4X10j56mq7PCIyOKK74FxkXzGLwhOUmdkJLSdOBOMwWycobGUMgft2lp+YgTe8hw==" - }, - "node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "dev": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/compression/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==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/concat-stream/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==", - "dev": true, - "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/concat-stream/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==", - "dev": true - }, - "node_modules/concat-stream/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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/concurrently": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", - "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "bin": { - "concurrently": "bin/concurrently.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/concurrently/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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "dev": true, - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "dev": true, - "dependencies": { - "browserslist": "^4.22.3" - }, - "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==", - "dev": true - }, - "node_modules/cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "dependencies": { - "layout-base": "^1.0.0" - } - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", - "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-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "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==", - "dev": true, - "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/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "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==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/custom-elements-manifest": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/custom-elements-manifest/-/custom-elements-manifest-1.0.0.tgz", - "integrity": "sha512-j59k0ExGCKA8T6Mzaq+7axc+KVHwpEphEERU7VZ99260npu/p/9kd+Db+I3cGKxHkM5y6q5gnlXn00mzRQkX2A==", - "dev": true - }, - "node_modules/cytoscape": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", - "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", - "dependencies": { - "heap": "^0.2.6", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cola": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/cytoscape-cola/-/cytoscape-cola-2.5.1.tgz", - "integrity": "sha512-4/2S9bW1LvdsEPmxXN1OEAPFPbk7DvCx2c9d+TblkQAAvptGaSgtPWCByTEGgT8UxCxcVqes2aFPO5pzwo7R2w==", - "dependencies": { - "webcola": "^3.4.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "dependencies": { - "cose-base": "^1.0.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-dagre": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cytoscape-dagre/-/cytoscape-dagre-2.5.0.tgz", - "integrity": "sha512-VG2Knemmshop4kh5fpLO27rYcyUaaDkRw+6PiX4bstpB+QFt0p2oauMrsjVbUamGWQ6YNavh7x2em2uZlzV44g==", - "dependencies": { - "dagre": "^0.8.5" - }, - "peerDependencies": { - "cytoscape": "^3.2.22" - } - }, - "node_modules/cytoscape-klay": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cytoscape-klay/-/cytoscape-klay-3.1.4.tgz", - "integrity": "sha512-VwPj0VR25GPfy6qXVQRi/MYlZM/zkdvRhHlgqbM//lSvstgM6fhp3ik/uM8Wr8nlhskfqz/M1fIDmR6UckbS2A==", - "dependencies": { - "klayjs": "^0.4.1" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" - }, - "node_modules/d3-drag": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", - "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", - "dependencies": { - "d3-dispatch": "1", - "d3-selection": "1" - } - }, - "node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "node_modules/d3-selection": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", - "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==" - }, - "node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" - }, - "node_modules/dagre": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", - "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", - "dependencies": { - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "dev": true - }, - "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==", - "dev": true, - "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/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "dev": true - }, - "node_modules/detect-package-manager": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", - "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", - "dev": true, - "dependencies": { - "execa": "^5.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "dev": true, - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "engines": { - "node": ">=0.3.1" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "utila": "~0.4" - } - }, - "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==", - "dev": true, - "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/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "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/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/duplexify/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==", - "dev": true, - "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/duplexify/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==", - "dev": true - }, - "node_modules/duplexify/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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "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==", - "dev": true - }, - "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.692", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.692.tgz", - "integrity": "sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==", - "dev": true - }, - "node_modules/email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", - "dev": true - }, - "node_modules/emittery": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz", - "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "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==" - }, - "node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", - "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", - "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.1", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.0", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.5", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "dev": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/esbuild-plugin-alias": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", - "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", - "dev": true - }, - "node_modules/esbuild-register": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", - "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", - "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" - } - }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, - "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=3.14.1" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.1.tgz", - "integrity": "sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==", - "dev": true, - "dependencies": { - "eslint-rule-composer": "^0.3.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=4.0.0" - } - }, - "node_modules/eslint-plugin-html": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz", - "integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==", - "dev": true, - "dependencies": { - "htmlparser2": "^7.1.2" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-lit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-lit/-/eslint-plugin-lit-1.11.0.tgz", - "integrity": "sha512-jVqy2juQTAtOzj1ILf+ZW5GpDobXlSw0kvpP2zu2r8ZbW7KISt7ikj1Gw9DhNeirEU1UlSJR0VIWpdr4lzjayw==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "requireindex": "^1.2.0" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "eslint": ">= 5" - } - }, - "node_modules/eslint-plugin-lit/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-plugin-wc": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-wc/-/eslint-plugin-wc-1.5.0.tgz", - "integrity": "sha512-KFSfiHDol/LeV7U6IX8GdgpGf/s3wG8FTG120Rml/hGNB/DkCuGYQhlf0VgdBdf7gweem8Nlsh5o64HNdj+qPA==", - "dev": true, - "dependencies": { - "is-valid-element-name": "^1.0.0", - "js-levenshtein-esm": "^1.2.0" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=4.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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "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==", - "dev": true, - "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/execa/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==", - "dev": true - }, - "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - } - }, - "node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, - "node_modules/fetch-retry": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", - "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", - "dev": true - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-system-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.3.0.tgz", - "integrity": "sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==", - "dev": true, - "dependencies": { - "fs-extra": "11.1.1", - "ramda": "0.29.0" - } - }, - "node_modules/file-system-cache/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-replace/node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.229.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.229.2.tgz", - "integrity": "sha512-T72XV2Izvl7yV6dhHhLaJ630Y6vOZJl6dnOS6dN0bPW9ExuREu7xGAf3omtcxX76POTuux9TJPu9ZpS48a/rdw==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", - "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "fs-extra": "^10.0.0", - "memfs": "^3.4.1", - "minimatch": "^3.0.4", - "node-abort-controller": "^3.0.1", - "schema-utils": "^3.1.1", - "semver": "^7.3.5", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">=12.13.0", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "typescript": ">3.6.0", - "webpack": "^5.11.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "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/fork-ts-checker-webpack-plugin/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-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==", - "dev": true, - "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/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "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==", - "dev": true - }, - "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, - "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==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "engines": { - "node": "*" - } - }, - "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==", - "dev": true, - "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-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-npm-tarball-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz", - "integrity": "sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gh-pages": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz", - "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==", - "dev": true, - "dependencies": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/gh-pages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gh-pages/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/gh-pages/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gh-pages/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/giget": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz", - "integrity": "sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==", - "dev": true, - "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "defu": "^6.1.3", - "node-fetch-native": "^1.6.1", - "nypm": "^0.3.3", - "ohash": "^1.1.3", - "pathe": "^1.1.1", - "tar": "^6.2.0" - }, - "bin": { - "giget": "dist/cli.mjs" - } - }, - "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==", - "dev": true - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dependencies": { - "lodash": "^4.17.15" - } - }, - "node_modules/gunzip-maybe": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", - "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", - "dev": true, - "dependencies": { - "browserify-zlib": "^0.1.4", - "is-deflate": "^1.0.0", - "is-gzip": "^1.0.0", - "peek-stream": "^1.1.0", - "pumpify": "^1.3.3", - "through2": "^2.0.3" - }, - "bin": { - "gunzip-maybe": "bin.js" - } - }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "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==", - "dev": true, - "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/html-minifier-terser/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", - "dev": true, - "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/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "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==", - "dev": true, - "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/https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "dependencies": { - "agent-base": "5", - "debug": "4" - }, - "engines": { - "node": ">= 6.0.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/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==", - "dev": true - }, - "node_modules/inquirer/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-deflate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", - "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", - "dev": true - }, - "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==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "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==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-valid-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-element-name/-/is-valid-element-name-1.0.0.tgz", - "integrity": "sha512-GZITEJY2LkSjQfaIPBha7eyZv+ge0PhBR7KITeCCWvy7VBQrCUdFkvpI+HrAPQjVtVjy1LvlEkqQTHckoszruw==", - "dev": true, - "dependencies": { - "is-potential-custom-element-name": "^1.0.0" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-ws": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", - "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-base64": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", - "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==" - }, - "node_modules/js-levenshtein-esm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/js-levenshtein-esm/-/js-levenshtein-esm-1.2.0.tgz", - "integrity": "sha512-fzreKVq1eD7eGcQr7MtRpQH94f8gIfhdrc7yeih38xh684TNMK9v5aAu2wxfIRMk/GpAJRrzcirMAPIaSDaByQ==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jscodeshift": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", - "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/preset-flow": "^7.22.15", - "@babel/preset-typescript": "^7.23.0", - "@babel/register": "^7.22.15", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.23.3", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - }, - "peerDependenciesMeta": { - "@babel/preset-env": { - "optional": true - } - } - }, - "node_modules/jscodeshift/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==", - "dev": true - }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonschema": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", - "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klayjs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/klayjs/-/klayjs-0.4.1.tgz", - "integrity": "sha512-WUNxuO7O79TEkxCj6OIaK5TJBkaWaR/IKNTakgV9PwDn+mrr63MLHed34AcE2yTaDntgO6l0zGFIzhcoTeroTA==" - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, - "node_modules/layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" - }, - "node_modules/lazy-universal-dotenv": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz", - "integrity": "sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==", - "dev": true, - "dependencies": { - "app-root-dir": "^1.0.2", - "dotenv": "^16.0.0", - "dotenv-expand": "^10.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/lazystream/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==", - "dev": true, - "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/lazystream/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==", - "dev": true - }, - "node_modules/lazystream/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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libsodium": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.13.tgz", - "integrity": "sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==" - }, - "node_modules/libsodium-wrappers": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.13.tgz", - "integrity": "sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==", - "dependencies": { - "libsodium": "^0.7.13" - } - }, - "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==", - "dev": true - }, - "node_modules/lit": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.2.tgz", - "integrity": "sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==", - "dependencies": { - "@lit/reactive-element": "^2.0.4", - "lit-element": "^4.0.4", - "lit-html": "^3.1.2" - } - }, - "node_modules/lit-element": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.4.tgz", - "integrity": "sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", - "@lit/reactive-element": "^2.0.4", - "lit-html": "^3.1.2" - } - }, - "node_modules/lit-element/node_modules/lit-html": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.2.tgz", - "integrity": "sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/lit-svelte-stores": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/lit-svelte-stores/-/lit-svelte-stores-0.3.2.tgz", - "integrity": "sha512-igOf4kFdpCTT+dtRJXbfhNWvNOn849MUfFJTQALE7LUsMLwaoCSvUa0DDFpTHqeMS4EjW5GEOycMy5AR+BH3PA==", - "dependencies": { - "lit": "^3.0.0", - "lodash-es": "^4.17.21", - "svelte": "^3.38.3" - } - }, - "node_modules/lit/node_modules/lit-html": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.2.tgz", - "integrity": "sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "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==" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "dev": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/logform": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", - "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", - "dependencies": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/logform/node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", - "engines": { - "node": ">=0.1.90" - } - }, - "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==", - "dev": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "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==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", - "dev": true - }, - "node_modules/markdown-to-jsx": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz", - "integrity": "sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==", - "dev": true, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "dev": true, - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", - "dev": true, - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "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==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "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==", - "dev": true, - "dependencies": { - "mime-db": "1.52.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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "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==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mlly": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", - "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } - }, - "node_modules/mlly/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nanoassert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/new-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/new-port/-/new-port-1.0.0.tgz", - "integrity": "sha512-2rEL1cZj78LekYSfYHDGP7lIhrCauYbPy92QvEyfJcNzrXIuDjEMWlpxrgGic2BNM7S+viHn8ajuYx0b9UlJJQ==", - "dev": true - }, - "node_modules/new-port-cli": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/new-port-cli/-/new-port-cli-1.0.0.tgz", - "integrity": "sha512-9uMPTw2loJJ5423n4GT2uW7y12IeqiLiuUsNaXHZb3pBWNQ/pCnSi8nJ/EHBEBO58FQszvH2YCMDoCh7pnXN4Q==", - "dev": true, - "dependencies": { - "new-port": "^1.0.0" - }, - "bin": { - "new-port": "bin/port.js", - "newport": "bin/port.js", - "port": "bin/port.js" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "dev": true - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nypm": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", - "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", - "dev": true, - "dependencies": { - "citty": "^0.1.6", - "consola": "^3.2.3", - "execa": "^8.0.1", - "pathe": "^1.1.2", - "ufo": "^1.4.0" - }, - "bin": { - "nypm": "dist/cli.mjs" - }, - "engines": { - "node": "^14.16.0 || >=16.10.0" - } - }, - "node_modules/nypm/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/nypm/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/nypm/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nypm/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", - "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", - "dev": true, - "dependencies": { - "array.prototype.filter": "^1.0.3", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.0.0" - } - }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dependencies": { - "fn.name": "1.x.x" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "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==", - "dev": true, - "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/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/orderedmap": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", - "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "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==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "dev": true - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, - "node_modules/peek-stream": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", - "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "duplexify": "^3.5.0", - "through2": "^2.0.3" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "node_modules/polished": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", - "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "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" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "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==", - "dev": true, - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "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==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prosemirror-commands": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", - "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-keymap": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", - "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", - "dependencies": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "node_modules/prosemirror-model": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.4.tgz", - "integrity": "sha512-RPmVXxUfOhyFdayHawjuZCxiROsm9L4FCUA6pWI+l7n2yCBsWy9VpdE1hpDHUS8Vad661YLY9AzqfjLhAKQ4iQ==", - "dependencies": { - "orderedmap": "^2.0.0" - } - }, - "node_modules/prosemirror-state": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", - "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.27.0" - } - }, - "node_modules/prosemirror-transform": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.8.0.tgz", - "integrity": "sha512-BaSBsIMv52F1BVVMvOmp1yzD3u65uC3HTzCBQV1WDPqJRQ2LuHKcyfn0jwqodo8sR9vVzMzZyI+Dal5W9E6a9A==", - "dependencies": { - "prosemirror-model": "^1.0.0" - } - }, - "node_modules/prosemirror-view": { - "version": "1.33.1", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.1.tgz", - "integrity": "sha512-62qkYgSJIkwIMMCpuGuPzc52DiK1Iod6TWoIMxP4ja6BTD4yO8kCUL64PZ/WhH/dJ9fW0CDO39FhH1EMyhUFEg==", - "dependencies": { - "prosemirror-model": "^1.16.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/puppeteer-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", - "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", - "dev": true, - "dependencies": { - "@types/mime-types": "^2.1.0", - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^4.0.0", - "mime": "^2.0.3", - "mime-types": "^2.1.25", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" - }, - "engines": { - "node": ">=8.16.0" - } - }, - "node_modules/puppeteer-core/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/puppeteer-core/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/puppeteer-core/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/qr-creator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz", - "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==" - }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dev": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-colorful": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", - "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", - "dev": true, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dev": true, - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", - "dev": true, - "dependencies": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz", - "integrity": "sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==", - "dev": true, - "dependencies": { - "react-style-singleton": "^2.2.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", - "dev": true, - "dependencies": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dev": true, - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recast": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.5.tgz", - "integrity": "sha512-M67zIddJiwXdfPQRYKJ0qZO1SLdH1I0hYeb0wzxA+pNOvAZiQHulWzuk+fYsEWRQ8VfZrgjyucqsCOtCyM01/A==", - "dev": true, - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-external-links": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", - "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", - "dev": true, - "dependencies": { - "extend": "^3.0.0", - "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^4.0.0", - "space-separated-tokens": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", - "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==", - "dev": true, - "dependencies": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^2.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==", - "dev": true, - "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/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "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==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/requireindex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", - "dev": true, - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "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-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor/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==", - "dev": true - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dev": true, - "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==", - "dev": true, - "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/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/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==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/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==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/send/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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/sort-keys": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", - "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", - "dependencies": { - "is-plain-obj": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "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==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", - "engines": { - "node": "*" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - }, - "node_modules/store2": { - "version": "2.14.3", - "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz", - "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==", - "dev": true - }, - "node_modules/storybook": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz", - "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==", - "dev": true, - "dependencies": { - "@storybook/cli": "7.6.17" - }, - "bin": { - "sb": "index.js", - "storybook": "index.js" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", - "dev": true - }, - "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==", - "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==", - "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-cjs": { - "name": "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/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==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "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==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", - "dependencies": { - "acorn": "^8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svelte": { - "version": "3.59.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.59.2.tgz", - "integrity": "sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/swc-loader": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", - "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", - "dev": true, - "dependencies": { - "@swc/counter": "^0.1.3" - }, - "peerDependencies": { - "@swc/core": "^1.2.147", - "webpack": ">=2" - } - }, - "node_modules/synchronous-promise": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", - "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", - "dev": true - }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/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==", - "dev": true - }, - "node_modules/table/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==", - "dev": true - }, - "node_modules/table/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/telejson": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", - "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", - "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" - } - }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dev": true, - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/temp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/tempy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", - "dev": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.28.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", - "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", - "devOptional": true, - "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==", - "dev": true, - "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/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==", - "dev": true, - "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/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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "devOptional": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/tests": { - "resolved": "tests", - "link": true - }, - "node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "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==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/through2/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==", - "dev": true, - "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/through2/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==", - "dev": true - }, - "node_modules/through2/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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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==", - "dev": true - }, - "node_modules/tinybench": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", - "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" - }, - "node_modules/tinypool": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", - "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz", - "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tocbot": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz", - "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/triple-beam": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", - "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true, - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", - "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "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==", - "dev": true, - "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.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dev": true, - "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/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==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unplugin": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.8.1.tgz", - "integrity": "sha512-NDAvOEnZmeSRRmjfD0FoLzfve2/9lqceO5bR4J/2V72zphnFdq7UYo3fg6F1y1HfZEaSHa+7bZgbEN+z5x8ZDQ==", - "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "chokidar": "^3.6.0", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.6.1" - } - }, - "node_modules/unplugin/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/unplugin/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "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/unplugin/node_modules/webpack-virtual-modules": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", - "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==", - "dev": true - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "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" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", - "dev": true, - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.2" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/use-callback-ref": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz", - "integrity": "sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==", - "dev": true, - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-resize-observer": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", - "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", - "dev": true, - "dependencies": { - "@juggle/resize-observer": "^3.3.1" - }, - "peerDependencies": { - "react": "16.8.0 - 18", - "react-dom": "16.8.0 - 18" - } - }, - "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", - "dev": true, - "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "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==" - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz", - "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.5.tgz", - "integrity": "sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "mlly": "^1.1.0", - "pathe": "^1.1.0", - "picocolors": "^1.0.0", - "source-map": "^0.6.1", - "source-map-support": "^0.5.21", - "vite": "^3.0.0 || ^4.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": ">=v14.16.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/vite-plugin-checker": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.5.6.tgz", - "integrity": "sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "ansi-escapes": "^4.3.0", - "chalk": "^4.1.1", - "chokidar": "^3.5.1", - "commander": "^8.0.0", - "fast-glob": "^3.2.7", - "fs-extra": "^11.1.0", - "lodash.debounce": "^4.0.8", - "lodash.pick": "^4.4.0", - "npm-run-path": "^4.0.1", - "strip-ansi": "^6.0.0", - "tiny-invariant": "^1.1.0", - "vscode-languageclient": "^7.0.0", - "vscode-languageserver": "^7.0.0", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-uri": "^3.0.2" - }, - "engines": { - "node": ">=14.16" - }, - "peerDependencies": { - "eslint": ">=7", - "meow": "^9.0.0", - "optionator": "^0.9.1", - "stylelint": ">=13", - "typescript": "*", - "vite": ">=2.0.0", - "vls": "*", - "vti": "*", - "vue-tsc": "*" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "meow": { - "optional": true - }, - "optionator": { - "optional": true - }, - "stylelint": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vls": { - "optional": true - }, - "vti": { - "optional": true - }, - "vue-tsc": { - "optional": true - } - } - }, - "node_modules/vite-plugin-checker/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/vite-plugin-checker/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==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/vitest": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.5.tgz", - "integrity": "sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==", - "dependencies": { - "@types/chai": "^4.3.4", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.28.5", - "@vitest/runner": "0.28.5", - "@vitest/spy": "0.28.5", - "@vitest/utils": "0.28.5", - "acorn": "^8.8.1", - "acorn-walk": "^8.2.0", - "cac": "^6.7.14", - "chai": "^4.3.7", - "debug": "^4.3.4", - "local-pkg": "^0.4.2", - "pathe": "^1.1.0", - "picocolors": "^1.0.0", - "source-map": "^0.6.1", - "std-env": "^3.3.1", - "strip-literal": "^1.0.0", - "tinybench": "^2.3.1", - "tinypool": "^0.3.1", - "tinyspy": "^1.0.2", - "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.28.5", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": ">=v14.16.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/vscode-jsonrpc": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", - "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", - "dev": true, - "engines": { - "node": ">=8.0.0 || >=10.0.0" - } - }, - "node_modules/vscode-languageclient": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", - "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4", - "semver": "^7.3.4", - "vscode-languageserver-protocol": "3.16.0" - }, - "engines": { - "vscode": "^1.52.0" - } - }, - "node_modules/vscode-languageclient/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/vscode-languageclient/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/vscode-languageclient/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/vscode-languageserver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", - "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", - "dev": true, - "dependencies": { - "vscode-languageserver-protocol": "3.16.0" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", - "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", - "dev": true, - "dependencies": { - "vscode-jsonrpc": "6.0.0", - "vscode-languageserver-types": "3.16.0" - } - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", - "dev": true - }, - "node_modules/vscode-languageserver-types": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", - "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", - "dev": true - }, - "node_modules/vscode-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", - "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", - "dev": true - }, - "node_modules/w3c-keyname": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webcola": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webcola/-/webcola-3.4.0.tgz", - "integrity": "sha512-4BiLXjXw3SJHo3Xd+rF+7fyClT6n7I+AR6TkBqyQ4kTsePSAMDLRCXY1f3B/kXJeP9tYn4G1TblxTO+jAt0gaw==", - "dependencies": { - "d3-dispatch": "^1.0.3", - "d3-drag": "^1.0.4", - "d3-shape": "^1.3.5", - "d3-timer": "^1.0.5" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "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.9", - "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.0", - "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-dev-middleware": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", - "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.12", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/webpack-hot-middleware": { - "version": "2.26.1", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz", - "integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==", - "dev": true, - "dependencies": { - "ansi-html-community": "0.0.8", - "html-entities": "^2.1.0", - "strip-ansi": "^6.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==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-virtual-modules": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", - "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", - "dev": true - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "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==", - "dev": true, - "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/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/winston": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz", - "integrity": "sha512-OwbxKaOlESDi01mC9rkM0dQqQt2I8DAUMRLZ/HpbwvDXm85IryEHgoogy5fziQy38PntgZsLlhAYHz//UPHZ5w==", - "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston-transport": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", - "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", - "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston/node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "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==", - "dev": true, - "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-cjs": { - "name": "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==", - "dev": true, - "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/wrap-ansi-cjs/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==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/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==", - "dev": true - }, - "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/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==", - "dev": true - }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "dev": true, - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "dev": true, - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - } - }, - "tests": { - "dependencies": { - "@holochain-open-dev/stores": "^0.8.11", - "@holochain-open-dev/utils": "^0.16.0", - "@holochain/client": "^0.17.0-dev.3", - "@holochain/tryorama": "^0.16.0-dev.0", - "@msgpack/msgpack": "^2.7.0", - "typescript": "^4.9.4", - "vitest": "^0.28.4" - } - }, - "ui": { - "name": "@holochain-open-dev/profiles", - "version": "0.17.2", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@holochain-open-dev/elements": "^0.8.3", - "@holochain-open-dev/stores": "^0.8.11", - "@holochain-open-dev/utils": "^0.16.2", - "@holochain/client": "^0.17.0-dev.7", - "@lit/context": "^1.0.1", - "@lit/localize": "^0.12.0", - "@mdi/js": "^7.1.96", - "@shoelace-style/shoelace": "^2.11.0", - "lit": "^3.0.2" - }, - "devDependencies": { - "@custom-elements-manifest/analyzer": "^0.5.7", - "@lit/localize-tools": "^0.6.3", - "@open-wc/eslint-config": "^2.0.0", - "@types/node": "14.11.1", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", - "bestzip": "^2.2.1", - "concurrently": "^5.1.0", - "deepmerge": "^3.2.0", - "eslint": "^7.1.0", - "eslint-config-prettier": "^6.11.0", - "prettier": "^2.0.4", - "tslib": "^2.0.0", - "typescript": "^4.9.0", - "vite": "^4.0.4", - "vite-plugin-checker": "^0.5.3" - } - }, - "ui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "ui/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "ui/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "ui/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "ui/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "ui/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "ui/node_modules/concurrently": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.3.0.tgz", - "integrity": "sha512-8MhqOB6PWlBfA2vJ8a0bSFKATOdWlHiQlk11IfmQBPaHVP8oP2gsh2MObE6UR3hqDHqvaIvLTyceNW6obVuFHQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "date-fns": "^2.0.1", - "lodash": "^4.17.15", - "read-pkg": "^4.0.1", - "rxjs": "^6.5.2", - "spawn-command": "^0.0.2-1", - "supports-color": "^6.1.0", - "tree-kill": "^1.2.2", - "yargs": "^13.3.0" - }, - "bin": { - "concurrently": "bin/concurrently.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "ui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "ui/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "ui/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==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "ui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "ui/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==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "ui/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "ui/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "ui/node_modules/read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha512-+UBirHHDm5J+3WDmLBZYSklRYg82nMlz+enn+GMZ22nSR2f4bzxmhso6rzQW/3mT2PVzpzDTiYIZahk8UmZ44w==", - "dev": true, - "dependencies": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "ui/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "ui/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "ui/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } + "name": "@holochain-open-dev/profiles-dev", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@holochain-open-dev/profiles-dev", + "workspaces": [ + "ui", + "tests", + "docs" + ], + "devDependencies": { + "@eslint/js": "^8.0.0", + "@holochain-playground/cli": "^0.1.0", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "concurrently": "^6.2.1", + "eslint": "^8.0.0", + "eslint-config-prettier": "^9.1.0", + "new-port-cli": "^1.0.0", + "prettier": "^3.2.5", + "typescript": "^5.4.5", + "typescript-eslint": "^7.7.0" + } + }, + "docs": { + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "api-viewer-element": "^1.0.0-pre.8", + "vitepress": "^1.0.1", + "vitepress-plugin-mermaid": "^2.0.16" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", + "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", + "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", + "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", + "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", + "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", + "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", + "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", + "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.23.3" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", + "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", + "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", + "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", + "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@api-viewer/common": { + "version": "1.0.0-pre.10", + "resolved": "https://registry.npmjs.org/@api-viewer/common/-/common-1.0.0-pre.10.tgz", + "integrity": "sha512-6quixfdtbQ0oF3QIfm20+Fj+ODusYrssjBNQsCiXj3qwFsRmNVGfwdKvBXuH3y022NYgq0dgwADVPOm8SXLj7A==", + "dev": true, + "dependencies": { + "custom-elements-manifest": "^2.0.0", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@api-viewer/common/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@api-viewer/common/node_modules/custom-elements-manifest": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/custom-elements-manifest/-/custom-elements-manifest-2.1.0.tgz", + "integrity": "sha512-4TU+YhBQpCGYWonsZVTOPx6aYJXenOiSRT7TNGvDB7ipa4SZSJKed1DYXG77XKL9JFZ86sDSDVkwgv1mqw3V3A==", + "dev": true + }, + "node_modules/@api-viewer/common/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/common/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/common/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@api-viewer/common/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@api-viewer/demo": { + "version": "1.0.0-pre.10", + "resolved": "https://registry.npmjs.org/@api-viewer/demo/-/demo-1.0.0-pre.10.tgz", + "integrity": "sha512-OCXYrGKfhmFb7mtggBR+PmLphgT3ReAGP+sm/j7Y6SKbBGRKz3eh9I21awKD7IH//XpvniOrFf3JR1pog2pF9g==", + "dev": true, + "dependencies": { + "@api-viewer/common": "^1.0.0-pre.10", + "@api-viewer/tabs": "^1.0.0-pre.10", + "highlight-ts": "9.12.1-2", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@api-viewer/demo/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@api-viewer/demo/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/demo/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/demo/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@api-viewer/demo/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@api-viewer/docs": { + "version": "1.0.0-pre.10", + "resolved": "https://registry.npmjs.org/@api-viewer/docs/-/docs-1.0.0-pre.10.tgz", + "integrity": "sha512-aumoinYm1yOCqBa+pqEk5qk32r4lEAni22TBp+JGRHnOIHBeQAzNFT89wtZye4v1vitM67YFZaEJX1dh5BzVBg==", + "dev": true, + "dependencies": { + "@api-viewer/common": "^1.0.0-pre.10", + "@api-viewer/tabs": "^1.0.0-pre.10", + "@types/dompurify": "^2.3.1", + "@types/marked": "^4.0.0", + "dompurify": "^2.3.3", + "lit": "^2.0.0", + "marked": "^4.0.10", + "tslib": "^2.3.1" + } + }, + "node_modules/@api-viewer/docs/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@api-viewer/docs/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/docs/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@api-viewer/docs/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@api-viewer/docs/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@api-viewer/tabs": { + "version": "1.0.0-pre.10", + "resolved": "https://registry.npmjs.org/@api-viewer/tabs/-/tabs-1.0.0-pre.10.tgz", + "integrity": "sha512-yLjUvGfg64S0BANfZuA0buBoK2WStiGQnsqvTuAge0zuzWGT6+Qoh4SSyKQwfPRJOAqPvVkuPSVqZFqN2itLug==", + "dev": true, + "dependencies": { + "@api-viewer/common": "^1.0.0-pre.10" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name/node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration/node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.6.tgz", + "integrity": "sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bitgo/blake2b": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@bitgo/blake2b/-/blake2b-3.2.4.tgz", + "integrity": "sha512-46PEgEVPxecNJ/xczggIllSxIkFIvvbVM0OfIDdNJ5qpFHUeBCkNIiGdzC3fYZlsv7bVTdUZOj79GcFBLMYBqA==", + "dependencies": { + "@bitgo/blake2b-wasm": "^3.2.3", + "nanoassert": "^2.0.0" + } + }, + "node_modules/@bitgo/blake2b-wasm": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@bitgo/blake2b-wasm/-/blake2b-wasm-3.2.3.tgz", + "integrity": "sha512-NaurBrMaEpjfg7EdUJgW/c6byt27O6q1ZaxB5Ita10MjjYjUu0SyYF4q7JPNxpHF/lMxb0YZakOxigbDBu9Jjw==", + "dependencies": { + "nanoassert": "^1.0.0" + } + }, + "node_modules/@bitgo/blake2b-wasm/node_modules/nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==" + }, + "node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "dev": true + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz", + "integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@custom-elements-manifest/analyzer": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@custom-elements-manifest/analyzer/-/analyzer-0.5.7.tgz", + "integrity": "sha512-pKQM0dAUPAaoAWJvPSpFtxAc1/pi0xb8wKYSUJbCBYwWA5L8vf/UowDaV0m9G3CtbiqkHI/4eKzFAqE14iY6vg==", + "dev": true, + "dependencies": { + "@web/config-loader": "0.1.3", + "chokidar": "3.5.2", + "command-line-args": "5.1.2", + "comment-parser": "1.2.4", + "custom-elements-manifest": "1.0.0", + "debounce": "1.2.1", + "globby": "11.0.4", + "typescript": "~4.3.2" + }, + "bin": { + "cem": "index.js", + "custom-elements-manifest": "index.js" + } + }, + "node_modules/@custom-elements-manifest/analyzer/node_modules/typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.6.0", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" + }, + "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/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", + "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, + "node_modules/@holo-host/identicon": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@holo-host/identicon/-/identicon-0.1.0.tgz", + "integrity": "sha512-Dn5pTV/m3XaK1Zvq3liw/vQUt7goM7Y84x2zUyH8cb9CNMs4kPCNHs3kalbJZ/ymzFvwcdiLwwNW8AKk+WWN5A==" + }, + "node_modules/@holochain-open-dev/elements": { + "version": "0.300.1", + "resolved": "https://registry.npmjs.org/@holochain-open-dev/elements/-/elements-0.300.1.tgz", + "integrity": "sha512-i0BYvrM+aKFlyiNQ02mkqTElLxQ4AFM0nBs4whXrb/p7XU/SQm0dApieEGMsTgtZu8cI/ZgmPzi6qQSduXXLPA==", + "dependencies": { + "@holo-host/identicon": "^0.1.0", + "@holochain/client": "^0.17.1", + "@lit-labs/router": "^0.1.3", + "@lit/localize": "^0.12.0", + "@mdi/js": "^7.1.96", + "@shoelace-style/shoelace": "^2.11.0", + "lit": "^3.0.2", + "prosemirror-commands": "^1.5.2", + "prosemirror-keymap": "^1.2.2", + "prosemirror-state": "^1.4.3", + "prosemirror-view": "^1.31.3" + } + }, + "node_modules/@holochain-open-dev/profiles": { + "resolved": "ui", + "link": true + }, + "node_modules/@holochain-open-dev/signals": { + "version": "0.300.6", + "resolved": "https://registry.npmjs.org/@holochain-open-dev/signals/-/signals-0.300.6.tgz", + "integrity": "sha512-59szV9r2JARGfxbYA59ft9+CdlhiL/BEPNBxsBv7KEqfBZsRJq7gJZlhbV6dvD+ks5yDNtrxCEcmqQP6JSbktw==", + "dependencies": { + "@holochain-open-dev/utils": "^0.300.2", + "@holochain/client": "^0.17.1", + "@shoelace-style/shoelace": "^2.11.2", + "async-signals": "^0.1.10", + "lit-signal-watcher": "^0.1.1", + "signal-polyfill": "^0.1.1" + } + }, + "node_modules/@holochain-open-dev/utils": { + "version": "0.300.2", + "resolved": "https://registry.npmjs.org/@holochain-open-dev/utils/-/utils-0.300.2.tgz", + "integrity": "sha512-wdJtqUAsiYmKNPLVfrAX6rP+ufF844v7bKGu1y5l1zQuMdGWPGkH43FUIy5xe6NrWWY2pz3W8D/IyXc8mnBc1w==", + "dependencies": { + "@holochain/client": "^0.17.1", + "@msgpack/msgpack": "^2.8.0", + "blakejs": "^1.2.1", + "emittery": "^1.0.1", + "lodash-es": "^4.17.21", + "sort-keys": "^5.0.0" + } + }, + "node_modules/@holochain-playground/cli": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@holochain-playground/cli/-/cli-0.1.1.tgz", + "integrity": "sha512-JbapAe+uBaec52rTePjdlP0mq3zQhJG/hrdbCd+eecZLA3cXWEGgISR5YwLtx6udN+0ghCDH4U6KILjPiwWZMg==", + "dev": true, + "bin": { + "holochain-playground": "dist/app.js" + } + }, + "node_modules/@holochain/client": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@holochain/client/-/client-0.17.1.tgz", + "integrity": "sha512-Jvh6DN+OdktV3KQH+tioRzvPT+LWJFBp1klMFG9vaccphIVvJN1LepJfRB8OyxW5iGAZ/TFCTwF19XSJuM1fQQ==", + "dependencies": { + "@bitgo/blake2b": "^3.2.4", + "@holochain/serialization": "^0.1.0-beta-rc.3", + "@msgpack/msgpack": "^2.8.0", + "emittery": "^1.0.1", + "isomorphic-ws": "^5.0.0", + "js-base64": "^3.7.5", + "libsodium-wrappers": "^0.7.13", + "lodash-es": "^4.17.21", + "ws": "^8.14.2" + }, + "engines": { + "node": ">=18.0.0 || >=20.0.0" + } + }, + "node_modules/@holochain/serialization": { + "version": "0.1.0-beta-rc.3", + "resolved": "https://registry.npmjs.org/@holochain/serialization/-/serialization-0.1.0-beta-rc.3.tgz", + "integrity": "sha512-DJx4V2KXHVLciyOGjOYKTM/JLBpBEZ3RsPIRCgf7qmwhQdxXvhi2p+oFFRD51yUT5uC1/MzIVeJCl/R60PwFbw==" + }, + "node_modules/@holochain/tryorama": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@holochain/tryorama/-/tryorama-0.16.0.tgz", + "integrity": "sha512-5cp01iHqj/DL7cujXanZ85x4M9LZj27k333qGJUg1JfBJ5kfS89kdQLGIM6h97lvuBqqkhTL4pq7M2Mo6MLe8A==", + "dependencies": { + "@holochain/client": "^0.17.0-rc.0", + "get-port": "^6.1.2", + "lodash": "^4.17.21", + "uuid": "^8.3.2", + "winston": "^3.8.2", + "ws": "^8.11.0" + }, + "engines": { + "node": ">=18.0.0 || >=20.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "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==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "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==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lit-labs/router": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@lit-labs/router/-/router-0.1.3.tgz", + "integrity": "sha512-G+HHo57KsArG58LOI8DLtipFfC9tVV4lGaDy2I8hYQvS2P/pV5wQObrpFYPZswse8D47y8VuHNXNdVPQOVc5MA==", + "dependencies": { + "lit": "^2.0.0 || ^3.0.0" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", + "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==" + }, + "node_modules/@lit/context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.1.tgz", + "integrity": "sha512-q/Rw7oWSJidUP43f/RUPwqZ6f5VlY8HzinTWxL/gW1Hvm2S5q2hZvV+qM8WFcC+oLNNknc3JKsd5TwxLk1hbdg==", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.0.0" + } + }, + "node_modules/@lit/localize": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@lit/localize/-/localize-0.12.1.tgz", + "integrity": "sha512-uuF6OO6fjqomCf3jXsJ5cTGf1APYuN88S4Gvo/fjt9YkG4OMaMvpEUqd5oWhyzrJfY+HcenAbLJNi2Cq3H7gdg==", + "dependencies": { + "lit": "^2.0.0 || ^3.0.0" + } + }, + "node_modules/@lit/localize-tools": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/@lit/localize-tools/-/localize-tools-0.6.10.tgz", + "integrity": "sha512-RUzduIRMBdKhCNT9TpcZN6WQ4iDkBnManDBn8WURR8XrI8JJBGx6zUAYsSV2VwpuSJfAu3kIFmuSfa8/8XACow==", + "dev": true, + "dependencies": { + "@lit/localize": "^0.11.0", + "@parse5/tools": "^0.3.0", + "@xmldom/xmldom": "^0.8.2", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "jsonschema": "^1.4.0", + "lit": "^2.7.0", + "minimist": "^1.2.5", + "parse5": "^7.1.1", + "source-map-support": "^0.5.19", + "typescript": "^4.7.4" + }, + "bin": { + "lit-localize": "bin/lit-localize.js" + } + }, + "node_modules/@lit/localize-tools/node_modules/@lit/localize": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/@lit/localize/-/localize-0.11.4.tgz", + "integrity": "sha512-RRIwIX2tAm3+DuEndoXSJrFjGrAK5cb5IXo5K6jcJ6sbgD829B8rSqHC5MaKVUmXTVLIR1bk5IZOZDf9wFereA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.4.0", + "lit": "^2.3.0" + } + }, + "node_modules/@lit/localize-tools/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@lit/localize-tools/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@lit/localize-tools/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@lit/localize-tools/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@lit/localize-tools/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@lit/react": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.5.tgz", + "integrity": "sha512-RSHhrcuSMa4vzhqiTenzXvtQ6QDq3hSPsnHHO3jaPmmvVFeoNNm4DHoQ0zLdKAUvY3wP3tTENSUf7xpyVfrDEA==", + "peerDependencies": { + "@types/react": "17 || 18" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", + "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0" + } + }, + "node_modules/@mdi/js": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", + "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" + }, + "node_modules/@mermaid-js/mermaid-mindmap": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz", + "integrity": "sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw==", + "dev": true, + "optional": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.0.0", + "khroma": "^2.0.0", + "non-layered-tidy-tree-layout": "^2.0.2" + } + }, + "node_modules/@msgpack/msgpack": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.8.0.tgz", + "integrity": "sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==", + "engines": { + "node": ">= 10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parse5/tools": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@parse5/tools/-/tools-0.3.0.tgz", + "integrity": "sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.6.2.tgz", + "integrity": "sha512-guW5JeDzZ7uwOjTfCOFZ2VtVXk5tmkMzBYbKGfXsmAH1qYOej49L5jQDcGmwd6/OgvpmWhzO2GNJkQIFnbwLPQ==", + "dev": true + }, + "node_modules/@shikijs/transformers": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.6.2.tgz", + "integrity": "sha512-ndqTWyHnxmsLkowhKWTam26opw8hg5a34y6FAUG/Xf6E49n3MM//nenKxXiWpPYkNPl1KZnYXB1k+Ia46wjOZg==", + "dev": true, + "dependencies": { + "shiki": "1.6.2" + } + }, + "node_modules/@shoelace-style/animations": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@shoelace-style/animations/-/animations-1.1.0.tgz", + "integrity": "sha512-Be+cahtZyI2dPKRm8EZSx3YJQ+jLvEcn3xzRP7tM4tqBnvd/eW/64Xh0iOf0t2w5P8iJKfdBbpVNE9naCaOf2g==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/claviska" + } + }, + "node_modules/@shoelace-style/localize": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@shoelace-style/localize/-/localize-3.1.2.tgz", + "integrity": "sha512-Hf45HeO+vdQblabpyZOTxJ4ZeZsmIUYXXPmoYrrR4OJ5OKxL+bhMz5mK8JXgl7HsoEowfz7+e248UGi861de9Q==" + }, + "node_modules/@shoelace-style/shoelace": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@shoelace-style/shoelace/-/shoelace-2.15.1.tgz", + "integrity": "sha512-3ecUw8gRwOtcZQ8kWWkjk4FTfObYQ/XIl3aRhxprESoOYV1cYhloYPsmQY38UoL3+pwJiZb5+LzX0l3u3Zl0GA==", + "dependencies": { + "@ctrl/tinycolor": "^4.0.2", + "@floating-ui/dom": "^1.5.3", + "@lit/react": "^1.0.0", + "@shoelace-style/animations": "^1.1.0", + "@shoelace-style/localize": "^3.1.2", + "composed-offset-position": "^0.0.4", + "lit": "^3.0.0", + "qr-creator": "^1.0.0" + }, + "engines": { + "node": ">=14.17.0" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/claviska" + } + }, + "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==" + }, + "node_modules/@trivago/prettier-plugin-sort-imports": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz", + "integrity": "sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==", + "dev": true, + "dependencies": { + "@babel/generator": "7.17.7", + "@babel/parser": "^7.20.5", + "@babel/traverse": "7.23.2", + "@babel/types": "7.17.0", + "javascript-natural-sort": "0.7.1", + "lodash": "^4.17.21" + }, + "peerDependencies": { + "@vue/compiler-sfc": "3.x", + "prettier": "2.x - 3.x" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + } + } + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==", + "dev": true, + "peer": true + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==", + "dev": true, + "peer": true + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/dompurify": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.4.0.tgz", + "integrity": "sha512-IDBwO5IZhrKvHFUl+clZxgf3hn2b/lU6H1KaBShPkQyGJUQ0xwebezIPSuiyGwfz1UzJWQl4M7BDxtHtCCPlTg==", + "dev": true, + "dependencies": { + "@types/trusted-types": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", + "dev": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/marked": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz", + "integrity": "sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==", + "dev": true + }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "dev": true, + "peer": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "peer": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", + "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz", + "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", + "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", + "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz", + "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "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==", + "dev": true + }, + "node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "dependencies": { + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", + "dependencies": { + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz", + "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/shared": "3.4.27", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz", + "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.27", + "@vue/shared": "3.4.27" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz", + "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/compiler-core": "3.4.27", + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz", + "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.27", + "@vue/shared": "3.4.27" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.2.1.tgz", + "integrity": "sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.2.1" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.2.1.tgz", + "integrity": "sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.2.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.2.1.tgz", + "integrity": "sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==", + "dev": true, + "dependencies": { + "rfdc": "^1.3.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz", + "integrity": "sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==", + "dev": true, + "dependencies": { + "@vue/shared": "3.4.27" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz", + "integrity": "sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.27", + "@vue/shared": "3.4.27" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz", + "integrity": "sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.4.27", + "@vue/shared": "3.4.27", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz", + "integrity": "sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27" + }, + "peerDependencies": { + "vue": "3.4.27" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz", + "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.10.0.tgz", + "integrity": "sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.10.0", + "@vueuse/shared": "10.10.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.10.0.tgz", + "integrity": "sha512-vHGeK7X6mkdkpcm1eE9t3Cpm21pNVfZRwrjwwbrEs9XftnSgszF4831G2rei8Dt9cIYJIfFV+iyx/29muimJPQ==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.10.0", + "@vueuse/shared": "10.10.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "*", + "axios": "*", + "change-case": "*", + "drauu": "*", + "focus-trap": "*", + "fuse.js": "*", + "idb-keyval": "*", + "jwt-decode": "*", + "nprogress": "*", + "qrcode": "*", + "sortablejs": "*", + "universal-cookie": "*" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.10.0.tgz", + "integrity": "sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.10.0.tgz", + "integrity": "sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@web/config-loader": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", + "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", + "dev": true, + "dependencies": { + "semver": "^7.3.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "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==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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/algoliasearch": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "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==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/api-viewer-element": { + "version": "1.0.0-pre.10", + "resolved": "https://registry.npmjs.org/api-viewer-element/-/api-viewer-element-1.0.0-pre.10.tgz", + "integrity": "sha512-DdtzzG0W1eQ/Gn6Lwdmj535dt1d/elgtX9yCxXXLNdcK9QQYV6jADc4L91q/e0scDU5rr09S1J7RiwZLk4KZdw==", + "dev": true, + "dependencies": { + "@api-viewer/common": "^1.0.0-pre.10", + "@api-viewer/demo": "^1.0.0-pre.10", + "@api-viewer/docs": "^1.0.0-pre.10", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } + }, + "node_modules/api-viewer-element/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/api-viewer-element/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/api-viewer-element/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/api-viewer-element/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/api-viewer-element/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "dev": true, + "engines": { + "node": ">=12.17" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "engines": { + "node": "*" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/async-signals": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/async-signals/-/async-signals-0.1.11.tgz", + "integrity": "sha512-ooYxYRwcOOAVQ8QFVu+Xt0PRB3dHVzGgWyFyE+h6BkdGKXD+b1eecIrNWTDgBQGp5yV/le8zpSTp1KKVRYgtBg==", + "dependencies": { + "lit": "^3.0.0", + "signal-polyfill": "^0.1.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/command-line-args": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.2.tgz", + "integrity": "sha512-fytTsbndLbl+pPWtS0CxLV3BEWw9wJayB8NnU2cbQqVPsNdYezQeT+uIQv009m+GShnMNyuoBrRo8DTmuTfSCA==", + "dev": true, + "dependencies": { + "array-back": "^6.1.2", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/comment-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", + "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/composed-offset-position": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/composed-offset-position/-/composed-offset-position-0.0.4.tgz", + "integrity": "sha512-vMlvu1RuNegVE0YsCDSV/X4X10j56mq7PCIyOKK74FxkXzGLwhOUmdkJLSdOBOMwWycobGUMgft2lp+YgTe8hw==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concurrently": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", + "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/concurrently/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/concurrently/node_modules/chalk/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/concurrently/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==", + "dev": true + }, + "node_modules/concurrently/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/custom-elements-manifest": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/custom-elements-manifest/-/custom-elements-manifest-1.0.0.tgz", + "integrity": "sha512-j59k0ExGCKA8T6Mzaq+7axc+KVHwpEphEERU7VZ99260npu/p/9kd+Db+I3cGKxHkM5y6q5gnlXn00mzRQkX2A==", + "dev": true + }, + "node_modules/cytoscape": { + "version": "3.29.2", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.29.2.tgz", + "integrity": "sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dev": true, + "optional": true, + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dev": true, + "optional": true, + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "dev": true, + "optional": true + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "dev": true, + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dev": true, + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/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==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "dev": true, + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "peer": true, + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "peer": true, + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true, + "peer": true + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "peer": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true, + "peer": true + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dev": true, + "peer": true, + "dependencies": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==", + "dev": true, + "peer": true + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "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==", + "dev": true, + "peer": true, + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "dev": true, + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/docs": { + "resolved": "docs", + "link": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dompurify": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.5.tgz", + "integrity": "sha512-FgbqnEPiv5Vdtwt6Mxl7XSylttCC03cqP5ldNT2z+Kj0nLxPHJH4+1Cyf5Jasxhw93Rl4Oo11qRoUV72fmya2Q==", + "dev": true + }, + "node_modules/elkjs": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", + "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==", + "dev": true, + "peer": true + }, + "node_modules/emittery": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz", + "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==", + "dev": true + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/eslint/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/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==", + "dev": true + }, + "node_modules/eslint/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "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==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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-glob/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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-replace/node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, + "node_modules/focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dev": true + }, + "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, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "engines": { + "node": "*" + } + }, + "node_modules/get-port": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", + "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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", + "dev": true, + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/highlight-ts": { + "version": "9.12.1-2", + "resolved": "https://registry.npmjs.org/highlight-ts/-/highlight-ts-9.12.1-2.tgz", + "integrity": "sha512-CkLnKaxdwUasdPbzM9YP3EQTYfY/jgLQ4dyl7FFa65h1Ymq/qm+FOsevfNRqI7ZKGlz9scPkAy9OXYvwEtcJSw==", + "dev": true, + "dependencies": { + "tslib": "^1" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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.", + "dev": true, + "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==" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "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==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "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==", + "dev": true, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "dev": true + }, + "node_modules/js-base64": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==" + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonschema": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/katex": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz", + "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "peer": true, + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "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==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", + "dev": true + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libsodium": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.13.tgz", + "integrity": "sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==" + }, + "node_modules/libsodium-wrappers": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.13.tgz", + "integrity": "sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==", + "dependencies": { + "libsodium": "^0.7.13" + } + }, + "node_modules/lit": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.3.tgz", + "integrity": "sha512-l4slfspEsnCcHVRTvaP7YnkTZEZggNFywLEIhQaGhYDczG+tu/vlgm/KaWIEjIp+ZyV20r2JnZctMb8LeLCG7Q==", + "dependencies": { + "@lit/reactive-element": "^2.0.4", + "lit-element": "^4.0.4", + "lit-html": "^3.1.2" + } + }, + "node_modules/lit-element": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.5.tgz", + "integrity": "sha512-iTWskWZEtn9SyEf4aBG6rKT8GABZMrTWop1+jopsEOgEcugcXJGKuX5bEbkq9qfzY+XB4MAgCaSPwnNpdsNQ3Q==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit/reactive-element": "^2.0.4", + "lit-html": "^3.1.2" + } + }, + "node_modules/lit-html": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.3.tgz", + "integrity": "sha512-FwIbqDD8O/8lM4vUZ4KvQZjPPNx7V1VhT7vmRB8RBAO0AU6wuTVdoXiu2CivVjEGdugvcbPNBLtPE1y0ifplHA==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/lit-signal-watcher": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/lit-signal-watcher/-/lit-signal-watcher-0.1.1.tgz", + "integrity": "sha512-OUAEqcKI7NY6/1md4Hy3RqoQOpiv+GiYO6ISDt8JTeXKW3YditiAACYsfEZ8mwGxfCLcRSfWLdKgNFntiYqm+Q==", + "dependencies": { + "lit": "^3.0.0", + "signal-polyfill": "^0.1.1" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "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==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", + "dev": true + }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "dev": true, + "peer": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mermaid": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.1.tgz", + "integrity": "sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==", + "dev": true, + "peer": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.1", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.28.1", + "cytoscape-cose-bilkent": "^4.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "^3.0.5", + "elkjs": "^0.9.0", + "katex": "^0.16.9", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "node_modules/mermaid/node_modules/dompurify": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz", + "integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==", + "dev": true, + "peer": true + }, + "node_modules/mermaid/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true, + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true + }, + "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==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "peer": true + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", + "dev": true + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "node_modules/mlly": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz", + "integrity": "sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.0", + "ufo": "^1.5.3" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/new-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/new-port/-/new-port-1.0.0.tgz", + "integrity": "sha512-2rEL1cZj78LekYSfYHDGP7lIhrCauYbPy92QvEyfJcNzrXIuDjEMWlpxrgGic2BNM7S+viHn8ajuYx0b9UlJJQ==", + "dev": true + }, + "node_modules/new-port-cli": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/new-port-cli/-/new-port-cli-1.0.0.tgz", + "integrity": "sha512-9uMPTw2loJJ5423n4GT2uW7y12IeqiLiuUsNaXHZb3pBWNQ/pCnSi8nJ/EHBEBO58FQszvH2YCMDoCh7pnXN4Q==", + "dev": true, + "dependencies": { + "new-port": "^1.0.0" + }, + "bin": { + "new-port": "bin/port.js", + "newport": "bin/port.js", + "port": "bin/port.js" + } + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=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==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" + }, + "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==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.22.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.22.0.tgz", + "integrity": "sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.0.tgz", + "integrity": "sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", + "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", + "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.21.1.tgz", + "integrity": "sha512-IVBAuMqOfltTr7yPypwpfdGT+6rGAteVOw2FO6GEvCGGa1ZwxLseqC1Eax/EChDvG/xGquB2d/hLdgh3THpsYg==", + "dependencies": { + "orderedmap": "^2.0.0" + } + }, + "node_modules/prosemirror-state": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.9.0.tgz", + "integrity": "sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==", + "dependencies": { + "prosemirror-model": "^1.21.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.33.7", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.7.tgz", + "integrity": "sha512-jo6eMQCtPRwcrA2jISBCnm0Dd2B+szS08BU1Ay+XGiozHo5EZMHfLQE8R5nO4vb1spTH2RW1woZIYXRiQsuP8g==", + "dependencies": { + "prosemirror-model": "^1.20.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qr-creator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz", + "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==" + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "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==", + "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==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "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", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "dev": true + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "peer": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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" + } + ] + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/search-insights": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", + "dev": true, + "peer": true + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.6.2.tgz", + "integrity": "sha512-X3hSm5GzzBd/BmPmGfkueOUADLyBoZo1ojYQXhd+NU2VJn458yt4duaS0rVzC+WtqftSV7mTVvDw+OB9AHi3Eg==", + "dev": true, + "dependencies": { + "@shikijs/core": "1.6.2" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/signal-polyfill": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/signal-polyfill/-/signal-polyfill-0.1.1.tgz", + "integrity": "sha512-ZihPkMjiWOCZaYOb/vi1YLj+f0GTKVF7tQVNovtK32yjqcvRvjGPTwwX3Ad45mQ8v08kLUBagsOkuyJ6gpwhWA==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sort-keys": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", + "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", + "dev": true + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "engines": { + "node": "*" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==" + }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==", + "dev": true, + "peer": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, + "node_modules/tests": { + "resolved": "tests", + "link": true + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==" + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.12.0.tgz", + "integrity": "sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/utils": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/unist": "^2.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==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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==" + }, + "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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dev": true, + "peer": true, + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", + "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/vite-node/node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/vite-node/node_modules/vite": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.5.6.tgz", + "integrity": "sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "ansi-escapes": "^4.3.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "commander": "^8.0.0", + "fast-glob": "^3.2.7", + "fs-extra": "^11.1.0", + "lodash.debounce": "^4.0.8", + "lodash.pick": "^4.4.0", + "npm-run-path": "^4.0.1", + "strip-ansi": "^6.0.0", + "tiny-invariant": "^1.1.0", + "vscode-languageclient": "^7.0.0", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-uri": "^3.0.2" + }, + "engines": { + "node": ">=14.16" + }, + "peerDependencies": { + "eslint": ">=7", + "meow": "^9.0.0", + "optionator": "^0.9.1", + "stylelint": ">=13", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": "*" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "meow": { + "optional": true + }, + "optionator": { + "optional": true + }, + "stylelint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vls": { + "optional": true + }, + "vti": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vite-plugin-checker/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/vite-plugin-checker/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vite-plugin-checker/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==", + "dev": true + }, + "node_modules/vite-plugin-checker/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==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/vite-plugin-checker/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-checker/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vitepress": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.2.3.tgz", + "integrity": "sha512-GvEsrEeNLiDE1+fuwDAYJCYLNZDAna+EtnXlPajhv/MYeTjbNK6Bvyg6NoTdO1sbwuQJ0vuJR99bOlH53bo6lg==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.6.0", + "@docsearch/js": "^3.6.0", + "@shikijs/core": "^1.6.2", + "@shikijs/transformers": "^1.6.2", + "@types/markdown-it": "^14.1.1", + "@vitejs/plugin-vue": "^5.0.5", + "@vue/devtools-api": "^7.2.1", + "@vue/shared": "^3.4.27", + "@vueuse/core": "^10.10.0", + "@vueuse/integrations": "^10.10.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "shiki": "^1.6.2", + "vite": "^5.2.12", + "vue": "^3.4.27" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-mermaid": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.16.tgz", + "integrity": "sha512-sW0Eu4+1EzRdwZBMGjzwKDsbQiuJIxCy8BlMw7Ur88p9fXalrFYKqZ3wYWLxsFTBipeooFIeanef/xw1P+v7vQ==", + "dev": true, + "optionalDependencies": { + "@mermaid-js/mermaid-mindmap": "^9.3.0" + }, + "peerDependencies": { + "mermaid": "10", + "vitepress": "^1.0.0 || ^1.0.0-alpha" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz", + "integrity": "sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vitepress/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/vitepress/node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/vitepress/node_modules/vite": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", + "dependencies": { + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/vitest/node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/vitest/node_modules/vite": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "dev": true, + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageclient": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", + "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4", + "semver": "^7.3.4", + "vscode-languageserver-protocol": "3.16.0" + }, + "engines": { + "vscode": "^1.52.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "dev": true, + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "dev": true, + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, + "node_modules/vue": { + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz", + "integrity": "sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-sfc": "3.4.27", + "@vue/runtime-dom": "3.4.27", + "@vue/server-renderer": "3.4.27", + "@vue/shared": "3.4.27" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/web-worker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", + "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==", + "dev": true, + "peer": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston/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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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/wrap-ansi/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/ws": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", + "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/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "tests": { + "dependencies": { + "@holochain-open-dev/signals": "^0.300.6", + "@holochain-open-dev/utils": "^0.300.2", + "@holochain/client": "^0.17.1", + "@holochain/tryorama": "^0.16.0", + "@msgpack/msgpack": "^2.8.0", + "typescript": "^4.9.4", + "vitest": "^1.4.0" + } + }, + "tests/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "ui": { + "name": "@holochain-open-dev/profiles", + "version": "0.300.0", + "license": "MIT", + "dependencies": { + "@holochain-open-dev/elements": "^0.300.1", + "@holochain-open-dev/signals": "^0.300.6", + "@holochain-open-dev/utils": "^0.300.2", + "@holochain/client": "^0.17.1", + "@lit/context": "^1.0.1", + "@lit/localize": "^0.12.0", + "@mdi/js": "^7.1.96", + "@msgpack/msgpack": "^2.7.0", + "@shoelace-style/shoelace": "^2.11.0", + "lit": "^3.0.2" + }, + "devDependencies": { + "@custom-elements-manifest/analyzer": "^0.5.7", + "@lit/localize-tools": "^0.6.3", + "tslib": "^2.0.0", + "typescript": "^5.4.0", + "vite": "^4.0.4", + "vite-plugin-checker": "^0.5.3" + } + }, + "ui/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } } diff --git a/package.json b/package.json index 27ed2af62..4acbc4200 100644 --- a/package.json +++ b/package.json @@ -1,33 +1,30 @@ { - "name": "@holochain-open-dev/profiles-dev", - "private": true, - "workspaces": ["ui", "tests"], - "scripts": { - "start": "AGENTS=2 npm run network", - "network": "hc s clean && npm run build:happ && BOOTSTRAP_PORT=$(port) SIGNAL_PORT=$(port) UI_PORT=8888 concurrently \"npm start -w ui\" \"npm run local-services\" \"npm run launch\" \"holochain-playground\"", - "test": "npm run build:happ && nix flake check && npm test -w tests", - "launch": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/profiles-test.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:$BOOTSTRAP_PORT webrtc ws://127.0.0.1:$SIGNAL_PORT", - "local-services": "hc run-local-services --bootstrap-port $BOOTSTRAP_PORT --signal-port $SIGNAL_PORT", - "build:happ": "npm run build:zome && hc app pack workdir --recursive", - "build:zome": "CARGO_TARGET_DIR=target cargo build --release --target wasm32-unknown-unknown", - "docs:start": "npm run docs:setup && storybook dev -p 6006", - "docs:publish": "npm run docs:setup && storybook build && gh-pages -d ./storybook-static -b gh-pages", - "docs:setup": "npm run build -w @holochain-open-dev/profiles && npm run analyze -w @holochain-open-dev/profiles" - }, - "devDependencies": { - "@holochain-playground/cli": "^0.1.0", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-links": "^7.5.3", - "@storybook/blocks": "^7.5.3", - "@storybook/web-components": "^7.5.3", - "@storybook/web-components-webpack5": "^7.5.3", - "concurrently": "^6.2.1", - "gh-pages": "^3.2.3", - "lit-html": "^2.6.1", - "new-port-cli": "^1.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "storybook": "^7.0.0-beta.33" - }, - "type": "module" + "name": "@holochain-open-dev/profiles-dev", + "private": true, + "workspaces": ["ui", "tests", "docs"], + "scripts": { + "start": "AGENTS=2 npm run network", + "network": "hc s clean && npm run build:happ && BOOTSTRAP_PORT=$(port) SIGNAL_PORT=$(port) UI_PORT=8888 concurrently \"npm start -w ui\" \"npm run local-services\" \"npm run launch\" \"holochain-playground\"", + "test": "npm run build:happ && nix flake check -L && npm test -w tests", + "launch": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/profiles-test.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:$BOOTSTRAP_PORT webrtc ws://127.0.0.1:$SIGNAL_PORT", + "local-services": "hc run-local-services --bootstrap-port $BOOTSTRAP_PORT --signal-port $SIGNAL_PORT", + "build:happ": "npm run build:zome && hc app pack workdir --recursive", + "build:zome": "CARGO_TARGET_DIR=target cargo build --release --target wasm32-unknown-unknown", + "docs:start": "npm run docs:setup && storybook dev -p 6006", + "docs:publish": "npm run docs:setup && storybook build && gh-pages -d ./storybook-static -b gh-pages", + "docs:setup": "npm run build -w @holochain-open-dev/profiles && npm run analyze -w @holochain-open-dev/profiles" + }, + "devDependencies": { + "@holochain-playground/cli": "^0.1.0", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@eslint/js": "^8.0.0", + "concurrently": "^6.2.1", + "eslint": "^8.0.0", + "eslint-config-prettier": "^9.1.0", + "new-port-cli": "^1.0.0", + "prettier": "^3.2.5", + "typescript-eslint": "^7.7.0", + "typescript": "^5.4.5" + }, + "type": "module" } diff --git a/stories/3.1-frontend-setup.mdx b/stories/3.1-frontend-setup.mdx index 8b0b6ae27..6ad5fd188 100644 --- a/stories/3.1-frontend-setup.mdx +++ b/stories/3.1-frontend-setup.mdx @@ -22,14 +22,14 @@ Careful! If you are using NPM workspaces (which is the case for the apps generat npm install @holochain-open-dev/profiles -w ui ``` -2. Connect to Holochain with the `AppAgentClient`, and create the `ProfilesStore` with it: +2. Connect to Holochain with the `AppClient`, and create the `ProfilesStore` with it: ```js import { ProfilesStore, ProfilesClient } from "@holochain-open-dev/profiles"; -import { AppWebsocket, AppAgentWebsocket } from "@holochain/client"; +import { AppWebsocket, AppWebsocket } from "@holochain/client"; async function setupProfilesStore() { - const client = await AppAgentWebsocket.connect('', '') + const client = await AppWebsocket.connect('', '') // TODO: change "MY_CELL_ROLE" for the roleId that you can find in your "happ.yaml" const profilesStore = new ProfilesStore(new ProfilesClient(client, ''), { diff --git a/stories/3.2-profiles-store.mdx b/stories/3.2-profiles-store.mdx index 4ea818f12..30981407b 100644 --- a/stories/3.2-profiles-store.mdx +++ b/stories/3.2-profiles-store.mdx @@ -30,10 +30,10 @@ const config = { } ], }; -const store = new ProfilesStore(new ProfilesClient(appAgentClient, 'my-role-name'), config); +const store = new ProfilesStore(new ProfilesClient(appClient, 'my-role-name'), config); ``` -> Learn how to setup the `AppAgentClient` object [here](https://www.npmjs.com/package/@holochain/client). +> Learn how to setup the `AppClient` object [here](https://www.npmjs.com/package/@holochain/client). The config for the `ProfilesStore` has these options: diff --git a/tests/package.json b/tests/package.json index 09e5f1362..5ccb5b3d8 100644 --- a/tests/package.json +++ b/tests/package.json @@ -1,17 +1,17 @@ { - "name": "tests", - "private": true, - "scripts": { - "test": "vitest run" - }, - "dependencies": { - "@msgpack/msgpack": "^2.7.0", - "@holochain/client": "^0.17.0-dev.3", - "@holochain/tryorama": "^0.16.0-dev.0", - "@holochain-open-dev/stores": "^0.8.11", - "@holochain-open-dev/utils": "^0.16.0", - "typescript": "^4.9.4", - "vitest": "^0.28.4" - }, - "type": "module" + "name": "tests", + "private": true, + "scripts": { + "test": "vitest run" + }, + "dependencies": { + "@msgpack/msgpack": "^2.8.0", + "@holochain/client": "^0.17.1", + "@holochain/tryorama": "^0.16.0", + "@holochain-open-dev/signals": "^0.300.6", + "@holochain-open-dev/utils": "^0.300.2", + "typescript": "^4.9.4", + "vitest": "^1.4.0" + }, + "type": "module" } diff --git a/tests/src/common.ts b/tests/src/common.ts index 046c6bf4c..7959d2ce6 100644 --- a/tests/src/common.ts +++ b/tests/src/common.ts @@ -1,3 +1,4 @@ +import { AppClient } from "@holochain/client"; import { Scenario } from "@holochain/tryorama"; import { dirname } from "path"; import { fileURLToPath } from "url"; @@ -21,11 +22,11 @@ export async function setup(scenario: Scenario) { await scenario.shareAllAgents(); const aliceStore = new ProfilesStore( - new ProfilesClient(alice.appAgentWs as any, "profiles-test", "profiles") + new ProfilesClient(alice.appWs as AppClient, "profiles-test", "profiles") ); const bobStore = new ProfilesStore( - new ProfilesClient(bob.appAgentWs as any, "profiles-test", "profiles") + new ProfilesClient(bob.appWs as AppClient, "profiles-test", "profiles") ); // Shortcut peer discovery through gossip and register all agents in every diff --git a/tests/src/profile.test.ts b/tests/src/profile.test.ts index 71baa1819..c26b0b54a 100644 --- a/tests/src/profile.test.ts +++ b/tests/src/profile.test.ts @@ -1,38 +1,37 @@ -import { assert, test } from "vitest"; - -import { runScenario, dhtSync, pause } from "@holochain/tryorama"; -import { EntryRecord } from "@holochain-open-dev/utils"; -import { get, toPromise } from "@holochain-open-dev/stores"; - -import { Profile } from "../../ui/src/types.js"; -import { sampleProfile } from "../../ui/src/mocks.js"; -import { setup } from "./common.js"; - -test("create Profile", async () => { - await runScenario(async (scenario) => { - const { alice, bob } = await setup(scenario); - - let agentsWithProfile = await toPromise(alice.store.agentsWithProfile); - assert.equal(agentsWithProfile.length, 0); - alice.store.agentsWithProfile.subscribe(() => {}); // store keepalive - let myProfile = await toPromise(alice.store.myProfile); - alice.store.myProfile.subscribe(() => {}); // store keepalive - assert.notOk(myProfile); - - // Alice creates a Post - const profile: EntryRecord = - await alice.store.client.createProfile( - await sampleProfile(alice.store.client) - ); - assert.ok(profile); - - await pause(1000); // Difference in time between the create the processing of the signal - - agentsWithProfile = await toPromise(alice.store.agentsWithProfile); - assert.equal(agentsWithProfile.length, 1); - - const profileStatus = get(alice.store.myProfile); - assert.equal(profileStatus.status, "complete"); - assert.ok((profileStatus as any).value); - }); +import { toPromise, watch } from '@holochain-open-dev/signals'; +import { EntryRecord } from '@holochain-open-dev/utils'; +import { dhtSync, pause, runScenario } from '@holochain/tryorama'; +import { assert, test } from 'vitest'; + +import { sampleProfile } from '../../ui/src/mocks.js'; +import { Profile } from '../../ui/src/types.js'; +import { setup } from './common.js'; + +test('create Profile', async () => { + await runScenario(async scenario => { + const { alice, bob } = await setup(scenario); + + let agentsWithProfile = await toPromise(alice.store.agentsWithProfile); + assert.equal(agentsWithProfile.length, 0); + watch(alice.store.agentsWithProfile, () => {}); // store keepalive + let myProfile = await toPromise(alice.store.myProfile); + watch(alice.store.myProfile, () => {}); // store keepalive + assert.notOk(myProfile); + + // Alice creates a Post + const profile: EntryRecord = + await alice.store.client.createProfile( + await sampleProfile(alice.store.client), + ); + assert.ok(profile); + + await pause(1000); // Difference in time between the create the processing of the signal + + agentsWithProfile = await toPromise(alice.store.agentsWithProfile); + assert.equal(agentsWithProfile.length, 1); + + const profileStatus = alice.store.myProfile.get(); + assert.equal(profileStatus.status, 'completed'); + assert.ok((profileStatus as any).value); + }); }); diff --git a/tests/vitest.config.ts b/tests/vitest.config.ts index 7737dbd2a..48cdee644 100644 --- a/tests/vitest.config.ts +++ b/tests/vitest.config.ts @@ -2,8 +2,12 @@ import { defineConfig } from 'vitest/config' export default defineConfig({ test: { - threads: false, - testTimeout: 60*1000*3 // 3 mins + poolOptions: { + threads: { + singleThread: true + } + }, + testTimeout: 60 * 1000 * 3 // 3 mins }, }) diff --git a/ui/.eslintrc.cjs b/ui/.eslintrc.cjs deleted file mode 100644 index eb15abb8d..000000000 --- a/ui/.eslintrc.cjs +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - env: { - browser: true, - }, - root: true, - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'import', 'html'], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:import/errors', - 'plugin:import/warnings', - ], - rules: { - // disable the rule for all files - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/camelcase': 'off', - 'import/named': 'off', - 'import/no-unresolved': 'off', - 'import/extensions': 'off', - '@typescript-eslint/ban-ts-ignore': 'off', - 'no-undef': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-unused-vars': 'warn', - }, -}; diff --git a/ui/custom-elements.json b/ui/custom-elements.json index 1cff44a18..605a7c2ca 100644 --- a/ui/custom-elements.json +++ b/ui/custom-elements.json @@ -4,7 +4,7 @@ "modules": [ { "kind": "javascript-module", - "path": "locales/es-419.js", + "path": "locales/ca.js", "declarations": [ { "kind": "variable", @@ -12,7 +12,7 @@ "type": { "text": "object" }, - "default": "{\n 's13f20cb257e12fac': `Campo obligatorio`,\n's1d96e130c0544d92': `Aún no se ha creado ningún perfil`,\n's3798c0344c399eb7': str`Min. ${0} caracteres`,\n's39aca5bd9eed9271': `Este agente no ha creado su perfil todavía`,\n's3fa309bef44c54e9': `Al menos 3 caracteres...`,\n's6068cc1885ea6494': `No se ha encontrado ningún agente`,\n's639c68c3284a2269': `Actualizar Perfil`,\n's7892d152096ebca9': `El nombre de usuario ya existe`,\n'sb4f1dffbb6be6302': `Borrar`,\n'sbe57083b4c785878': `Crear Perfil`,\n'sc93a9aa3e5bcbf5d': `Guardar Perfil`,\n'se9f30e4492cee2cd': `Nombre de usuario`,\n'sf58564266e0fc01f': `Nombre demasiado corto`,\n'sfbf76da07548a998': `Buscar agente`,\n }" + "default": "{\n 's0f790cd5b748b24d': `Error buscant agents`,\n's1d96e130c0544d92': `No hi ha cap perfil creat`,\n's20453e988c3e79f3': `Pressiona '@' per mencionar un agent.`,\n's2ceb11be2290bb1b': `Cancel·lar`,\n's3798c0344c399eb7': str`Min. ${0} caràcters`,\n's39aca5bd9eed9271': `Aquest agent encara no ha creat el seu perfil`,\n's3fa309bef44c54e9': `Almenys 3 caràcters...`,\n's6068cc1885ea6494': `No s'ha trobat cap agent amb aquest filtre`,\n's639c68c3284a2269': `Actualitzar Perfil`,\n's6ef2512ced4487d3': `No s'ha seleccionat cap agent encara`,\n's7c2f825ccdf2bf38': `Error buscant els perfils de tots els agents`,\n'sa77a504cfafd6d20': `Error buscant l'avatar de l'agent`,\n'sbbb75506e75dfbf8': `Buscar Agent`,\n'sbe57083b4c785878': `Crear Perfil`,\n'sc5c9f04c2d0a5f1d': `Error buscant el perfil`,\n'sc93a9aa3e5bcbf5d': `Guardar Perfil`,\n'sdd16cd8b418b1752': `Introdueix almenys 3 caràcters per buscar...`,\n'se9f30e4492cee2cd': `Nom d'usuari`,\n'seb9fbffaa6fddee6': `Error creant el perfil`,\n'sffdcc47c1ec17387': `Error buscant el teu perfil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" } ], "exports": [ @@ -21,7 +21,55 @@ "name": "templates", "declaration": { "name": "templates", - "module": "locales/es-419.js" + "module": "locales/ca.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/de.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Profile suchen fehlgeschlagen`,\n's1d96e130c0544d92': `Keine Profile vorhanden`,\n's20453e988c3e79f3': `Drücke '@' um eine Person zu erwähnen.`,\n's2ceb11be2290bb1b': `Abbrechen`,\n's3798c0344c399eb7': str`Min. ${0} Zeichen`,\n's39aca5bd9eed9271': `Diese Person hat noch kein Profil erstellt`,\n's3fa309bef44c54e9': `Mindestens 3 Zeichen...`,\n's6068cc1885ea6494': `Keine Profile gefunden für die Sucheingabe`,\n's639c68c3284a2269': `Profil Aktualisieren`,\n's6ef2512ced4487d3': `Noch keine Personen ausgewählt.`,\n's7c2f825ccdf2bf38': `Profile laden fehlgeschlagen`,\n'sa77a504cfafd6d20': `Profilbild konnte nicht geladen werden`,\n'sbbb75506e75dfbf8': `Profil suchen`,\n'sbe57083b4c785878': `Profil erstellen`,\n'sc5c9f04c2d0a5f1d': `Profil laden fehlgeschlagen`,\n'sc93a9aa3e5bcbf5d': `Profil speichern`,\n'sdd16cd8b418b1752': `Mindestens 3 Buchstaben eingeben...`,\n'se9f30e4492cee2cd': `Benutzername`,\n'seb9fbffaa6fddee6': `Speichern fehlgeschlagen`,\n'sffdcc47c1ec17387': `Profil laden fehlgeschlagen`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/de.js" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "locales/es.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Error buscando los agentes`,\n's1d96e130c0544d92': `Aún no se ha creado ningún perfil`,\n's20453e988c3e79f3': `Presiona '@' para mencionar a un agente`,\n's2ceb11be2290bb1b': `Cancelar`,\n's3798c0344c399eb7': str`Min. ${0} caracteres`,\n's39aca5bd9eed9271': `Este agente no ha creado su perfil todavía`,\n's3fa309bef44c54e9': `Al menos 3 caracteres...`,\n's6068cc1885ea6494': `No se ha encontrado ningún agente`,\n's639c68c3284a2269': `Actualizar Perfil`,\n's6ef2512ced4487d3': `No hay ningún agente seleccionado todavía.`,\n's7c2f825ccdf2bf38': `Error buscando los perfiles de todos los agentes`,\n'sa77a504cfafd6d20': `Error buscando el avatar del agente`,\n'sbbb75506e75dfbf8': `Buscar agente`,\n'sbe57083b4c785878': `Crear Perfil`,\n'sc5c9f04c2d0a5f1d': `Error buscando el perfil`,\n'sc93a9aa3e5bcbf5d': `Guardar Perfil`,\n'sdd16cd8b418b1752': `Introduce al menos 3 carácteres para buscar...`,\n'se9f30e4492cee2cd': `Nombre de usuario`,\n'seb9fbffaa6fddee6': `Error creando el perfil`,\n'sffdcc47c1ec17387': `Error buscando tu perfil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/es.js" } } ] @@ -36,7 +84,7 @@ "type": { "text": "object" }, - "default": "{\n 's13f20cb257e12fac': `Ce champs est obligatoire`,\n's1d96e130c0544d92': `Il n'y a pas encore de profils créés`,\n's3798c0344c399eb7': str`Min. ${0} caractères`,\n's39aca5bd9eed9271': `Cet utilisateur n'a pas encore créé de profil`,\n's3fa309bef44c54e9': `Au moins 3 caractères...`,\n's6068cc1885ea6494': `Aucun agent ne corresponds au filtre`,\n's639c68c3284a2269': `Mettre à jour Profil`,\n's7892d152096ebca9': `Le surnom est déjà pris`,\n'sb4f1dffbb6be6302': `Effacer`,\n'sbe57083b4c785878': `Créer Profil`,\n'sc93a9aa3e5bcbf5d': `Enregistrer Profil`,\n'se9f30e4492cee2cd': `Surnom`,\n'sf58564266e0fc01f': `Le surnom est trop court`,\n'sfbf76da07548a998': `Rechercher utilisateur`,\n }" + "default": "{\n 's1d96e130c0544d92': `Il n'y a pas encore de profils créés`,\n's3798c0344c399eb7': str`Min. ${0} caractères`,\n's39aca5bd9eed9271': `Cet utilisateur n'a pas encore créé de profil`,\n's3fa309bef44c54e9': `Au moins 3 caractères...`,\n's6068cc1885ea6494': `Aucun agent ne corresponds au filtre`,\n's639c68c3284a2269': `Mettre à jour Profil`,\n'sbe57083b4c785878': `Créer Profil`,\n'sc93a9aa3e5bcbf5d': `Enregistrer Profil`,\n'se9f30e4492cee2cd': `Surnom`,\n'sa77a504cfafd6d20': `Error fetching the agent's avatar`,\n's2ceb11be2290bb1b': `Cancel`,\n'seb9fbffaa6fddee6': `Error creating the profile`,\n's7c2f825ccdf2bf38': `Error fetching the profiles for all agents`,\n'sffdcc47c1ec17387': `Error fetching your profile`,\n'sc5c9f04c2d0a5f1d': `Error fetching the profile`,\n's859587e842b7882b': `Error fetching your profile.`,\n'sdd16cd8b418b1752': `Enter at least 3 chars to search...`,\n's0f790cd5b748b24d': `Error searching agents`,\n'sbbb75506e75dfbf8': `Search Agent`,\n's6ef2512ced4487d3': `No agents selected yet.`,\n's20453e988c3e79f3': `Press '@' to mention an agent.`,\n }" } ], "exports": [ @@ -66,7 +114,7 @@ "type": { "text": "array" }, - "default": "[\n `es-419`,\n `fr-fr`,\n]", + "default": "[\n `ca`,\n `de`,\n `es`,\n `fr-fr`,\n `sv`,\n]", "description": "The other locale codes that this application is localized into. Sorted\nlexicographically." }, { @@ -75,7 +123,7 @@ "type": { "text": "array" }, - "default": "[\n `en`,\n `es-419`,\n `fr-fr`,\n]", + "default": "[\n `ca`,\n `de`,\n `en`,\n `es`,\n `fr-fr`,\n `sv`,\n]", "description": "All valid project locale codes. Sorted lexicographically." } ], @@ -106,6 +154,30 @@ } ] }, + { + "kind": "javascript-module", + "path": "locales/sv.js", + "declarations": [ + { + "kind": "variable", + "name": "templates", + "type": { + "text": "object" + }, + "default": "{\n 's0f790cd5b748b24d': `Fel vid sökning av agenter`,\n's1d96e130c0544d92': `Det finns ingen profil skapad än`,\n's20453e988c3e79f3': `Skriv '@' för att benämna en agent§`,\n's2ceb11be2290bb1b': `Avbryt`,\n's3798c0344c399eb7': str`Min. ${0} tecken`,\n's39aca5bd9eed9271': `Denna agent har inte skapat en profil än`,\n's3fa309bef44c54e9': `Minst 3 tecken...`,\n's6068cc1885ea6494': `Inga agenter som matchar filtret`,\n's639c68c3284a2269': `Uppdatera profil`,\n's6ef2512ced4487d3': `Ingen agent vald än.`,\n's7c2f825ccdf2bf38': `Fel vid hämtning av profiler för alla agenter`,\n'sa77a504cfafd6d20': `Fel vid hämtning av agentens avatar`,\n'sbbb75506e75dfbf8': `Sök efter agent`,\n'sbe57083b4c785878': `Skapa profil`,\n'sc5c9f04c2d0a5f1d': `Fel vid hämtning av profilen`,\n'sc93a9aa3e5bcbf5d': `Spara profil`,\n'sdd16cd8b418b1752': `Skriv minst 3 tecken för att söka...`,\n'se9f30e4492cee2cd': `Smeknamn`,\n'seb9fbffaa6fddee6': `Fel inträffade vid skapande av profil`,\n'sffdcc47c1ec17387': `Fel vid hämtning av din profil`,\n's859587e842b7882b': `Error fetching your profile.`,\n }" + } + ], + "exports": [ + { + "kind": "js", + "name": "templates", + "declaration": { + "name": "templates", + "module": "locales/sv.js" + } + } + ] + }, { "kind": "javascript-module", "path": "src/config.ts", @@ -160,7 +232,7 @@ "name": "*", "declaration": { "name": "*", - "package": "\"./types\"" + "package": "./types.js" } }, { @@ -168,7 +240,7 @@ "name": "*", "declaration": { "name": "*", - "package": "\"./context\"" + "package": "./context.js" } }, { @@ -176,7 +248,7 @@ "name": "*", "declaration": { "name": "*", - "package": "\"./profiles-client\"" + "package": "./profiles-client.js" } }, { @@ -184,7 +256,7 @@ "name": "*", "declaration": { "name": "*", - "package": "\"./profiles-store\"" + "package": "./profiles-store.js" } }, { @@ -192,7 +264,7 @@ "name": "*", "declaration": { "name": "*", - "package": "\"./config\"" + "package": "./config.js" } } ] @@ -206,7 +278,7 @@ "name": "demoProfiles", "return": { "type": { - "text": "AgentPubKeyMap" + "text": "Promise>" } } }, @@ -282,6 +354,30 @@ "name": "ZomeMock", "package": "@holochain-open-dev/utils" } + }, + { + "kind": "function", + "name": "sampleProfile", + "return": { + "type": { + "text": "Promise" + } + }, + "parameters": [ + { + "name": "client", + "type": { + "text": "ProfilesClient" + } + }, + { + "name": "partialProfile", + "default": "{}", + "type": { + "text": "Partial" + } + } + ] } ], "exports": [ @@ -300,6 +396,14 @@ "name": "ProfilesZomeMock", "module": "src/mocks.ts" } + }, + { + "kind": "js", + "name": "sampleProfile", + "declaration": { + "name": "sampleProfile", + "module": "src/mocks.ts" + } } ] }, @@ -365,7 +469,7 @@ "name": "createProfile", "return": { "type": { - "text": "Promise" + "text": "Promise>" } }, "parameters": [ @@ -384,7 +488,7 @@ "name": "updateProfile", "return": { "type": { - "text": "Promise" + "text": "Promise>" } }, "parameters": [ @@ -435,56 +539,24 @@ }, { "kind": "field", - "name": "agentsWithProfile", + "name": "agentsWithProfile$", "description": "Fetches all the agents that have created a profile in the DHT" }, { "kind": "field", - "name": "allProfiles", + "name": "allProfiles$", + "default": "new AsyncComputed(() => {\n\t\tconst agentsWithProfile = this.agentsWithProfile$.get();\n\t\tif (agentsWithProfile.status !== 'completed') return agentsWithProfile;\n\n\t\tconst allProfiles = slice(this.profiles, agentsWithProfile.value);\n\t\treturn joinAsyncMap(mapValues(allProfiles, p => p.get()));\n\t})", "description": "Fetches the profiles for all agents in the DHT\n\nThis will get slower as the number of agents in the DHT increases" }, { "kind": "field", "name": "profiles", - "default": "new LazyHoloHashMap((agent: AgentPubKey) =>\n asyncReadable(async (set) => {\n const profile = await this.client.getAgentProfile(agent);\n set(profile);\n\n return this.client.onSignal((signal) => {\n if (this.client.client.myPubKey.toString() !== agent.toString()) return;\n if (!(signal.type === \"EntryCreated\" || signal.type === \"EntryUpdated\"))\n return;\n set(signal.app_entry);\n });\n })\n )" + "default": "new LazyHoloHashMap((agent: AgentPubKey) => {\n\t\tlet unsubscribe: (() => void) | undefined;\n\t\tconst signal = new AsyncState | undefined>(\n\t\t\t{ status: 'pending' },\n\t\t\t{\n\t\t\t\t[Signal.subtle.watched]: async () => {\n\t\t\t\t\tconst value = await this.client.getAgentProfile(agent);\n\t\t\t\t\tsignal.set({\n\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t});\n\t\t\t\t\tunsubscribe = this.client.onSignal(profilesSignal => {\n\t\t\t\t\t\tif (this.client.client.myPubKey.toString() !== agent.toString())\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\tprofilesSignal.type === 'EntryCreated' ||\n\t\t\t\t\t\t\t\tprofilesSignal.type === 'EntryUpdated'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\tconst record = new EntryRecord({\n\t\t\t\t\t\t\tentry: {\n\t\t\t\t\t\t\t\tPresent: {\n\t\t\t\t\t\t\t\t\tentry_type: 'App',\n\t\t\t\t\t\t\t\t\tentry: encode(profilesSignal.app_entry),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsigned_action: profilesSignal.action,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsignal.set({\n\t\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t\t\tvalue: record,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t[Signal.subtle.unwatched]: () => {\n\t\t\t\t\tsignal.set({ status: 'pending' });\n\t\t\t\t\tunsubscribe?.();\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\treturn signal;\n\t})", + "description": "Fetches the profile for the given agent" }, { "kind": "field", - "name": "myProfile" - }, - { - "kind": "method", - "name": "agentsProfiles", - "return": { - "type": { - "text": "AsyncReadable>" - } - }, - "parameters": [ - { - "name": "agents", - "type": { - "text": "Array" - } - } - ] - }, - { - "kind": "method", - "name": "searchProfiles", - "return": { - "type": { - "text": "AsyncReadable>" - } - }, - "parameters": [ - { - "name": "searchFilter", - "type": { - "text": "string" - } - } - ] + "name": "myProfile$" } ] } @@ -506,6 +578,45 @@ "declarations": [], "exports": [] }, + { + "kind": "javascript-module", + "path": "src/utils.ts", + "declarations": [ + { + "kind": "function", + "name": "areHashesArraysEqual", + "return": { + "type": { + "text": "boolean" + } + }, + "parameters": [ + { + "name": "hashes1", + "type": { + "text": "HoloHash[]" + } + }, + { + "name": "hashes2", + "type": { + "text": "HoloHash[]" + } + } + ] + } + ], + "exports": [ + { + "kind": "js", + "name": "areHashesArraysEqual", + "declaration": { + "name": "areHashesArraysEqual", + "module": "src/utils.ts" + } + } + ] + }, { "kind": "javascript-module", "path": "src/elements/agent-avatar.ts", @@ -567,10 +678,6 @@ "kind": "method", "name": "renderIdenticon" }, - { - "kind": "method", - "name": "copyHash" - }, { "kind": "method", "name": "renderProfile", @@ -578,12 +685,20 @@ { "name": "profile", "type": { - "text": "Profile | undefined" + "text": "EntryRecord | undefined" } } ] } ], + "events": [ + { + "name": "profile-clicked", + "type": { + "text": "CustomEvent" + } + } + ], "attributes": [ { "name": "agentPubKey", @@ -629,6 +744,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -658,13 +779,32 @@ }, { "kind": "javascript-module", - "path": "src/elements/create-profile.ts", + "path": "src/elements/agent-mention.ts", "declarations": [ { "kind": "class", - "description": "A custom element that fires event on value change.", - "name": "CreateProfile", + "description": "", + "name": "AgentMention", "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "size", + "type": { + "text": "number" + }, + "default": "24", + "description": "Size of the avatar image in pixels.", + "attribute": "size" + }, { "kind": "field", "name": "store", @@ -676,28 +816,51 @@ }, { "kind": "method", - "name": "createProfile", + "name": "renderAvatar", "parameters": [ { "name": "profile", "type": { - "text": "Profile" + "text": "EntryRecord | undefined" } } - ], - "description": "Private properties" + ] + }, + { + "kind": "method", + "name": "renderProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + } + } + ] + }, + { + "kind": "method", + "name": "renderContent" } ], - "events": [ + "attributes": [ { - "name": "profile-created", + "name": "agentPubKey", "type": { - "text": "CustomEvent" + "text": "AgentPubKey" }, - "description": "Fired after the profile has been created. Detail will have this shape: { profile: { nickname, fields } }" - } - ], - "attributes": [ + "description": "REQUIRED. The public key identifying the agent whose profile is going to be shown.", + "fieldName": "agentPubKey" + }, + { + "name": "size", + "type": { + "text": "number" + }, + "default": "24", + "description": "Size of the avatar image in pixels.", + "fieldName": "size" + }, { "name": "store", "type": { @@ -707,71 +870,221 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" }, - "tagName": "create-profile", + "tagName": "agent-mention", "customElement": true } ], "exports": [ { "kind": "js", - "name": "CreateProfile", + "name": "AgentMention", "declaration": { - "name": "CreateProfile", - "module": "src/elements/create-profile.ts" + "name": "AgentMention", + "module": "src/elements/agent-mention.ts" } }, { "kind": "custom-element-definition", - "name": "create-profile", + "name": "agent-mention", "declaration": { - "name": "CreateProfile", - "module": "src/elements/create-profile.ts" + "name": "AgentMention", + "module": "src/elements/agent-mention.ts" } } ] }, { "kind": "javascript-module", - "path": "src/elements/edit-profile.ts", + "path": "src/elements/agents-avatars.ts", "declarations": [ { "kind": "class", "description": "", - "name": "EditProfile", + "name": "AgentsAvatars", "members": [ { "kind": "field", - "name": "profile", - "type": { - "text": "Profile | undefined" - }, - "description": "The profile to be edited.", - "attribute": "profile" - }, - { - "kind": "field", - "name": "saveProfileLabel", + "name": "agents", "type": { - "text": "string | undefined" + "text": "AgentPubKey[]" }, - "description": "Label for the save profile button.", - "attribute": "save-profile-label" - }, + "attribute": "agents" + } + ], + "attributes": [ { - "kind": "field", - "name": "store", + "name": "agents", "type": { - "text": "ProfilesStore" + "text": "AgentPubKey[]" }, - "description": "Profiles store for this element, not required if you embed this element inside a ", - "attribute": "store" - }, + "fieldName": "agents" + } + ], + "mixins": [ { - "kind": "field", + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "agents-avatars", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "AgentsAvatars", + "declaration": { + "name": "AgentsAvatars", + "module": "src/elements/agents-avatars.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "agents-avatars", + "declaration": { + "name": "AgentsAvatars", + "module": "src/elements/agents-avatars.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/create-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "A custom element that fires event on value change.", + "name": "CreateProfile", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "createProfile", + "parameters": [ + { + "name": "profile", + "type": { + "text": "Profile" + } + } + ], + "description": "Private properties" + } + ], + "events": [ + { + "name": "profile-created", + "type": { + "text": "CustomEvent" + }, + "description": "Fired after the profile has been created. Detail will have this shape: { profile: { nickname, fields } }" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "create-profile", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "CreateProfile", + "declaration": { + "name": "CreateProfile", + "module": "src/elements/create-profile.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "create-profile", + "declaration": { + "name": "CreateProfile", + "module": "src/elements/create-profile.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/edit-profile.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "EditProfile", + "members": [ + { + "kind": "field", + "name": "profile", + "type": { + "text": "EntryRecord | undefined" + }, + "description": "The profile to be edited.", + "attribute": "profile" + }, + { + "kind": "field", + "name": "saveProfileLabel", + "type": { + "text": "string | undefined" + }, + "description": "Label for the save profile button.", + "attribute": "save-profile-label" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "field", "name": "allowCancel", "type": { "text": "boolean" @@ -832,7 +1145,7 @@ { "name": "profile", "type": { - "text": "Profile | undefined" + "text": "EntryRecord | undefined" }, "description": "The profile to be edited.", "fieldName": "profile" @@ -862,6 +1175,12 @@ "fieldName": "allowCancel" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -922,7 +1241,8 @@ "text": "string" } } - ] + ], + "description": "Private properties" }, { "kind": "method", @@ -943,7 +1263,7 @@ { "name": "profiles", "type": { - "text": "ReadonlyMap" + "text": "ReadonlyMap | undefined>" } } ] @@ -968,6 +1288,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1024,6 +1350,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1093,7 +1425,8 @@ "text": "Profile" } } - ] + ], + "description": "Private properties" }, { "kind": "method", @@ -1120,7 +1453,7 @@ { "name": "profile", "type": { - "text": "Profile | undefined" + "text": "EntryRecord | undefined" } } ] @@ -1144,6 +1477,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1180,6 +1519,12 @@ "description": "", "name": "ProfileListItemSkeleton", "members": [], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1207,6 +1552,85 @@ } ] }, + { + "kind": "javascript-module", + "path": "src/elements/profile-list-item.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "ProfileListItem", + "members": [ + { + "kind": "field", + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED: the public key of the agent to render the profile for", + "attribute": "agentPubKey" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + } + ], + "attributes": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + }, + "description": "REQUIRED: the public key of the agent to render the profile for", + "fieldName": "agentPubKey" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "profile-list-item", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProfileListItem", + "declaration": { + "name": "ProfileListItem", + "module": "src/elements/profile-list-item.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "profile-list-item", + "declaration": { + "name": "ProfileListItem", + "module": "src/elements/profile-list-item.ts" + } + } + ] + }, { "kind": "javascript-module", "path": "src/elements/profile-prompt.ts", @@ -1228,20 +1652,22 @@ "type": { "text": "ProfilesStore" }, - "description": "Profiles store for this element, not required if you embed this element inside a ", + "description": "Profiles store for this element, not required if you embed this element inside a ``", "attribute": "store" }, { "kind": "method", "name": "renderPrompt", + "privacy": "private", "parameters": [ { "name": "myProfile", "type": { - "text": "Profile | undefined" + "text": "EntryRecord | undefined" } } - ] + ], + "description": "Private properties" } ], "attributes": [ @@ -1250,10 +1676,16 @@ "type": { "text": "ProfilesStore" }, - "description": "Profiles store for this element, not required if you embed this element inside a ", + "description": "Profiles store for this element, not required if you embed this element inside a ``", "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1308,6 +1740,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1337,40 +1775,172 @@ }, { "kind": "javascript-module", - "path": "src/elements/search-agent.ts", + "path": "src/elements/search-agent-dropdown.ts", "declarations": [ { "kind": "class", "description": "", - "name": "SearchAgent", + "name": "SearchAgentDropdown", "members": [ { "kind": "field", - "name": "name", - "type": { - "text": "string" - }, - "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", - "attribute": "name" + "name": "searchFilter", + "description": "Public attributes" }, { "kind": "field", - "name": "defaultValue", + "name": "searchFilter$", + "default": "new Signal.State(undefined)" + }, + { + "kind": "field", + "name": "open", "type": { - "text": "AgentPubKey | undefined" + "text": "boolean | undefined" }, - "description": "The default value of the field if this element is used inside a form", - "attribute": "defaultValue" + "attribute": "open" }, { "kind": "field", - "name": "required", + "name": "includeMyself", "type": { "text": "boolean" }, "default": "false", - "description": "Whether this field is required if this element is used inside a form", - "attribute": "required" + "description": "Whether to include my own agent as a possible agent to select.", + "attribute": "include-myself" + }, + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "method", + "name": "onUsernameSelected", + "parameters": [ + { + "name": "agentPubKey", + "type": { + "text": "AgentPubKey" + } + } + ] + }, + { + "kind": "method", + "name": "renderAgentList" + } + ], + "events": [ + { + "name": "agent-selected", + "type": { + "text": "CustomEvent" + }, + "description": "Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash }" + } + ], + "attributes": [ + { + "name": "include-myself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "fieldName": "includeMyself", + "attribute": "include-myself" + }, + { + "name": "open", + "type": { + "text": "boolean | undefined" + }, + "fieldName": "open" + }, + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "search-agent-dropdown", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "SearchAgentDropdown", + "declaration": { + "name": "SearchAgentDropdown", + "module": "src/elements/search-agent-dropdown.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "search-agent-dropdown", + "declaration": { + "name": "SearchAgentDropdown", + "module": "src/elements/search-agent-dropdown.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/search-agent.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "SearchAgent", + "members": [ + { + "kind": "field", + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "attribute": "name" + }, + { + "kind": "field", + "name": "defaultValue", + "type": { + "text": "AgentPubKey | undefined" + }, + "description": "The default value of the field if this element is used inside a form", + "attribute": "defaultValue" + }, + { + "kind": "field", + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "attribute": "required" }, { "kind": "field", @@ -1429,8 +1999,12 @@ "name": "reset" }, { - "kind": "method", - "name": "onFilterChange" + "kind": "field", + "name": "searchFilter", + "type": { + "text": "string" + }, + "default": "\"\"" }, { "kind": "method", @@ -1441,21 +2015,20 @@ "type": { "text": "AgentPubKey" } + }, + { + "name": "profile", + "type": { + "text": "EntryRecord" + } } ] - }, - { - "kind": "method", - "name": "renderAgentList" } ], "events": [ { - "name": "agent-selected", - "type": { - "text": "CustomEvent" - }, - "description": "Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash }" + "description": "Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash }", + "name": "agent-selected" } ], "attributes": [ @@ -1531,6 +2104,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" @@ -1558,6 +2137,311 @@ } ] }, + { + "kind": "javascript-module", + "path": "src/elements/search-agents.ts", + "declarations": [ + { + "kind": "class", + "description": "", + "name": "SearchAgents", + "members": [ + { + "kind": "field", + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "attribute": "name" + }, + { + "kind": "field", + "name": "defaultValue", + "type": { + "text": "Array" + }, + "default": "[]", + "description": "The default value of the field if this element is used inside a form", + "attribute": "defaultValue" + }, + { + "kind": "field", + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "attribute": "required" + }, + { + "kind": "field", + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "attribute": "disabled" + }, + { + "kind": "field", + "name": "fieldLabel", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "attribute": "field-label" + }, + { + "kind": "field", + "name": "emptyListPlaceholder", + "description": "Placeholder to show when the list is empty.", + "attribute": "empty-list-placeholder" + }, + { + "kind": "field", + "name": "includeMyself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "attribute": "include-myself" + }, + { + "kind": "method", + "name": "reportValidity" + }, + { + "kind": "method", + "name": "reset" + } + ], + "attributes": [ + { + "name": "field-label", + "type": { + "text": "string" + }, + "description": "Label for the agent searching field.", + "fieldName": "fieldLabel", + "attribute": "field-label" + }, + { + "name": "empty-list-placeholder", + "description": "Placeholder to show when the list is empty.", + "fieldName": "emptyListPlaceholder", + "attribute": "empty-list-placeholder" + }, + { + "name": "include-myself", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether to include my own agent as a possible agent to select.", + "fieldName": "includeMyself", + "attribute": "include-myself" + }, + { + "name": "name", + "type": { + "text": "string" + }, + "description": "The name of the field if this element is used inside a form\nRequired only if the element is used inside a form", + "fieldName": "name" + }, + { + "name": "defaultValue", + "type": { + "text": "Array" + }, + "default": "[]", + "description": "The default value of the field if this element is used inside a form", + "fieldName": "defaultValue" + }, + { + "name": "required", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is required if this element is used inside a form", + "fieldName": "required" + }, + { + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Whether this field is disabled if this element is used inside a form", + "fieldName": "disabled" + } + ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "search-agents", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "SearchAgents", + "declaration": { + "name": "SearchAgents", + "module": "src/elements/search-agents.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "search-agents", + "declaration": { + "name": "SearchAgents", + "module": "src/elements/search-agents.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "src/elements/textarea-with-mentions.ts", + "declarations": [ + { + "kind": "variable", + "name": "agentMentionSpec", + "type": { + "text": "NodeSpec" + }, + "default": "{\n attrs: { agentPubKey: {} },\n inline: true,\n group: \"inline\",\n draggable: true,\n toDOM: (node) => {\n console.log(node);\n return [\n \"agent-mention\",\n { \"agent-pub-key\": encodeHashToBase64(node.attrs.agentPubKey) },\n ];\n },\n parseDOM: [{ tag: \"agent-mention\" }],\n}" + }, + { + "kind": "variable", + "name": "pluginKey", + "default": "new PluginKey(\"search-agent\")" + }, + { + "kind": "variable", + "name": "searchAgentPlugin", + "default": "new Plugin({\n key: pluginKey,\n state: {\n init() {\n return \"hidden\";\n },\n apply(tr, state) {\n const newPluginState = tr.getMeta(pluginKey);\n return newPluginState ? newPluginState : state;\n },\n },\n props: {\n handleKeyDown(view, event) {\n const state = this.getState(view.state);\n if (state && state !== \"hidden\" && event.key === \"ArrowDown\") {\n state.dropdownEl.dropdown.handleTriggerKeyDown(event);\n }\n },\n handleTextInput(view, _from, to, text) {\n const state = this.getState(view.state);\n console.log(state);\n\n if (state && state !== \"hidden\") {\n setTimeout(() => {\n state.dropdownEl.searchFilter = view.state.doc.textBetween(\n state.mentionCharIndex + 1,\n to + 1\n );\n view.dispatch(\n view.state.tr.setMeta(pluginKey, {\n ...state,\n lastCharIndex: to,\n })\n );\n });\n } else if (text === \"@\") {\n const { top, left } = view.coordsAtPos(to);\n const dropdownEl = document.createElement(\n \"search-agent-dropdown\"\n ) as SearchAgentDropdown;\n\n dropdownEl.innerHTML = `
`;\n dropdownEl.open = true;\n dropdownEl.includeMyself = true;\n view.dom.getRootNode().appendChild(dropdownEl);\n\n view.dispatch(\n view.state.tr.setMeta(pluginKey, {\n dropdownEl,\n mentionCharIndex: to,\n lastCharIndex: to,\n })\n );\n\n dropdownEl.addEventListener(\"agent-selected\", (e: any) => {\n const agentPubKey = e.detail.agentPubKey;\n const state = this.getState(view.state);\n\n if (!state || state === \"hidden\") return;\n\n const tr = view.state.tr;\n\n tr.replaceRangeWith(\n state.mentionCharIndex,\n state.lastCharIndex + 1,\n agentType.create({\n agentPubKey,\n })\n );\n\n view.dom.getRootNode().removeChild(dropdownEl);\n view.dispatch(tr.setMeta(pluginKey, \"hidden\"));\n });\n\n dropdownEl.addEventListener(\"sl-hide\", () =>\n setTimeout(() => {\n view.dom.getRootNode().removeChild(dropdownEl);\n view.dispatch(view.state.tr.setMeta(pluginKey, \"hidden\"));\n }, 10)\n );\n }\n },\n },\n})" + }, + { + "kind": "class", + "description": "", + "name": "TextareaWithMentions", + "members": [ + { + "kind": "field", + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "attribute": "store" + }, + { + "kind": "field", + "name": "dnaHash", + "type": { + "text": "DnaHash" + } + }, + { + "kind": "field", + "name": "helpText", + "type": { + "text": "string" + }, + "attribute": "helpText" + }, + { + "kind": "field", + "name": "value" + }, + { + "kind": "method", + "name": "editorStateConfig" + } + ], + "attributes": [ + { + "name": "store", + "type": { + "text": "ProfilesStore" + }, + "description": "Profiles store for this element, not required if you embed this element inside a ", + "fieldName": "store" + }, + { + "name": "helpText", + "type": { + "text": "string" + }, + "fieldName": "helpText" + } + ], + "superclass": { + "name": "SlTextareaProsemirror", + "package": "@holochain-open-dev/elements/dist/elements/sl-textarea-prosemirror.js" + }, + "tagName": "textarea-with-mentions", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "agentMentionSpec", + "declaration": { + "name": "agentMentionSpec", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "pluginKey", + "declaration": { + "name": "pluginKey", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "searchAgentPlugin", + "declaration": { + "name": "searchAgentPlugin", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "js", + "name": "TextareaWithMentions", + "declaration": { + "name": "TextareaWithMentions", + "module": "src/elements/textarea-with-mentions.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "textarea-with-mentions", + "declaration": { + "name": "TextareaWithMentions", + "module": "src/elements/textarea-with-mentions.ts" + } + } + ] + }, { "kind": "javascript-module", "path": "src/elements/update-profile.ts", @@ -1608,6 +2492,12 @@ "fieldName": "store" } ], + "mixins": [ + { + "name": "SignalWatcher", + "package": "@holochain-open-dev/signals" + } + ], "superclass": { "name": "LitElement", "package": "lit" diff --git a/ui/demo/index.html b/ui/demo/index.html index c374cb665..2a979cc0f 100644 --- a/ui/demo/index.html +++ b/ui/demo/index.html @@ -1,136 +1,130 @@ - + - - - - - - + + + + + + - - + customElements.define('profiles-test', ProfilesTest); + + diff --git a/ui/package.json b/ui/package.json index c9b074580..81295bbb2 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,72 +1,54 @@ { - "name": "@holochain-open-dev/profiles", - "version": "0.17.2", - "description": "Frontend module for the Holochain hc_zome_profiles zomes", - "author": "guillem.cordoba@gmail.com", - "license": "MIT", - "main": "dist/index.js", - "module": "dist/index.js", - "repository": { - "type": "git", - "url": "git+https://github.com/holochain-open-dev/profiles.git" - }, - "exports": { - ".": "./dist/index.js", - "./locales/*": "./locales/*", - "./dist/*": "./dist/*" - }, - "files": [ - "dist", - "locales" - ], - "scripts": { - "start": "vite --clearScreen false --port $UI_PORT", - "build": "npm run lint && tsc", - "test": "npm run build && web-test-runner --coverage", - "package": "vite build && cd dist && bestzip ../dist.zip *", - "lint": "eslint --ext .ts,.html src --ignore-path .gitignore", - "analyze": "cem analyze --litelement --exclude dist", - "format": "eslint --ext .ts,.html src --fix --ignore-path .gitignore", - "localize:extract": "lit-localize extract", - "localize:build": "lit-localize build", - "postinstall": "tsc && npm run localize:build" - }, - "dependencies": { - "@holochain-open-dev/elements": "^0.8.3", - "@holochain-open-dev/stores": "^0.8.11", - "@holochain-open-dev/utils": "^0.16.2", - "@holochain/client": "^0.17.0-dev.7", - "@lit/context": "^1.0.1", - "@lit/localize": "^0.12.0", - "@mdi/js": "^7.1.96", - "@shoelace-style/shoelace": "^2.11.0", - "lit": "^3.0.2" - }, - "devDependencies": { - "@custom-elements-manifest/analyzer": "^0.5.7", - "@lit/localize-tools": "^0.6.3", - "@open-wc/eslint-config": "^2.0.0", - "@types/node": "14.11.1", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", - "bestzip": "^2.2.1", - "concurrently": "^5.1.0", - "deepmerge": "^3.2.0", - "eslint": "^7.1.0", - "eslint-config-prettier": "^6.11.0", - "prettier": "^2.0.4", - "tslib": "^2.0.0", - "typescript": "^4.9.0", - "vite": "^4.0.4", - "vite-plugin-checker": "^0.5.3" - }, - "publishConfig": { - "access": "public" - }, - "prettier": { - "singleQuote": true, - "arrowParens": "avoid" - }, - "customElements": "custom-elements.json", - "type": "module" + "name": "@holochain-open-dev/profiles", + "version": "0.300.0", + "description": "Frontend module for the Holochain hc_zome_profiles zomes", + "author": "guillem.cordoba@gmail.com", + "license": "MIT", + "main": "dist/index.js", + "module": "dist/index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/holochain-open-dev/profiles.git" + }, + "exports": { + ".": "./dist/index.js", + "./locales/*": "./locales/*", + "./dist/*": "./dist/*" + }, + "files": ["dist", "README.md", "src", "locales"], + "scripts": { + "start": "vite --clearScreen false --port $UI_PORT", + "build": "tsc && npm run localize:build", + "lint": "eslint src", + "analyze": "cem analyze --litelement --exclude dist", + "format": "eslint src --fix", + "localize:extract": "lit-localize extract", + "localize:build": "lit-localize build", + "prepare": "npm run build" + }, + "dependencies": { + "@holochain-open-dev/elements": "^0.300.1", + "@holochain-open-dev/signals": "^0.300.6", + "@holochain-open-dev/utils": "^0.300.2", + "@holochain/client": "^0.17.1", + "@lit/context": "^1.0.1", + "@lit/localize": "^0.12.0", + "@mdi/js": "^7.1.96", + "@msgpack/msgpack": "^2.7.0", + "@shoelace-style/shoelace": "^2.11.0", + "lit": "^3.0.2" + }, + "devDependencies": { + "@custom-elements-manifest/analyzer": "^0.5.7", + "@lit/localize-tools": "^0.6.3", + "tslib": "^2.0.0", + "typescript": "^5.4.0", + "vite": "^4.0.4", + "vite-plugin-checker": "^0.5.3" + }, + "publishConfig": { + "access": "public" + }, + "customElements": "custom-elements.json", + "type": "module" } diff --git a/ui/src/context.ts b/ui/src/context.ts index a59e82514..a527ada19 100644 --- a/ui/src/context.ts +++ b/ui/src/context.ts @@ -1,6 +1,7 @@ -import { createContext } from "@lit/context"; -import { ProfilesStore } from "./profiles-store"; +import { createContext } from '@lit/context'; + +import { ProfilesStore } from './profiles-store.js'; export const profilesStoreContext = createContext( - "hc_zome_profiles/store" + 'hc_zome_profiles/store', ); diff --git a/ui/src/elements/agent-avatar.ts b/ui/src/elements/agent-avatar.ts index 4fc92dbbf..f6a1a8da4 100644 --- a/ui/src/elements/agent-avatar.ts +++ b/ui/src/elements/agent-avatar.ts @@ -1,15 +1,12 @@ import { consume } from "@lit/context"; -import { - hashProperty, - sharedStyles, -} from "@holochain-open-dev/elements"; +import { hashProperty, sharedStyles } from "@holochain-open-dev/elements"; import { css, html, LitElement } from "lit"; import { property, customElement } from "lit/decorators.js"; -import { styleMap } from "lit-html/directives/style-map.js"; -import { AgentPubKey, } from "@holochain/client"; +import { styleMap } from "lit/directives/style-map.js"; +import { AgentPubKey } from "@holochain/client"; import { localized, msg } from "@lit/localize"; -import { StoreSubscriber } from "@holochain-open-dev/stores"; import { EntryRecord } from "@holochain-open-dev/utils"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@holochain-open-dev/elements/dist/elements/display-error.js"; import "@holochain-open-dev/elements/dist/elements/holo-identicon.js"; @@ -23,7 +20,7 @@ import { Profile } from "../types.js"; @localized() @customElement("agent-avatar") -export class AgentAvatar extends LitElement { +export class AgentAvatar extends SignalWatcher(LitElement) { /** Public properties */ /** @@ -59,22 +56,13 @@ export class AgentAvatar extends LitElement { @property() store!: ProfilesStore; - /** - * @internal - */ - private _agentProfile = new StoreSubscriber( - this, - () => this.store.profiles.get(this.agentPubKey), - () => [this.agentPubKey, this.store] - ); - renderIdenticon() { return html`
- this.dispatchEvent( - new CustomEvent("profile-clicked", { - composed: true, - bubbles: true, - detail: { - agentPubKey: this.agentPubKey, - }, - }) - )} + this.dispatchEvent( + new CustomEvent("profile-clicked", { + composed: true, + bubbles: true, + detail: { + agentPubKey: this.agentPubKey, + }, + }) + )} >
@@ -139,20 +127,23 @@ export class AgentAvatar extends LitElement { render() { if (this.store.config.avatarMode === "identicon") return this.renderIdenticon(); - switch (this._agentProfile.value.status) { + + const profile = this.store.profiles.get(this.agentPubKey).get(); + + switch (profile.status) { case "pending": return html``; - case "complete": - return this.renderProfile(this._agentProfile.value.value); + case "completed": + return this.renderProfile(profile.value); case "error": return html` `; } diff --git a/ui/src/elements/agent-mention.ts b/ui/src/elements/agent-mention.ts index e6a16cca2..a09a58b96 100644 --- a/ui/src/elements/agent-mention.ts +++ b/ui/src/elements/agent-mention.ts @@ -2,11 +2,11 @@ import { consume } from "@lit/context"; import { hashProperty, sharedStyles } from "@holochain-open-dev/elements"; import { css, html, LitElement } from "lit"; import { property, customElement } from "lit/decorators.js"; -import { styleMap } from "lit-html/directives/style-map.js"; +import { styleMap } from "lit/directives/style-map.js"; import { AgentPubKey } from "@holochain/client"; import { localized, msg } from "@lit/localize"; -import { StoreSubscriber } from "@holochain-open-dev/stores"; import { EntryRecord } from "@holochain-open-dev/utils"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@holochain-open-dev/elements/dist/elements/display-error.js"; import "@holochain-open-dev/elements/dist/elements/holo-identicon.js"; @@ -21,7 +21,7 @@ import { Profile } from "../types.js"; @localized() @customElement("agent-mention") -export class AgentMention extends LitElement { +export class AgentMention extends SignalWatcher(LitElement) { /** Public properties */ /** @@ -45,15 +45,6 @@ export class AgentMention extends LitElement { @property() store!: ProfilesStore; - /** - * @internal - */ - private _agentProfile = new StoreSubscriber( - this, - () => this.store.profiles.get(this.agentPubKey), - () => [this.agentPubKey, this.store] - ); - renderAvatar(profile: EntryRecord | undefined) { if (!profile || !profile.entry.fields.avatar) { return html`
`; - case "complete": - return this.renderProfile(this._agentProfile.value.value); + case "completed": + return this.renderProfile(profile.value); case "error": return html` `; } diff --git a/ui/src/elements/agents-avatars.ts b/ui/src/elements/agents-avatars.ts index 253295a27..e820e346e 100644 --- a/ui/src/elements/agents-avatars.ts +++ b/ui/src/elements/agents-avatars.ts @@ -3,13 +3,14 @@ import { AgentPubKey } from "@holochain/client"; import { localized } from "@lit/localize"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators.js"; +import { SignalWatcher } from "@holochain-open-dev/signals"; /** * @element agents-avatars */ @localized() @customElement("agents-avatars") -export class AgentsAvatars extends LitElement { +export class AgentsAvatars extends SignalWatcher(LitElement) { @property() agents!: AgentPubKey[]; diff --git a/ui/src/elements/create-profile.ts b/ui/src/elements/create-profile.ts index 38ffff123..400ad9119 100644 --- a/ui/src/elements/create-profile.ts +++ b/ui/src/elements/create-profile.ts @@ -3,6 +3,7 @@ import { property, customElement } from "lit/decorators.js"; import { consume } from "@lit/context"; import { localized, msg } from "@lit/localize"; import { sharedStyles, notifyError } from "@holochain-open-dev/elements"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@shoelace-style/shoelace/dist/components/alert/alert.js"; import "@shoelace-style/shoelace/dist/components/card/card.js"; @@ -20,7 +21,7 @@ import { Profile } from "../types.js"; */ @localized() @customElement("create-profile") -export class CreateProfile extends LitElement { +export class CreateProfile extends SignalWatcher(LitElement) { /** * Profiles store for this element, not required if you embed this element inside a */ diff --git a/ui/src/elements/edit-profile.ts b/ui/src/elements/edit-profile.ts index aa06814d4..b25a21300 100644 --- a/ui/src/elements/edit-profile.ts +++ b/ui/src/elements/edit-profile.ts @@ -4,6 +4,7 @@ import { localized, msg, str } from "@lit/localize"; import { consume } from "@lit/context"; import { onSubmit, sharedStyles } from "@holochain-open-dev/elements"; import { EntryRecord } from "@holochain-open-dev/utils"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@shoelace-style/shoelace/dist/components/avatar/avatar.js"; import "@shoelace-style/shoelace/dist/components/button/button.js"; @@ -22,7 +23,7 @@ import { FieldConfig } from "../config.js"; */ @localized() @customElement("edit-profile") -export class EditProfile extends LitElement { +export class EditProfile extends SignalWatcher(LitElement) { /** * The profile to be edited. */ diff --git a/ui/src/elements/list-profiles.ts b/ui/src/elements/list-profiles.ts index ee0771be0..2332e4579 100644 --- a/ui/src/elements/list-profiles.ts +++ b/ui/src/elements/list-profiles.ts @@ -1,113 +1,109 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators.js"; -import { AgentPubKey } from "@holochain/client"; -import { consume } from "@lit/context"; -import { sharedStyles } from "@holochain-open-dev/elements"; -import { StoreSubscriber } from "@holochain-open-dev/stores"; -import { localized, msg } from "@lit/localize"; +import { sharedStyles } from '@holochain-open-dev/elements'; +import '@holochain-open-dev/elements/dist/elements/display-error.js'; +import { SignalWatcher } from '@holochain-open-dev/signals'; +import { EntryRecord } from '@holochain-open-dev/utils'; +import { AgentPubKey } from '@holochain/client'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import { LitElement, css, html } from 'lit'; +import { customElement, property } from 'lit/decorators.js'; -import "@holochain-open-dev/elements/dist/elements/display-error.js"; -import "./agent-avatar.js"; -import "./profile-list-item-skeleton.js"; - -import { ProfilesStore } from "../profiles-store"; -import { profilesStoreContext } from "../context"; -import { Profile } from "../types"; -import { EntryRecord } from "@holochain-open-dev/utils"; +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import { Profile } from '../types.js'; +import './agent-avatar.js'; +import './profile-list-item-skeleton.js'; /** * @element list-profiles * @fires agent-selected - Fired when the user selects an agent from the list. Detail will have this shape: { agentPubKey: } */ @localized() -@customElement("list-profiles") -export class ListProfiles extends LitElement { - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; +@customElement('list-profiles') +export class ListProfiles extends SignalWatcher(LitElement) { + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; - /** Private properties */ + /** Private properties */ - /** - * @internal - */ - private _allProfiles = new StoreSubscriber( - this, - () => this.store.allProfiles, - () => [this.store] - ); + initials(nickname: string): string { + return nickname + .split(' ') + .map(name => name[0]) + .join(''); + } - initials(nickname: string): string { - return nickname - .split(" ") - .map((name) => name[0]) - .join(""); - } + fireAgentSelected(agentPubKey: AgentPubKey) { + if (agentPubKey) { + this.dispatchEvent( + new CustomEvent('agent-selected', { + bubbles: true, + composed: true, + detail: { + agentPubKey, + }, + }), + ); + } + } - fireAgentSelected(agentPubKey: AgentPubKey) { - if (agentPubKey) { - this.dispatchEvent( - new CustomEvent("agent-selected", { - bubbles: true, - composed: true, - detail: { - agentPubKey, - }, - }) - ); - } - } + renderList( + profiles: ReadonlyMap | undefined>, + ) { + if (profiles.size === 0) + return html`${msg('There are no created profiles yet')} >`; - renderList(profiles: ReadonlyMap>) { - if (profiles.size === 0) - return html`${msg("There are no created profiles yet")} >`; + return html` +
+ ${Array.from(profiles.entries()).map( + ([agent_pub_key, profile]) => html` +
+ this.fireAgentSelected(agent_pub_key)} + > + ${profile?.entry.nickname} +
+ `, + )} +
+ `; + } - return html` -
- ${Array.from(profiles.entries()).map( - ([agent_pub_key, profile]) => html` -
- this.fireAgentSelected(agent_pub_key)} - > - ${profile.entry.nickname} -
- ` - )} -
- `; - } + render() { + const allProfiles = this.store.allProfiles.get(); - render() { - switch (this._allProfiles.value.status) { - case "pending": - return html`
- - - -
`; - case "error": - return html``; - case "complete": - return this.renderList(this._allProfiles.value.value); - } - } + switch (allProfiles.status) { + case 'pending': + return html`
+ + + +
`; + case 'error': + return html``; + case 'completed': + return this.renderList(allProfiles.value); + } + } - static styles = [ - sharedStyles, - css` - :host { - display: flex; - } - `, - ]; + static styles = [ + sharedStyles, + css` + :host { + display: flex; + } + `, + ]; } diff --git a/ui/src/elements/my-profile.ts b/ui/src/elements/my-profile.ts index b5c5d1cf8..8b79369c5 100644 --- a/ui/src/elements/my-profile.ts +++ b/ui/src/elements/my-profile.ts @@ -2,6 +2,7 @@ import { consume } from "@lit/context"; import { html, LitElement } from "lit"; import { property, state, customElement } from "lit/decorators.js"; import { sharedStyles, wrapPathInSvg } from "@holochain-open-dev/elements"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import { mdiPencil } from "@mdi/js"; import "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js"; @@ -16,7 +17,7 @@ import "./profile-detail.js"; * @element my-profile */ @customElement("my-profile") -export class MyProfile extends LitElement { +export class MyProfile extends SignalWatcher(LitElement) { /** * Profiles store for this element, not required if you embed this element inside a */ diff --git a/ui/src/elements/profile-detail.ts b/ui/src/elements/profile-detail.ts index 75695d6ba..a938a37ce 100644 --- a/ui/src/elements/profile-detail.ts +++ b/ui/src/elements/profile-detail.ts @@ -1,10 +1,10 @@ import { consume } from "@lit/context"; import { AgentPubKey } from "@holochain/client"; import { html, LitElement } from "lit"; -import { StoreSubscriber } from "@holochain-open-dev/stores"; import { customElement, property } from "lit/decorators.js"; import { localized, msg } from "@lit/localize"; import { hashProperty, sharedStyles } from "@holochain-open-dev/elements"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@holochain-open-dev/elements/dist/elements/display-error.js"; import "@shoelace-style/shoelace/dist/components/skeleton/skeleton.js"; @@ -20,7 +20,7 @@ import { EntryRecord } from "@holochain-open-dev/utils"; */ @localized() @customElement("profile-detail") -export class ProfileDetail extends LitElement { +export class ProfileDetail extends SignalWatcher(LitElement) { /** Public properties */ /** @@ -38,15 +38,6 @@ export class ProfileDetail extends LitElement { /** Private properties */ - /** - * @internal - */ - private _agentProfile = new StoreSubscriber( - this, - () => this.store.profiles.get(this.agentPubKey), - () => [this.agentPubKey, this.store] - ); - getAdditionalFields(profile: Profile): Record { const fields: Record = {}; @@ -106,7 +97,8 @@ export class ProfileDetail extends LitElement { } render() { - switch (this._agentProfile.value.status) { + const profile = this.store.profiles.get(this.agentPubKey).get(); + switch (profile.status) { case "pending": return html`
@@ -133,12 +125,12 @@ export class ProfileDetail extends LitElement { )}
`; - case "complete": - return this.renderProfile(this._agentProfile.value.value); + case "completed": + return this.renderProfile(profile.value); case "error": return html``; } } diff --git a/ui/src/elements/profile-list-item-skeleton.ts b/ui/src/elements/profile-list-item-skeleton.ts index b1dd13e4e..3eec7e154 100644 --- a/ui/src/elements/profile-list-item-skeleton.ts +++ b/ui/src/elements/profile-list-item-skeleton.ts @@ -1,6 +1,7 @@ import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators.js"; import { sharedStyles } from "@holochain-open-dev/elements"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import "@shoelace-style/shoelace/dist/components/skeleton/skeleton.js"; @@ -8,7 +9,7 @@ import "@shoelace-style/shoelace/dist/components/skeleton/skeleton.js"; * @element profile-list-item-skeleton */ @customElement("profile-list-item-skeleton") -export class ProfileListItemSkeleton extends LitElement { +export class ProfileListItemSkeleton extends SignalWatcher(LitElement) { render() { return html`
this.store.profiles.get(this.agentPubKey), - () => [this.store, this.agentPubKey] - ); - render() { - switch (this._profile.value.status) { + const profile = this.store.profiles.get(this.agentPubKey).get(); + switch (profile.status) { case "pending": return html``; - case "complete": + case "completed": return html`
- ${this._profile.value.value?.entry.nickname} + ${profile.value?.entry.nickname}
`; case "error": return html``; } } diff --git a/ui/src/elements/profile-prompt.ts b/ui/src/elements/profile-prompt.ts index 9ae84d15d..ad0cc1d3b 100644 --- a/ui/src/elements/profile-prompt.ts +++ b/ui/src/elements/profile-prompt.ts @@ -1,81 +1,78 @@ -import { TemplateResult, css, html, LitElement } from "lit"; -import { property, customElement } from "lit/decorators.js"; -import { localized, msg } from "@lit/localize"; -import { consume } from "@lit/context"; -import { - AsyncReadable, - AsyncStatus, - subscribe, -} from "@holochain-open-dev/stores"; -import { - sharedStyles, - withSpinnerAndDisplayError, -} from "@holochain-open-dev/elements"; +import { sharedStyles } from '@holochain-open-dev/elements'; +import '@holochain-open-dev/elements/dist/elements/display-error.js'; +import { SignalWatcher } from '@holochain-open-dev/signals'; +import { EntryRecord } from '@holochain-open-dev/utils'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import '@shoelace-style/shoelace/dist/components/spinner/spinner.js'; +import { LitElement, css, html } from 'lit'; +import { customElement, property } from 'lit/decorators.js'; -import "@shoelace-style/shoelace/dist/components/spinner/spinner.js"; -import "@holochain-open-dev/elements/dist/elements/display-error.js"; - -import "./create-profile.js"; - -import { ProfilesStore } from "../profiles-store.js"; -import { profilesStoreContext } from "../context.js"; -import { Profile } from "../types.js"; -import { EntryRecord } from "@holochain-open-dev/utils"; +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import { Profile } from '../types.js'; +import './create-profile.js'; /** * @element profile-prompt * @slot hero - Will be displayed above the create-profile form when the user is prompted with it */ @localized() -@customElement("profile-prompt") -export class ProfilePrompt extends LitElement { - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; +@customElement('profile-prompt') +export class ProfilePrompt extends SignalWatcher(LitElement) { + /** + * Profiles store for this element, not required if you embed this element inside a `` + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; + + /** Private properties */ - /** Private properties */ + private renderPrompt(myProfile: EntryRecord | undefined) { + if (myProfile) return html``; - renderPrompt(myProfile: EntryRecord | undefined) { - if (myProfile) return html``; + return html` +
+
+ + +
+
+ `; + } - return html` -
-
- - -
-
- `; - } + render() { + const myProfile = this.store.myProfile.get(); - render() { - return html`${subscribe( - this.store.myProfile, - withSpinnerAndDisplayError({ - complete: (p) => this.renderPrompt(p), - error: { - label: msg("Error fetching your profile"), - tooltip: false, - }, - }) - )}`; - } + switch (myProfile.status) { + case 'pending': + return html`
+ +
`; + case 'error': + return html``; + case 'completed': + return this.renderPrompt(myProfile.value); + } + } - static get styles() { - return [ - sharedStyles, - css` - :host { - display: flex; - flex: 1; - } - `, - ]; - } + static styles = [ + sharedStyles, + css` + :host { + display: flex; + flex: 1; + } + `, + ]; } diff --git a/ui/src/elements/profiles-context.ts b/ui/src/elements/profiles-context.ts index 38b224dd1..f32fe4c11 100644 --- a/ui/src/elements/profiles-context.ts +++ b/ui/src/elements/profiles-context.ts @@ -1,12 +1,13 @@ import { css, html, LitElement } from "lit"; import { provide } from "@lit/context"; import { property, customElement } from "lit/decorators.js"; +import { SignalWatcher } from "@holochain-open-dev/signals"; import { profilesStoreContext } from "../context.js"; import { ProfilesStore } from "../profiles-store.js"; @customElement("profiles-context") -export class ProfilesContext extends LitElement { +export class ProfilesContext extends SignalWatcher(LitElement) { @provide({ context: profilesStoreContext }) @property({ type: Object }) store!: ProfilesStore; diff --git a/ui/src/elements/search-agent-dropdown.ts b/ui/src/elements/search-agent-dropdown.ts index 2f2334200..df5895622 100644 --- a/ui/src/elements/search-agent-dropdown.ts +++ b/ui/src/elements/search-agent-dropdown.ts @@ -1,191 +1,196 @@ -import { customElement, property, query } from "lit/decorators.js"; -import { ifDefined } from "lit/directives/if-defined.js"; -import { css, html, LitElement } from "lit"; -import { consume } from "@lit/context"; -import { localized, msg } from "@lit/localize"; +import { sharedStyles } from '@holochain-open-dev/elements'; +import '@holochain-open-dev/elements/dist/elements/display-error.js'; import { - AgentPubKey, - decodeHashFromBase64, - encodeHashToBase64, -} from "@holochain/client"; + AsyncComputed, + Signal, + SignalWatcher, + joinAsyncMap, + pipe, + toPromise, +} from '@holochain-open-dev/signals'; import { - AsyncStatus, - completed, - StoreSubscriber, - toPromise, -} from "@holochain-open-dev/stores"; - -import "@holochain-open-dev/elements/dist/elements/display-error.js"; -import "@shoelace-style/shoelace/dist/components/skeleton/skeleton.js"; -import "@shoelace-style/shoelace/dist/components/menu/menu.js"; -import "@shoelace-style/shoelace/dist/components/menu-item/menu-item.js"; -import "@shoelace-style/shoelace/dist/components/dropdown/dropdown.js"; -import "@shoelace-style/shoelace/dist/components/input/input.js"; -import SlDropdown from "@shoelace-style/shoelace/dist/components/dropdown/dropdown.js"; - -import "./agent-avatar.js"; -import "./profile-list-item-skeleton.js"; - -import { ProfilesStore } from "../profiles-store.js"; -import { profilesStoreContext } from "../context.js"; -import { sharedStyles } from "@holochain-open-dev/elements"; -import { EntryRecord } from "@holochain-open-dev/utils"; -import { Profile } from "../types.js"; + EntryRecord, + HoloHashMap, + mapValues, + slice, +} from '@holochain-open-dev/utils'; +import { + AgentPubKey, + decodeHashFromBase64, + encodeHashToBase64, +} from '@holochain/client'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import SlDropdown from '@shoelace-style/shoelace/dist/components/dropdown/dropdown.js'; +import '@shoelace-style/shoelace/dist/components/input/input.js'; +import '@shoelace-style/shoelace/dist/components/menu-item/menu-item.js'; +import '@shoelace-style/shoelace/dist/components/menu/menu.js'; +import '@shoelace-style/shoelace/dist/components/skeleton/skeleton.js'; +import { LitElement, css, html } from 'lit'; +import { customElement, property, query } from 'lit/decorators.js'; +import { ifDefined } from 'lit/directives/if-defined.js'; + +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import { Profile } from '../types.js'; +import './agent-avatar.js'; +import './profile-list-item-skeleton.js'; /** * @element search-agent-dropdown * @fires agent-selected - Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash } */ @localized() -@customElement("search-agent-dropdown") -export class SearchAgentDropdown extends LitElement { - /** Public attributes */ - - @property() - searchFilter: string | undefined; - - @property() - open: boolean | undefined; - - /** - * Whether to include my own agent as a possible agent to select. - * @attr include-myself - */ - @property({ type: Boolean, attribute: "include-myself" }) - includeMyself = false; - - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; - - /** - * @internal - */ - private _searchProfiles = new StoreSubscriber< - AsyncStatus> | undefined> - >( - this, - () => - this.searchFilter && this.searchFilter.length >= 3 - ? this.store.searchProfiles(this.searchFilter) - : completed(undefined), - () => [this.searchFilter] - ); - - /** - * @internal - */ - @query("#dropdown") - public dropdown!: SlDropdown; - - async onUsernameSelected(agentPubKey: AgentPubKey) { - const profile = await toPromise(this.store.profiles.get(agentPubKey)); - this.dispatchEvent( - new CustomEvent("agent-selected", { - detail: { - agentPubKey, - profile, - }, - bubbles: true, - composed: true, - }) - ); - } - - renderAgentList() { - if (!this._searchProfiles.value) - return html`${msg("Enter at least 3 chars to search...")}`; - switch (this._searchProfiles.value.status) { - case "pending": - return Array(3).map( - () => html` - - - - - ` - ); - case "error": - return html` - - `; - case "complete": { - if (!this._searchProfiles.value.value) - return html`${msg("Enter at least 3 chars to search...")}`; - let agents = Array.from(this._searchProfiles.value.value.entries()); - - if (!this.includeMyself) { - agents = agents.filter( - ([pubkey, _profile]) => - pubkey.toString() !== this.store.client.client.myPubKey.toString() - ); - } - - if (agents.length === 0) - return html` - ${msg("No agents match the filter")} - `; - - return html` - ${agents.map( - ([pubkey, profile]) => html` - - - ${profile.entry.nickname} - - ` - )} - `; - } - } - } - - render() { - return html` - - - { - this.onUsernameSelected(decodeHashFromBase64(e.detail.item.value)); - }} - > - ${this.renderAgentList()} - - - `; - } - - static get styles() { - return [ - sharedStyles, - css` - :host { - display: flex; - } - `, - ]; - } +@customElement('search-agent-dropdown') +export class SearchAgentDropdown extends SignalWatcher(LitElement) { + /** Public attributes */ + + set searchFilter(sf: string | undefined) { + this._searchFilter.set(sf); + } + get searchFilter() { + return this._searchFilter.get(); + } + + _searchFilter = new Signal.State(undefined); + + @property() + open: boolean | undefined; + + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; + + /** + * Agents that won't be listed in the search + */ + @property() + excludedAgents: AgentPubKey[] = []; + + /** + * @internal + */ + _searchProfiles = pipe( + this._searchFilter, + filter => this.store.client.searchAgents(filter!), + agents => { + const profiles = slice(this.store.profiles, agents); + return joinAsyncMap(mapValues(profiles, p => p.get())); + }, + ); + + /** + * @internal + */ + @query('#dropdown') + public dropdown!: SlDropdown; + + async onUsernameSelected(agentPubKey: AgentPubKey) { + const profile = await toPromise(this.store.profiles.get(agentPubKey)); + this.dispatchEvent( + new CustomEvent('agent-selected', { + detail: { + agentPubKey, + profile, + }, + bubbles: true, + composed: true, + }), + ); + } + + renderAgentList() { + const sf = this._searchFilter.get(); + if (!sf || sf.length < 3) + return html`${msg('Enter at least 3 chars to search...')}`; + + const searchResult = this._searchProfiles.get(); + + switch (searchResult.status) { + case 'pending': + return Array(3).map( + () => html` + + + + + `, + ); + case 'error': + return html` + + `; + case 'completed': { + let agents = Array.from(searchResult.value.entries()); + let excludedStr = this.excludedAgents.map(a => a.toString()); + + agents = agents.filter( + ([pubkey, _profile]) => !excludedStr.includes(pubkey.toString()), + ); + + if (agents.length === 0) + return html` + ${msg('No agents match the filter')} + `; + + return html` + ${agents.map( + ([pubkey, profile]) => html` + + + ${profile?.entry.nickname} + + `, + )} + `; + } + } + } + + render() { + return html` + + + { + this.onUsernameSelected(decodeHashFromBase64(e.detail.item.value)); + }} + > + ${this.renderAgentList()} + + + `; + } + + static get styles() { + return [ + sharedStyles, + css` + :host { + display: flex; + } + `, + ]; + } } diff --git a/ui/src/elements/search-agent.ts b/ui/src/elements/search-agent.ts index f63bf4756..0c0fa5bdb 100644 --- a/ui/src/elements/search-agent.ts +++ b/ui/src/elements/search-agent.ts @@ -1,195 +1,195 @@ -import { customElement, property, state, query } from "lit/decorators.js"; -import { css, html, LitElement } from "lit"; -import { consume } from "@lit/context"; -import { localized, msg } from "@lit/localize"; -import { AgentPubKey } from "@holochain/client"; import { - FormField, - FormFieldController, - hashProperty, - sharedStyles, -} from "@holochain-open-dev/elements"; - -import "@holochain-open-dev/elements/dist/elements/display-error.js"; -import "@shoelace-style/shoelace/dist/components/skeleton/skeleton.js"; -import "@shoelace-style/shoelace/dist/components/menu/menu.js"; -import "@shoelace-style/shoelace/dist/components/menu-item/menu-item.js"; -import "@shoelace-style/shoelace/dist/components/dropdown/dropdown.js"; -import "@shoelace-style/shoelace/dist/components/input/input.js"; -import SlInput from "@shoelace-style/shoelace/dist/components/input/input"; - -import "./agent-avatar.js"; -import "./profile-list-item-skeleton.js"; -import "./search-agent-dropdown.js"; - -import { Profile } from "../types.js"; -import { ProfilesStore } from "../profiles-store.js"; -import { profilesStoreContext } from "../context.js"; -import { EntryRecord } from "@holochain-open-dev/utils"; + FormField, + FormFieldController, + hashProperty, + sharedStyles, +} from '@holochain-open-dev/elements'; +import '@holochain-open-dev/elements/dist/elements/display-error.js'; +import { SignalWatcher } from '@holochain-open-dev/signals'; +import { EntryRecord } from '@holochain-open-dev/utils'; +import { AgentPubKey } from '@holochain/client'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import '@shoelace-style/shoelace/dist/components/dropdown/dropdown.js'; +import SlInput from '@shoelace-style/shoelace/dist/components/input/input.js'; +import '@shoelace-style/shoelace/dist/components/menu-item/menu-item.js'; +import '@shoelace-style/shoelace/dist/components/menu/menu.js'; +import '@shoelace-style/shoelace/dist/components/skeleton/skeleton.js'; +import { LitElement, css, html } from 'lit'; +import { customElement, property, query, state } from 'lit/decorators.js'; + +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import { Profile } from '../types.js'; +import './agent-avatar.js'; +import './profile-list-item-skeleton.js'; +import './search-agent-dropdown.js'; /** * @element search-agent * @fires agent-selected - Fired when the user selects some agent. Detail will have this shape: { agentPubKey: HoloHash } */ @localized() -@customElement("search-agent") -export class SearchAgent extends LitElement implements FormField { - /** Form field properties */ - - /** - * The name of the field if this element is used inside a form - * Required only if the element is used inside a form - */ - @property() - name!: string; - - /** - * The default value of the field if this element is used inside a form - */ - @property(hashProperty("default-value")) - defaultValue: AgentPubKey | undefined; - - /** - * Whether this field is required if this element is used inside a form - */ - @property() - required = false; - - /** - * Whether this field is disabled if this element is used inside a form - */ - @property() - disabled = false; - - /** - * @internal - */ - @state() - value!: AgentPubKey | undefined; - - /** Public attributes */ - - /** - * Whether to clear the field when an agent is selected. - * @attr clear-on-select - */ - @property({ type: Boolean, attribute: "clear-on-select" }) - clearOnSelect = false; - - /** - * Whether to include my own agent as a possible agent to select. - * @attr include-myself - */ - @property({ type: Boolean, attribute: "include-myself" }) - includeMyself = false; - - /** - * Label for the agent searching field. - * @attr field-label - */ - @property({ type: String, attribute: "field-label" }) - fieldLabel!: string; - - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; - - /** - * @internal - */ - _controller = new FormFieldController(this); - - reportValidity() { - const invalid = this.required !== false && this.value === undefined; - - if (invalid) { - this._textField.setCustomValidity(`This field is required`); - this._textField.reportValidity(); - } - - return !invalid; - } - - async reset() { - this.value = this.defaultValue; - if (this.defaultValue) { - const profile = await this.store.client.getAgentProfile( - this.defaultValue - ); - this._textField.value = profile?.entry.nickname || ""; - } else { - this._textField.value = ""; - } - } - - /** - * @internal - */ - @query("#textfield") - private _textField!: SlInput; - - @state() - searchFilter = ""; - - onUsernameSelected(agentPubKey: AgentPubKey, profile: EntryRecord) { - this.value = agentPubKey; - - // If the consumer says so, clear the field - if (this.clearOnSelect) { - this._textField.value = ""; - } else { - this._textField.value = profile.entry.nickname; - } - this.searchFilter = ""; - } - - /** - * @internal - */ - get _label() { - let l = this.fieldLabel ? this.fieldLabel : msg("Search Agent"); - - if (this.required !== false) l = `${l} *`; - - return l; - } - - render() { - return html` -
- = 3} - style="flex: 1" - .includeMyself=${this.includeMyself} - .searchFilter=${this.searchFilter} - @agent-selected=${(e: CustomEvent) => - this.onUsernameSelected(e.detail.agentPubKey, e.detail.profile)} - > - { - this.searchFilter = (e.target as SlInput).value; - }} - > - -
- `; - } - - static get styles() { - return [ - sharedStyles, - css` - :host { - display: flex; - } - `, - ]; - } +@customElement('search-agent') +export class SearchAgent + extends SignalWatcher(LitElement) + implements FormField +{ + /** Form field properties */ + + /** + * The name of the field if this element is used inside a form + * Required only if the element is used inside a form + */ + @property() + name!: string; + + /** + * The default value of the field if this element is used inside a form + */ + @property(hashProperty('default-value')) + defaultValue: AgentPubKey | undefined; + + /** + * Whether this field is required if this element is used inside a form + */ + @property() + required = false; + + /** + * Whether this field is disabled if this element is used inside a form + */ + @property() + disabled = false; + + /** + * @internal + */ + @state() + value!: AgentPubKey | undefined; + + /** Public attributes */ + + /** + * Whether to clear the field when an agent is selected. + * @attr clear-on-select + */ + @property({ type: Boolean, attribute: 'clear-on-select' }) + clearOnSelect = false; + + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; + + /** + * Agents that won't be listed in the search + */ + @property() + excludedAgents: AgentPubKey[] = []; + + /** + * Label for the agent searching field. + * @attr field-label + */ + @property({ type: String, attribute: 'field-label' }) + fieldLabel!: string; + + /** + * @internal + */ + _controller = new FormFieldController(this); + + reportValidity() { + const invalid = this.required !== false && this.value === undefined; + + if (invalid) { + this._textField.setCustomValidity(`This field is required`); + this._textField.reportValidity(); + } + + return !invalid; + } + + async reset() { + this.value = this.defaultValue; + if (this.defaultValue) { + const profile = await this.store.client.getAgentProfile( + this.defaultValue, + ); + this._textField.value = profile?.entry.nickname || ''; + } else { + this._textField.value = ''; + } + } + + /** + * @internal + */ + @query('#textfield') + private _textField!: SlInput; + + @state() + searchFilter = ''; + + onUsernameSelected(agentPubKey: AgentPubKey, profile: EntryRecord) { + this.value = agentPubKey; + + // If the consumer says so, clear the field + if (this.clearOnSelect) { + this._textField.value = ''; + } else { + this._textField.value = profile.entry.nickname; + } + this.searchFilter = ''; + } + + /** + * @internal + */ + get _label() { + let l = this.fieldLabel ? this.fieldLabel : msg('Search Agent'); + + if (this.required !== false) l = `${l} *`; + + return l; + } + + render() { + return html` +
+ = 3} + style="flex: 1" + .excludedAgents=${this.excludedAgents} + .searchFilter=${this.searchFilter} + @agent-selected=${(e: CustomEvent) => + this.onUsernameSelected(e.detail.agentPubKey, e.detail.profile)} + > + { + this.searchFilter = (e.target as SlInput).value; + }} + > + +
+ `; + } + + static get styles() { + return [ + sharedStyles, + css` + :host { + display: flex; + } + `, + ]; + } } diff --git a/ui/src/elements/search-agents.ts b/ui/src/elements/search-agents.ts index 99513daee..a9a823989 100644 --- a/ui/src/elements/search-agents.ts +++ b/ui/src/elements/search-agents.ts @@ -1,125 +1,155 @@ -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators.js"; - -import "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js"; import { - FormField, - FormFieldController, - hashProperty, - sharedStyles, - wrapPathInSvg, -} from "@holochain-open-dev/elements"; -import { AgentPubKey } from "@holochain/client"; -import { localized, msg } from "@lit/localize"; -import { mdiDelete } from "@mdi/js"; - -import "./profile-list-item.js"; -import "./search-agent.js"; + FormField, + FormFieldController, + hashProperty, + sharedStyles, + wrapPathInSvg, +} from '@holochain-open-dev/elements'; +import { SignalWatcher } from '@holochain-open-dev/signals'; +import { AgentPubKey } from '@holochain/client'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import { mdiDelete } from '@mdi/js'; +import '@shoelace-style/shoelace/dist/components/icon-button/icon-button.js'; +import { LitElement, html } from 'lit'; +import { customElement, property, state } from 'lit/decorators.js'; + +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import './profile-list-item.js'; +import './search-agent.js'; /** * @element search-agents */ @localized() -@customElement("search-agents") -export class SearchAgents extends LitElement implements FormField { - /** Form field properties */ - - /** - * The name of the field if this element is used inside a form - * Required only if the element is used inside a form - */ - @property() - name!: string; - - /** - * The default value of the field if this element is used inside a form - */ - @property(hashProperty("default-value")) - defaultValue: Array = []; - - /** - * Whether this field is required if this element is used inside a form - */ - @property() - required = false; - - /** - * Whether this field is disabled if this element is used inside a form - */ - @property() - disabled = false; - - /** - * Label for the agent searching field. - * @attr field-label - */ - @property({ type: String, attribute: "field-label" }) - fieldLabel!: string; - - /** - * Placeholder to show when the list is empty. - * @attr empty-list-placeholder - */ - @property({ type: String, attribute: "empty-list-placeholder" }) - emptyListPlaceholder = msg("No agents selected yet."); - - /** - * Whether to include my own agent as a possible agent to select. - * @attr include-myself - */ - @property({ type: Boolean, attribute: "include-myself" }) - includeMyself = false; - - /** - * @internal - */ - _controller = new FormFieldController(this); - - reportValidity() { - return true; - } - - async reset() { - this.value = this.defaultValue; - } - - /** - * @internal - */ - @state() - value: AgentPubKey[] = []; - - render() { - return html` -
- { - this.value = [...this.value, e.detail.agentPubKey]; - }} - .includeMyself=${this.includeMyself} - > - ${this.value.length === 0 - ? html`${this.emptyListPlaceholder}` - : this.value.map( - (agent, i) => - html`
- { - this.value = this.value.filter((v, i2) => i2 !== i); - }} - > -
` - )} -
- `; - } - - static styles = [sharedStyles]; +@customElement('search-agents') +export class SearchAgents + extends SignalWatcher(LitElement) + implements FormField +{ + /** Form field properties */ + + /** + * The name of the field if this element is used inside a form + * Required only if the element is used inside a form + */ + @property() + name!: string; + + /** + * The default value of the field if this element is used inside a form + */ + @property(hashProperty('default-value')) + defaultValue: Array = []; + + /** + * Whether this field is required if this element is used inside a form + */ + @property() + required = false; + + /** + * Whether this field is disabled if this element is used inside a form + */ + @property() + disabled = false; + + /** + * Label for the agent searching field. + * @attr field-label + */ + @property({ type: String, attribute: 'field-label' }) + fieldLabel!: string; + + /** + * Placeholder to show when the list is empty. + * @attr empty-list-placeholder + */ + @property({ type: String, attribute: 'empty-list-placeholder' }) + emptyListPlaceholder = msg('No agents selected yet.'); + + /** + * @internal + */ + _controller = new FormFieldController(this); + + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; + + /** + * Agents that won't be listed in the search + */ + @property() + excludedAgents: AgentPubKey[] = []; + + reportValidity() { + return true; + } + + async reset() { + this.value = this.defaultValue; + } + + /** + * @internal + */ + @state() + value: AgentPubKey[] = []; + + render() { + return html` +
+ { + this.value = [...this.value, e.detail.agentPubKey]; + this.dispatchEvent( + new CustomEvent('agents-changed', { + composed: true, + bubbles: true, + detail: { + agents: this.value, + }, + }), + ); + }} + .excludedAgents=${this.excludedAgents} + > + ${this.value.length === 0 + ? html`${this.emptyListPlaceholder}` + : this.value.map( + (agent, i) => + html`
+ { + this.value = this.value.filter((v, i2) => i2 !== i); + this.dispatchEvent( + new CustomEvent('agents-changed', { + composed: true, + bubbles: true, + detail: { + agents: this.value, + }, + }), + ); + }} + > +
`, + )} +
+ `; + } + + static styles = [sharedStyles]; } diff --git a/ui/src/elements/textarea-with-mentions.ts b/ui/src/elements/textarea-with-mentions.ts index bc871e08c..3f3cee54c 100644 --- a/ui/src/elements/textarea-with-mentions.ts +++ b/ui/src/elements/textarea-with-mentions.ts @@ -1,146 +1,143 @@ -import { customElement, property } from "lit/decorators.js"; - -import { SlTextareaProsemirror } from "@holochain-open-dev/elements/dist/elements/sl-textarea-prosemirror.js"; -import { DnaHash, encodeHashToBase64 } from "@holochain/client"; -import { consume } from "@lit/context"; -import { localized, msg } from "@lit/localize"; +import { SlTextareaProsemirror } from '@holochain-open-dev/elements/dist/elements/sl-textarea-prosemirror.js'; import { - getCellIdFromRoleName, - joinHrlString, - splitHrlString, -} from "@holochain-open-dev/utils"; -import { Schema, NodeSpec } from "prosemirror-model"; -import { Plugin, PluginKey } from "prosemirror-state"; -import { baseKeymap } from "prosemirror-commands"; -import { keymap } from "prosemirror-keymap"; - -import { ProfilesStore } from "../profiles-store.js"; -import { profilesStoreContext } from "../context.js"; -import "./search-agent-dropdown.js"; -import "./agent-mention.js"; -import { SearchAgentDropdown } from "./search-agent-dropdown.js"; + getCellIdFromRoleName, + joinHrlString, + splitHrlString, +} from '@holochain-open-dev/utils'; +import { DnaHash, encodeHashToBase64 } from '@holochain/client'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import { customElement, property } from 'lit/decorators.js'; +import { baseKeymap } from 'prosemirror-commands'; +import { keymap } from 'prosemirror-keymap'; +import { NodeSpec, Schema } from 'prosemirror-model'; +import { Plugin, PluginKey } from 'prosemirror-state'; + +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import './agent-mention.js'; +import { SearchAgentDropdown } from './search-agent-dropdown.js'; export const agentMentionSpec: NodeSpec = { - attrs: { agentPubKey: {} }, - inline: true, - group: "inline", - draggable: true, - toDOM: (node) => { - console.log(node); - return [ - "agent-mention", - { "agent-pub-key": encodeHashToBase64(node.attrs.agentPubKey) }, - ]; - }, - parseDOM: [{ tag: "agent-mention" }], + attrs: { agentPubKey: {} }, + inline: true, + group: 'inline', + draggable: true, + toDOM: node => { + console.log(node); + return [ + 'agent-mention', + { 'agent-pub-key': encodeHashToBase64(node.attrs.agentPubKey) }, + ]; + }, + parseDOM: [{ tag: 'agent-mention' }], }; export type SearchAgentPluginState = - | { - dropdownEl: SearchAgentDropdown; - mentionCharIndex: number; - lastCharIndex: number; - } - | "hidden"; + | { + dropdownEl: SearchAgentDropdown; + mentionCharIndex: number; + lastCharIndex: number; + } + | 'hidden'; const schema = new Schema({ - nodes: { - doc: { content: "paragraph+" }, - paragraph: { - content: "(text|agentMention)*", - toDOM() { - return ["p", 0]; - }, - }, - text: {}, - agentMention: agentMentionSpec, - }, + nodes: { + doc: { content: 'paragraph+' }, + paragraph: { + content: '(text|agentMention)*', + toDOM() { + return ['p', 0]; + }, + }, + text: {}, + agentMention: agentMentionSpec, + }, }); const agentType = schema.nodes.agentMention; -export const pluginKey = new PluginKey("search-agent"); +export const pluginKey = new PluginKey('search-agent'); export const searchAgentPlugin = new Plugin({ - key: pluginKey, - state: { - init() { - return "hidden"; - }, - apply(tr, state) { - const newPluginState = tr.getMeta(pluginKey); - return newPluginState ? newPluginState : state; - }, - }, - props: { - handleKeyDown(view, event) { - const state = this.getState(view.state); - if (state && state !== "hidden" && event.key === "ArrowDown") { - state.dropdownEl.dropdown.handleTriggerKeyDown(event); - } - }, - handleTextInput(view, _from, to, text) { - const state = this.getState(view.state); - console.log(state); - - if (state && state !== "hidden") { - setTimeout(() => { - state.dropdownEl.searchFilter = view.state.doc.textBetween( - state.mentionCharIndex + 1, - to + 1 - ); - view.dispatch( - view.state.tr.setMeta(pluginKey, { - ...state, - lastCharIndex: to, - }) - ); - }); - } else if (text === "@") { - const { top, left } = view.coordsAtPos(to); - const dropdownEl = document.createElement( - "search-agent-dropdown" - ) as SearchAgentDropdown; - - dropdownEl.innerHTML = `
`; - dropdownEl.open = true; - dropdownEl.includeMyself = true; - view.dom.getRootNode().appendChild(dropdownEl); - - view.dispatch( - view.state.tr.setMeta(pluginKey, { - dropdownEl, - mentionCharIndex: to, - lastCharIndex: to, - }) - ); - - dropdownEl.addEventListener("agent-selected", (e: any) => { - const agentPubKey = e.detail.agentPubKey; - const state = this.getState(view.state); - - if (!state || state === "hidden") return; - - const tr = view.state.tr; - - tr.replaceRangeWith( - state.mentionCharIndex, - state.lastCharIndex + 1, - agentType.create({ - agentPubKey, - }) - ); - - view.dom.getRootNode().removeChild(dropdownEl); - view.dispatch(tr.setMeta(pluginKey, "hidden")); - }); - - dropdownEl.addEventListener("sl-hide", () => - setTimeout(() => { - view.dom.getRootNode().removeChild(dropdownEl); - view.dispatch(view.state.tr.setMeta(pluginKey, "hidden")); - }, 10) - ); - } - }, - }, + key: pluginKey, + state: { + init() { + return 'hidden'; + }, + apply(tr, state) { + const newPluginState = tr.getMeta(pluginKey); + return newPluginState ? newPluginState : state; + }, + }, + props: { + handleKeyDown(view, event) { + const state = this.getState(view.state); + if (state && state !== 'hidden' && event.key === 'ArrowDown') { + state.dropdownEl.dropdown.handleTriggerKeyDown(event); + } + }, + handleTextInput(view, _from, to, text) { + const state = this.getState(view.state); + console.log(state); + + if (state && state !== 'hidden') { + setTimeout(() => { + state.dropdownEl.searchFilter = view.state.doc.textBetween( + state.mentionCharIndex + 1, + to + 1, + ); + view.dispatch( + view.state.tr.setMeta(pluginKey, { + ...state, + lastCharIndex: to, + }), + ); + }); + } else if (text === '@') { + const { top, left } = view.coordsAtPos(to); + const dropdownEl = document.createElement( + 'search-agent-dropdown', + ) as SearchAgentDropdown; + + dropdownEl.innerHTML = `
`; + dropdownEl.open = true; + view.dom.getRootNode().appendChild(dropdownEl); + + view.dispatch( + view.state.tr.setMeta(pluginKey, { + dropdownEl, + mentionCharIndex: to, + lastCharIndex: to, + }), + ); + + dropdownEl.addEventListener('agent-selected', (e: any) => { + const agentPubKey = e.detail.agentPubKey; + const state = this.getState(view.state); + + if (!state || state === 'hidden') return; + + const tr = view.state.tr; + + tr.replaceRangeWith( + state.mentionCharIndex, + state.lastCharIndex + 1, + agentType.create({ + agentPubKey, + }), + ); + + view.dom.getRootNode().removeChild(dropdownEl); + view.dispatch(tr.setMeta(pluginKey, 'hidden')); + }); + + dropdownEl.addEventListener('sl-hide', () => + setTimeout(() => { + view.dom.getRootNode().removeChild(dropdownEl); + view.dispatch(view.state.tr.setMeta(pluginKey, 'hidden')); + }, 10), + ); + } + }, + }, }); // export class SearchAgentModule { @@ -234,71 +231,69 @@ export const searchAgentPlugin = new Plugin({ // Quill.register("modules/search-agent", SearchAgentModule); @localized() -@customElement("textarea-with-mentions") +@customElement('textarea-with-mentions') export class TextareaWithMentions extends SlTextareaProsemirror { - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; - - dnaHash!: DnaHash; - - async firstUpdated() { - super.firstUpdated(); - const appInfo = await this.store.client.client.appInfo(); - - if (appInfo) { - const cellId = getCellIdFromRoleName(this.store.client.roleName, appInfo); - this.dnaHash = cellId[0]; - } - } - - @property() - helpText: string = msg("Press '@' to mention an agent."); - - get value() { - if (!this.input?.quill) return ""; - const contents = this.input.quill.getContents(); - - const array = contents.ops.map((delta: any) => { - if (typeof delta.insert === "string") { - return delta.insert; - } else { - return [this.dnaHash, delta.insert["agent-mention"]]; - } - }); - - const text = joinHrlString(array); - - return text.slice(0, text.length - 1); // Slice to remove the newline - } - - set value(v: string) { - if (!this.input?.quill) return; - const array = splitHrlString(v); - - const ops = array.map((hrlOrString) => { - if (typeof hrlOrString === "string") { - return { - insert: hrlOrString, - }; - } else { - return { - insert: { - "agent-mention": hrlOrString[1], - }, - }; - } - }); - this.input.quill.setContents(ops); - } - - editorStateConfig() { - return { - schema, - plugins: [keymap(baseKeymap), searchAgentPlugin], - }; - } + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; + + dnaHash!: DnaHash; + + async firstUpdated() { + super.firstUpdated(); + const appInfo = await this.store.client.client.appInfo(); + if (!appInfo) throw new Error('Appinfo is null.'); + const cellId = getCellIdFromRoleName(this.store.client.roleName, appInfo); + this.dnaHash = cellId[0]; + } + + @property() + helpText: string = msg("Press '@' to mention an agent."); + + get value() { + if (!this.input?.quill) return ''; + const contents = this.input.quill.getContents(); + + const array = contents.ops.map((delta: any) => { + if (typeof delta.insert === 'string') { + return delta.insert; + } else { + return [this.dnaHash, delta.insert['agent-mention']]; + } + }); + + const text = joinHrlString(array); + + return text.slice(0, text.length - 1); // Slice to remove the newline + } + + set value(v: string) { + if (!this.input?.quill) return; + const array = splitHrlString(v); + + const ops = array.map(hrlOrString => { + if (typeof hrlOrString === 'string') { + return { + insert: hrlOrString, + }; + } else { + return { + insert: { + 'agent-mention': hrlOrString[1], + }, + }; + } + }); + this.input.quill.setContents(ops); + } + + editorStateConfig() { + return { + schema, + plugins: [keymap(baseKeymap), searchAgentPlugin], + }; + } } diff --git a/ui/src/elements/update-profile.ts b/ui/src/elements/update-profile.ts index 6a13abf41..f3969ba77 100644 --- a/ui/src/elements/update-profile.ts +++ b/ui/src/elements/update-profile.ts @@ -1,90 +1,81 @@ -import { html, css, LitElement } from "lit"; -import { customElement, property } from "lit/decorators.js"; -import { consume } from "@lit/context"; -import { localized, msg } from "@lit/localize"; -import { StoreSubscriber } from "@holochain-open-dev/stores"; -import { sharedStyles } from "@holochain-open-dev/elements"; +import { sharedStyles } from '@holochain-open-dev/elements'; +import '@holochain-open-dev/elements/dist/elements/display-error.js'; +import { SignalWatcher } from '@holochain-open-dev/signals'; +import { consume } from '@lit/context'; +import { localized, msg } from '@lit/localize'; +import '@shoelace-style/shoelace/dist/components/spinner/spinner.js'; +import { LitElement, css, html } from 'lit'; +import { customElement, property } from 'lit/decorators.js'; -import "@holochain-open-dev/elements/dist/elements/display-error.js"; -import "@shoelace-style/shoelace/dist/components/spinner/spinner.js"; - -import "./edit-profile.js"; - -import { ProfilesStore } from "../profiles-store.js"; -import { profilesStoreContext } from "../context.js"; -import { Profile } from "../types.js"; +import { profilesStoreContext } from '../context.js'; +import { ProfilesStore } from '../profiles-store.js'; +import { Profile } from '../types.js'; +import './edit-profile.js'; /** * @element update-profile * @fires profile-updated - Fired after the profile has been created. Detail will have this shape: { profile: { nickname, fields } } */ @localized() -@customElement("update-profile") -export class UpdateProfile extends LitElement { - /** - * Profiles store for this element, not required if you embed this element inside a - */ - @consume({ context: profilesStoreContext, subscribe: true }) - @property() - store!: ProfilesStore; +@customElement('update-profile') +export class UpdateProfile extends SignalWatcher(LitElement) { + /** + * Profiles store for this element, not required if you embed this element inside a + */ + @consume({ context: profilesStoreContext, subscribe: true }) + @property() + store!: ProfilesStore; - /** - * @internal - */ - private _myProfile = new StoreSubscriber( - this, - () => this.store.myProfile, - () => [this.store] - ); + async updateProfile(profile: Profile) { + await this.store.client.updateProfile(profile); - async updateProfile(profile: Profile) { - await this.store.client.updateProfile(profile); + this.dispatchEvent( + new CustomEvent('profile-updated', { + detail: { + profile, + }, + bubbles: true, + composed: true, + }), + ); + } - this.dispatchEvent( - new CustomEvent("profile-updated", { - detail: { - profile, - }, - bubbles: true, - composed: true, - }) - ); - } + render() { + const myProfile = this.store.myProfile.get(); - render() { - switch (this._myProfile.value.status) { - case "pending": - return html`
- -
`; - case "complete": - return html` - this.updateProfile(e.detail.profile)} - >`; - case "error": - return html``; - } - } + switch (myProfile.status) { + case 'pending': + return html`
+ +
`; + case 'completed': + return html` + this.updateProfile(e.detail.profile)} + >`; + case 'error': + return html``; + } + } - static get styles() { - return [ - sharedStyles, - css` - :host { - display: flex; - } - `, - ]; - } + static get styles() { + return [ + sharedStyles, + css` + :host { + display: flex; + } + `, + ]; + } } diff --git a/ui/src/index.ts b/ui/src/index.ts index f1764f859..c48798e20 100644 --- a/ui/src/index.ts +++ b/ui/src/index.ts @@ -1,5 +1,5 @@ -export * from "./types"; -export * from "./context"; -export * from "./profiles-client"; -export * from "./profiles-store"; -export * from "./config"; +export * from './types.js'; +export * from './context.js'; +export * from './profiles-client.js'; +export * from './profiles-store.js'; +export * from './config.js'; diff --git a/ui/src/mocks.ts b/ui/src/mocks.ts index 5c0544fdf..b058bc804 100644 --- a/ui/src/mocks.ts +++ b/ui/src/mocks.ts @@ -1,115 +1,117 @@ import { - AgentPubKeyMap, - decodeEntry, - fakeCreateAction, - fakeEntry, - fakeRecord, - pickBy, - ZomeMock, -} from "@holochain-open-dev/utils"; + AgentPubKeyMap, + ZomeMock, + decodeEntry, + fakeCreateAction, + fakeEntry, + fakeRecord, + pickBy, +} from '@holochain-open-dev/utils'; import { - decodeHashFromBase64, - AgentPubKey, - AppAgentClient, - Record, -} from "@holochain/client"; -import { ProfilesClient } from "./profiles-client"; -import { Profile } from "./types"; + AgentPubKey, + AppClient, + Record, + decodeHashFromBase64, +} from '@holochain/client'; + +import { ProfilesClient } from './profiles-client.js'; +import { Profile } from './types.js'; export async function demoProfiles(): Promise> { - const map = new AgentPubKeyMap(); - map.set( - decodeHashFromBase64( - "uhCAk13OZ84d5HFum5PZYcl61kHHMfL2EJ4yNbHwSp4vn6QeOdFii" - ), - await fakeRecord( - await fakeCreateAction(), - fakeEntry({ - nickname: "Alice", - fields: { - location: "Wonderland", - avatar: - "data:image/png;base64,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", - }, - }) - ) - ); - map.set( - decodeHashFromBase64( - "uhCAkLZ0NvfBs5o07Gidd748Oe9GpnQVj2UQM0xmDjYQEbhNMhJGw" - ), - await fakeRecord( - await fakeCreateAction(), - fakeEntry({ - nickname: "Bob", - fields: { - location: "Castle", - avatar: - "data:image/png;base64,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", - }, - }) - ) - ); - return map; + const map = new AgentPubKeyMap(); + map.set( + decodeHashFromBase64( + 'uhCAk13OZ84d5HFum5PZYcl61kHHMfL2EJ4yNbHwSp4vn6QeOdFii', + ), + await fakeRecord( + await fakeCreateAction(), + fakeEntry({ + nickname: 'Alice', + fields: { + location: 'Wonderland', + avatar: + 'data:image/png;base64,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', + }, + }), + ), + ); + map.set( + decodeHashFromBase64( + 'uhCAkLZ0NvfBs5o07Gidd748Oe9GpnQVj2UQM0xmDjYQEbhNMhJGw', + ), + await fakeRecord( + await fakeCreateAction(), + fakeEntry({ + nickname: 'Bob', + fields: { + location: 'Castle', + avatar: + 'data:image/png;base64,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', + }, + }), + ), + ); + return map; } -export class ProfilesZomeMock extends ZomeMock implements AppAgentClient { - constructor( - public agentsProfiles: AgentPubKeyMap, - myPubKey?: AgentPubKey - ) { - super("lobby", "profiles", myPubKey); - } +export class ProfilesZomeMock extends ZomeMock implements AppClient { + constructor( + public agentsProfiles: AgentPubKeyMap, + myPubKey?: AgentPubKey, + ) { + super('lobby', 'profiles', myPubKey); + } - async create_profile(profile: Profile): Promise { - const record = await fakeRecord( - await fakeCreateAction(), - fakeEntry(profile) - ); - this.agentsProfiles.set(this.myPubKey, record); - setTimeout(() => - this.emitSignal({ - type: "EntryCreated", - app_entry: { - Profile: profile, - }, - }) - ); - return record; - } + async create_profile(profile: Profile): Promise { + const record = await fakeRecord( + await fakeCreateAction(), + fakeEntry(profile), + ); + this.agentsProfiles.set(this.myPubKey, record); + setTimeout(() => { + console.log('hey'); + this.emitSignal({ + type: 'EntryCreated', + app_entry: { + Profile: profile, + }, + }); + }); + return record; + } - async update_profile(profile: Profile): Promise { - return this.create_profile(profile); - } + async update_profile(profile: Profile): Promise { + return this.create_profile(profile); + } - search_agents(nickname_filter: string) { - return Array.from( - pickBy(this.agentsProfiles, (profile) => - (decodeEntry(profile) as Profile).nickname - .toLowerCase() - .startsWith(nickname_filter.toLowerCase().slice(0, 3)) - ).keys() - ); - } + search_agents(nickname_filter: string) { + return Array.from( + pickBy(this.agentsProfiles, profile => + (decodeEntry(profile) as Profile).nickname + .toLowerCase() + .startsWith(nickname_filter.toLowerCase().slice(0, 3)), + ).keys(), + ); + } - get_agent_profile(agent_address: AgentPubKey) { - return this.agentsProfiles.get(agent_address); - } + get_agent_profile(agent_address: AgentPubKey) { + return this.agentsProfiles.get(agent_address); + } - get_agents_with_profile() { - return Array.from(this.agentsProfiles.keys()); - } + get_agents_with_profile() { + return Array.from(this.agentsProfiles.keys()); + } } export async function sampleProfile( - client: ProfilesClient, - partialProfile: Partial = {} + client: ProfilesClient, + partialProfile: Partial = {}, ): Promise { - return { - ...{ - nickname: "alice", - fields: {}, - }, - ...partialProfile, - }; + return { + ...{ + nickname: 'alice', + fields: {}, + }, + ...partialProfile, + }; } diff --git a/ui/src/profiles-client.ts b/ui/src/profiles-client.ts index ca2e1288d..61ebee5f4 100644 --- a/ui/src/profiles-client.ts +++ b/ui/src/profiles-client.ts @@ -1,77 +1,76 @@ +import { EntryRecord, ZomeClient } from '@holochain-open-dev/utils'; import { - EntryRecord, - ZomeClient, -} from "@holochain-open-dev/utils"; -import { - AgentPubKey, - Record, - AppAgentClient, - RoleName, -} from "@holochain/client"; -import { Profile, ProfilesSignal } from "./types"; + AgentPubKey, + AppClient, + Link, + Record, + RoleName, +} from '@holochain/client'; + +import { Profile, ProfilesSignal } from './types.js'; export class ProfilesClient extends ZomeClient { - constructor( - public client: AppAgentClient, - public roleName: RoleName, - public zomeName = "profiles" - ) { - super(client as any, roleName, zomeName); - } + constructor( + public client: AppClient, + public roleName: RoleName, + public zomeName = 'profiles', + ) { + super(client as any, roleName, zomeName); + } - /** - * Get the profile for the given agent, if they have created it - * - * @param agentPubKey the agent to get the profile for - * @returns the profile of the agent, if they have created one - */ - async getAgentProfile( - agentPubKey: AgentPubKey - ): Promise | undefined> { - const record: Record | undefined = await this.callZome( - "get_agent_profile", - agentPubKey - ); + /** + * Get the profile for the given agent, if they have created it + * + * @param agentPubKey the agent to get the profile for + * @returns the profile of the agent, if they have created one + */ + async getAgentProfile( + agentPubKey: AgentPubKey, + ): Promise | undefined> { + const record: Record | undefined = await this.callZome( + 'get_agent_profile', + agentPubKey, + ); - return record ? new EntryRecord(record) : undefined; - } + return record ? new EntryRecord(record) : undefined; + } - /** - * Search profiles that start with nicknameFilter - * - * @param nicknameFilter must be of at least 3 characters - * @returns the agents with the nickname starting with nicknameFilter - */ - async searchAgents(nicknameFilter: string): Promise { - return this.callZome("search_agents", nicknameFilter); - } + /** + * Search profiles that start with nicknameFilter + * + * @param nicknameFilter must be of at least 3 characters + * @returns the agents with the nickname starting with nicknameFilter + */ + async searchAgents(nicknameFilter: string): Promise { + return this.callZome('search_agents', nicknameFilter); + } - /** - * Get all the agents in the DHT that have created a profile - * - * @returns the agent public keys of all agents that have created a profile - */ - async getAgentsWithProfile(): Promise { - return this.callZome("get_agents_with_profile", null); - } + /** + * Get all the agents in the DHT that have created a profile + * + * @returns the agent public keys of all agents that have created a profile + */ + async getAgentsWithProfile(): Promise { + return this.callZome('get_agents_with_profile', null); + } - /** - * Create my profile - * - * @param profile the profile to create - */ - async createProfile(profile: Profile): Promise> { - const record: Record = await this.callZome("create_profile", profile); - return new EntryRecord(record); - } + /** + * Create my profile + * + * @param profile the profile to create + */ + async createProfile(profile: Profile): Promise> { + const record: Record = await this.callZome('create_profile', profile); + return new EntryRecord(record); + } - /** - * Update my profile - * - * @param profile the profile to create - */ - async updateProfile(profile: Profile): Promise> { - const record: Record = await this.callZome("update_profile", profile); - return new EntryRecord(record); - } + /** + * Update my profile + * + * @param profile the profile to create + */ + async updateProfile(profile: Profile): Promise> { + const record: Record = await this.callZome('update_profile', profile); + return new EntryRecord(record); + } } diff --git a/ui/src/profiles-store.ts b/ui/src/profiles-store.ts index 5bb125efd..963339956 100644 --- a/ui/src/profiles-store.ts +++ b/ui/src/profiles-store.ts @@ -1,119 +1,109 @@ -import { EntryRecord, LazyHoloHashMap } from "@holochain-open-dev/utils"; -import { encode } from "@msgpack/msgpack"; import { - AsyncReadable, - asyncReadable, - lazyLoad, - sliceAndJoin, - pipe, - uniquify, -} from "@holochain-open-dev/stores"; -import { AgentPubKey } from "@holochain/client"; + AsyncComputed, + AsyncState, + Signal, + collectionSignal, + joinAsyncMap, + mapCompleted, +} from '@holochain-open-dev/signals'; +import { + EntryRecord, + HashType, + LazyHoloHashMap, + mapValues, + retype, + slice, +} from '@holochain-open-dev/utils'; +import { AgentPubKey } from '@holochain/client'; +import { encode } from '@msgpack/msgpack'; -import { ProfilesClient } from "./profiles-client.js"; -import { Profile } from "./types.js"; -import { defaultConfig, ProfilesConfig } from "./config.js"; -// @ts-ignore -import isEqual from "lodash-es/isEqual.js"; +import { ProfilesConfig, defaultConfig } from './config.js'; +import { ProfilesClient } from './profiles-client.js'; +import { Profile } from './types.js'; export class ProfilesStore { - config: ProfilesConfig; - - constructor( - public client: ProfilesClient, - config: Partial = {} - ) { - this.config = { ...defaultConfig, ...config }; - } - - /** - * Fetches all the agents that have created a profile in the DHT - */ - agentsWithProfile: AsyncReadable = asyncReadable( - async (set) => { - let hashes: AgentPubKey[]; - const fetch = async () => { - const nhashes = await this.client.getAgentsWithProfile(); - if (!isEqual(nhashes, hashes)) { - hashes = uniquify(nhashes); - set(hashes); - } - }; - await fetch(); - const interval = setInterval(() => fetch(), 4000); - const unsubs = this.client.onSignal((signal) => { - if (signal.type === "LinkCreated") { - if ("AgentToProfile" in signal.link_type) { - hashes = uniquify([...hashes, this.client.client.myPubKey]); - set(hashes); - } - } - }); - return () => { - clearInterval(interval); - unsubs(); - }; - } - ); + config: ProfilesConfig; - /** - * Fetches the profiles for all agents in the DHT - * - * This will get slower as the number of agents in the DHT increases - */ - allProfiles = pipe( - this.agentsWithProfile, - (agents) => - this.agentsProfiles(agents) as AsyncReadable< - ReadonlyMap> - > - ); + constructor( + public client: ProfilesClient, + config: Partial = {}, + ) { + this.config = { ...defaultConfig, ...config }; + } - /** - * Fetches the profile for the given agent - */ - profiles = new LazyHoloHashMap((agent: AgentPubKey) => - asyncReadable | undefined>(async (set) => { - const profile = await this.client.getAgentProfile(agent); - set(profile); + /** + * Fetches all the agents that have created a profile in the DHT + */ + agentsWithProfile = mapCompleted( + collectionSignal( + this.client, + () => this.client.getAgentsWithProfile(), + 'PathToAgent', + ), + links => links.map(l => retype(l.target, HashType.AGENT)), + ); - return this.client.onSignal((signal) => { - if (this.client.client.myPubKey.toString() !== agent.toString()) return; - if (!(signal.type === "EntryCreated" || signal.type === "EntryUpdated")) - return; - const record = new EntryRecord({ - entry: { - Present: { - entry_type: "App", - entry: encode(signal.app_entry), - }, - }, - signed_action: signal.action, - }); - set(record); - }); - }) - ); + /** + * Fetches the profiles for all agents in the DHT + * + * This will get slower as the number of agents in the DHT increases + */ + allProfiles = new AsyncComputed(() => { + const agentsWithProfile = this.agentsWithProfile.get(); + if (agentsWithProfile.status !== 'completed') return agentsWithProfile; - // Fetches your profile - myProfile = this.profiles.get(this.client.client.myPubKey); + const allProfiles = slice(this.profiles, agentsWithProfile.value); + return joinAsyncMap(mapValues(allProfiles, p => p.get())); + }); - // Fetches the profiles for the given agents - agentsProfiles( - agents: Array - ): AsyncReadable | undefined>> { - return sliceAndJoin(this.profiles, agents); - } + /** + * Fetches the profile for the given agent + */ + profiles = new LazyHoloHashMap((agent: AgentPubKey) => { + let unsubscribe: (() => void) | undefined; + const signal = new AsyncState | undefined>( + { status: 'pending' }, + { + [Signal.subtle.watched]: async () => { + const value = await this.client.getAgentProfile(agent); + signal.set({ + status: 'completed', + value, + }); + unsubscribe = this.client.onSignal(profilesSignal => { + if (this.client.client.myPubKey.toString() !== agent.toString()) + return; + if ( + !( + profilesSignal.type === 'EntryCreated' || + profilesSignal.type === 'EntryUpdated' + ) + ) + return; + const record = new EntryRecord({ + entry: { + Present: { + entry_type: 'App', + entry: encode(profilesSignal.app_entry), + }, + }, + signed_action: profilesSignal.action, + }); + signal.set({ + status: 'completed', + value: record, + }); + }); + }, + [Signal.subtle.unwatched]: () => { + signal.set({ status: 'pending' }); + unsubscribe?.(); + }, + }, + ); + return signal; + }); - searchProfiles( - searchFilter: string - ): AsyncReadable>> { - return pipe( - lazyLoad(async () => this.client.searchAgents(searchFilter)), - (agents) => - this.agentsProfiles(agents) as AsyncReadable< - ReadonlyMap> - > - ); - } + // Fetches the profile for the active agent + myProfile = this.profiles.get(this.client.client.myPubKey); } diff --git a/ui/src/utils.ts b/ui/src/utils.ts new file mode 100644 index 000000000..841bbb058 --- /dev/null +++ b/ui/src/utils.ts @@ -0,0 +1,13 @@ +import { HoloHash } from "@holochain/client"; + + +export function areHashesArraysEqual(hashes1: HoloHash[], hashes2: HoloHash[]): boolean { + if (hashes1.length !== hashes2.length) return false; + + for (let i = 0; i < hashes1.length; i++) { + if (hashes1[i].toString() !== hashes2[i].toString()) { + return false; + } + } + return true; +}