From 97ca94b096b653cd45eb1c0fb10d7740498019ea Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Sun, 24 May 2026 01:05:33 +1000 Subject: [PATCH 1/4] envoy: Bump upstream version to v1.38.x Signed-off-by: Tam Mach --- ENVOY_VERSION | 2 +- Makefile | 5 +- WORKSPACE | 10 +- bazel/envoy_dependency_imports.bzl | 39 +- ..._dynamic_modules_rust_sdk.Cargo.Bazel.lock | 11323 ++++++++++++++-- envoy.bazelrc | 37 +- .../extensions_build_config.bzl | 433 +- ...-callback-for-upstream-authorization.patch | 83 +- .../0002-listener-add-socket-options.patch | 24 +- ...ster-Avoid-multiple-hosts-for-the-sa.patch | 19 +- ...l-reset-slot-in-worker-threads-first.patch | 12 +- .../0005-http-header-expose-attribute.patch | 6 +- ...n-Defer-fake-upstream-read-enable-un.patch | 32 +- ...ndency-optional-for-CI-config-parsi.patch} | 8 +- 14 files changed, 10813 insertions(+), 1220 deletions(-) rename patches/{0008-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch => 0007-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch} (94%) diff --git a/ENVOY_VERSION b/ENVOY_VERSION index 0dfcc3780..88d3cd67c 100644 --- a/ENVOY_VERSION +++ b/ENVOY_VERSION @@ -1 +1 @@ -envoy-1.37.2 +envoy-1.38.0 diff --git a/Makefile b/Makefile index c5f02509d..25e53e59c 100644 --- a/Makefile +++ b/Makefile @@ -126,13 +126,16 @@ clang.bazelrc: bazel/setup_clang.sh bazel/setup_clang.sh /usr/lib/llvm-18 echo "# Use system LLVM instead of hermetic download to avoid libtinfo.so.5 mismatch" >> $@ echo "build:clang-local --repo_env=BAZEL_LLVM_PATH=/usr/lib/llvm-18" >> $@ + echo "# Disable module_maps/layering_check — abseil module maps are incompatible with system clang" >> $@ + echo "build --features=-module_maps --features=-layering_check" >> $@ + echo "build --host_features=-module_maps --host_features=-layering_check" >> $@ echo "build --config=clang-local" >> $@ .PHONY: cargo-repin cargo-repin: install-bazelisk @$(ECHO_BAZEL) test -e bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock || touch bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock - CARGO_BAZEL_REPIN=workspace CARGO_BAZEL_REPIN_ONLY=dynamic_modules_rust_sdk_crate_index bazel $(BAZEL_OPTS) sync --only=dynamic_modules_rust_sdk_crate_index + CARGO_BAZEL_REPIN=workspace CARGO_BAZEL_REPIN_ONLY=envoy_rust_crate_index bazel $(BAZEL_OPTS) sync --only=envoy_rust_crate_index .PHONY: bazel-bin/cilium-envoy bazel-bin/cilium-envoy: $(COMPILER_DEP) SOURCE_VERSION install-bazelisk diff --git a/WORKSPACE b/WORKSPACE index 15332cd5e..dab840681 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -12,8 +12,8 @@ ENVOY_REPO = "envoy" # # No other line in this file may have ENVOY_SHA followed by an equals sign! # -# renovate: datasource=github-releases depName=envoyproxy/envoy digestVersion=v1.37.2 -ENVOY_SHA = "5afe27fb338b16d5bb06b3a7198bcd581b4e3dee" +# renovate: datasource=github-releases depName=envoyproxy/envoy digestVersion=v1.38.0 +ENVOY_SHA = "f1dd21b16c244bda00edfb5ffce577e12d0d2ec2" # // clang-format off: unexpected @bazel_tools reference, please indirect via a definition in //bazel load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") @@ -43,7 +43,7 @@ git_repository( "@//patches:0004-thread_local-reset-slot-in-worker-threads-first.patch", "@//patches:0005-http-header-expose-attribute.patch", "@//patches:0006-test-integration-Defer-fake-upstream-read-enable-un.patch", - "@//patches:0008-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch", + "@//patches:0007-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch", ], # // clang-format off: Envoy's format check: Only repository_locations.bzl may contains URL references remote = "https://github.com/envoyproxy/envoy.git", @@ -126,7 +126,9 @@ go_repository( version = "v0.32.0", ) -envoy_dependency_imports() +envoy_dependency_imports( + cargo_bazel_lockfile = "@//bazel:envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock", +) load("@envoy//bazel:repo.bzl", "envoy_repo") diff --git a/bazel/envoy_dependency_imports.bzl b/bazel/envoy_dependency_imports.bzl index 6a25e9964..a9f5aee0f 100644 --- a/bazel/envoy_dependency_imports.bzl +++ b/bazel/envoy_dependency_imports.bzl @@ -7,14 +7,13 @@ # Refresh bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock after Envoy # changes the Rust SDK dependencies with: # -# CARGO_BAZEL_REPIN=workspace CARGO_BAZEL_REPIN_ONLY=dynamic_modules_rust_sdk_crate_index bazel sync --only=dynamic_modules_rust_sdk_crate_index +# CARGO_BAZEL_REPIN=workspace CARGO_BAZEL_REPIN_ONLY=envoy_rust_crate_index bazel sync --only=envoy_rust_crate_index load("@aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains", "register_yq_toolchains") load("@base_pip3//:requirements.bzl", pip_dependencies = "install_deps") load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository") load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") -load("@com_github_aignas_rules_shellcheck//:deps.bzl", "shellcheck_dependencies") +load("@cel-cpp//bazel:deps.bzl", "parser_deps") load("@com_github_chrusty_protoc_gen_jsonschema//:deps.bzl", protoc_gen_jsonschema_go_dependencies = "go_dependencies") -load("@com_google_cel_cpp//bazel:deps.bzl", "parser_deps") load("@dev_pip3//:requirements.bzl", pip_dev_dependencies = "install_deps") load("@emsdk//:emscripten_deps.bzl", "emscripten_deps") load("@emsdk//:toolchains.bzl", "register_emscripten_toolchains") @@ -33,6 +32,7 @@ load("@rules_rust//crate_universe:defs.bzl", "crates_repository") load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") load("@rules_rust//rust:defs.bzl", "rust_common") load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains", "rust_repository_set") +load("@shellcheck//:deps.bzl", "shellcheck_dependencies") # go version for rules_go GO_VERSION = "1.24.6" @@ -48,7 +48,12 @@ def envoy_dependency_imports( jq_version = JQ_VERSION, yq_version = YQ_VERSION, buf_sha = BUF_SHA, - buf_version = BUF_VERSION): + buf_version = BUF_VERSION, + # This allows the downstream repo to point to a different locally re-generated lockfile, + # which can be used to workaround a rules_rust bug. See: + # - https://github.com/bazelbuild/rules_rust/issues/3521 + # - https://github.com/envoyproxy/envoy/issues/38951 + cargo_bazel_lockfile = "@envoy//:Cargo.Bazel.lock"): compatibility_proxy_repo() rules_foreign_cc_dependencies() go_rules_dependencies() @@ -71,17 +76,21 @@ def envoy_dependency_imports( "wasm32-unknown-unknown", "wasm32-wasi", ], - versions = [rust_common.default_version], + versions = ["1.88.0"], ) rules_rust_dependencies() rust_register_toolchains( extra_target_triples = [ "wasm32-unknown-unknown", "wasm32-wasi", + # Unconditionally specify the target triples for x-compilations. + # Note that the toolchain won't be fetched/used unless the target triple is actually used in the build. + "x86_64-unknown-linux-gnu", + "aarch64-unknown-linux-gnu", ], ) crate_universe_dependencies() - crates_repositories() + crates_repositories(cargo_bazel_lockfile = cargo_bazel_lockfile) grcov_repository() shellcheck_dependencies() proxy_wasm_rust_sdk_dependencies() @@ -93,10 +102,10 @@ def envoy_dependency_imports( register_yq_toolchains(version = yq_version) parser_deps() - rules_buf_toolchains(**{ - "sha256": buf_sha, - "version": buf_version, - }) + rules_buf_toolchains( + sha256 = buf_sha, + version = buf_version, + ) setup_sanitizer_libs() @@ -165,7 +174,7 @@ def envoy_dependency_imports( version = "v1.36.10", ) go_repository( - name = "com_github_cncf_xds_go", + name = "xds_go", importpath = "github.com/cncf/xds/go", sum = "h1:gt7U1Igw0xbJdyaCM5H2CnlAlPSkzrhsebQB6WQWjLA=", version = "v0.0.0-20251110193048-8bfbf64dc13e", @@ -248,10 +257,10 @@ def envoy_download_go_sdks(go_version): version = go_version, ) -def crates_repositories(): +def crates_repositories(cargo_bazel_lockfile): crates_repository( - name = "dynamic_modules_rust_sdk_crate_index", - cargo_lockfile = "@envoy//source/extensions/dynamic_modules/sdk/rust:Cargo.lock", + name = "envoy_rust_crate_index", + cargo_lockfile = "@envoy//:Cargo.lock", lockfile = Label("@//bazel:envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock"), - manifests = ["@envoy//source/extensions/dynamic_modules/sdk/rust:Cargo.toml"], + manifests = ["@envoy//:Cargo.toml"], ) diff --git a/bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock b/bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock index 87dbe7f90..13f24f65d 100644 --- a/bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock +++ b/bazel/envoy_dynamic_modules_rust_sdk.Cargo.Bazel.lock @@ -1,14 +1,14 @@ { - "checksum": "72d5662849b82d7e405b70de2c4c9d4218abc468a128df52e05e1c9ebff3f2a9", + "checksum": "0ae089b888abbfd7904200ea39b356a74f4ae3f71afaa750e05976b5272c5ff2", "crates": { - "aho-corasick 1.1.3": { + "aho-corasick 1.1.4": { "name": "aho-corasick", - "version": "1.1.3", + "version": "1.1.4", "package_url": "https://github.com/BurntSushi/aho-corasick", "repository": { "Http": { - "url": "https://static.crates.io/crates/aho-corasick/1.1.3/download", - "sha256": "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" + "url": "https://static.crates.io/crates/aho-corasick/1.1.4/download", + "sha256": "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" } }, "targets": [ @@ -31,7 +31,7 @@ "**" ], "edition": "2021", - "version": "1.1.3" + "version": "1.1.4" }, "license": "Unlicense OR MIT", "license_ids": [ @@ -40,14 +40,14 @@ ], "license_file": "LICENSE-MIT" }, - "anstyle 1.0.10": { + "anstyle 1.0.14": { "name": "anstyle", - "version": "1.0.10", + "version": "1.0.14", "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstyle/1.0.10/download", - "sha256": "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + "url": "https://static.crates.io/crates/anstyle/1.0.14/download", + "sha256": "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" } }, "targets": [ @@ -77,7 +77,141 @@ "selects": {} }, "edition": "2021", - "version": "1.0.10" + "version": "1.0.14" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "anyhow 1.0.102": { + "name": "anyhow", + "version": "1.0.102", + "package_url": "https://github.com/dtolnay/anyhow", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/anyhow/1.0.102/download", + "sha256": "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "anyhow", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "anyhow", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.102" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "async-trait 0.1.89": { + "name": "async-trait", + "version": "0.1.89", + "package_url": "https://github.com/dtolnay/async-trait", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/async-trait/0.1.89/download", + "sha256": "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "async_trait", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "async_trait", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.89" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -86,6 +220,45 @@ ], "license_file": "LICENSE-APACHE" }, + "atomic-waker 1.1.2": { + "name": "atomic-waker", + "version": "1.1.2", + "package_url": "https://github.com/smol-rs/atomic-waker", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/atomic-waker/1.1.2/download", + "sha256": "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + } + }, + "targets": [ + { + "Library": { + "crate_name": "atomic_waker", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "atomic_waker", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.1.2" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "bindgen 0.70.1": { "name": "bindgen", "version": "0.70.1", @@ -143,7 +316,7 @@ "target": "build_script_build" }, { - "id": "bitflags 2.6.0", + "id": "bitflags 2.11.0", "target": "bitflags" }, { @@ -159,23 +332,23 @@ "target": "itertools" }, { - "id": "log 0.4.22", + "id": "log 0.4.29", "target": "log" }, { - "id": "prettyplease 0.2.22", + "id": "prettyplease 0.2.37", "target": "prettyplease" }, { - "id": "proc-macro2 1.0.86", + "id": "proc-macro2 1.0.106", "target": "proc_macro2" }, { - "id": "quote 1.0.37", + "id": "quote 1.0.45", "target": "quote" }, { - "id": "regex 1.10.6", + "id": "regex 1.12.3", "target": "regex" }, { @@ -187,7 +360,7 @@ "target": "shlex" }, { - "id": "syn 2.0.77", + "id": "syn 2.0.117", "target": "syn" } ], @@ -213,7 +386,7 @@ "target": "clang_sys" }, { - "id": "prettyplease 0.2.22", + "id": "prettyplease 0.2.37", "target": "prettyplease" } ], @@ -226,14 +399,14 @@ ], "license_file": "LICENSE" }, - "bitflags 2.6.0": { + "bitflags 2.11.0": { "name": "bitflags", - "version": "2.6.0", + "version": "2.11.0", "package_url": "https://github.com/bitflags/bitflags", "repository": { "Http": { - "url": "https://static.crates.io/crates/bitflags/2.6.0/download", - "sha256": "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + "url": "https://static.crates.io/crates/bitflags/2.11.0/download", + "sha256": "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" } }, "targets": [ @@ -256,7 +429,7 @@ "**" ], "edition": "2021", - "version": "2.6.0" + "version": "2.11.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -265,20 +438,20 @@ ], "license_file": "LICENSE-APACHE" }, - "cexpr 0.6.0": { - "name": "cexpr", - "version": "0.6.0", - "package_url": "https://github.com/jethrogb/rust-cexpr", + "bumpalo 3.20.2": { + "name": "bumpalo", + "version": "3.20.2", + "package_url": "https://github.com/fitzgen/bumpalo", "repository": { "Http": { - "url": "https://static.crates.io/crates/cexpr/0.6.0/download", - "sha256": "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" + "url": "https://static.crates.io/crates/bumpalo/3.20.2/download", + "sha256": "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" } }, "targets": [ { "Library": { - "crate_name": "cexpr", + "crate_name": "bumpalo", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -289,44 +462,41 @@ } } ], - "library_target_name": "cexpr", + "library_target_name": "bumpalo", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { + "crate_features": { "common": [ - { - "id": "nom 7.1.3", - "target": "nom" - } + "default" ], "selects": {} }, - "edition": "2018", - "version": "0.6.0" + "edition": "2021", + "version": "3.20.2" }, - "license": "Apache-2.0/MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "cfg-if 1.0.0": { - "name": "cfg-if", - "version": "1.0.0", - "package_url": "https://github.com/alexcrichton/cfg-if", + "bytes 1.11.1": { + "name": "bytes", + "version": "1.11.1", + "package_url": "https://github.com/tokio-rs/bytes", "repository": { "Http": { - "url": "https://static.crates.io/crates/cfg-if/1.0.0/download", - "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + "url": "https://static.crates.io/crates/bytes/1.11.1/download", + "sha256": "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" } }, "targets": [ { "Library": { - "crate_name": "cfg_if", + "crate_name": "bytes", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -337,35 +507,41 @@ } } ], - "library_target_name": "cfg_if", + "library_target_name": "bytes", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2018", - "version": "1.0.0" + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "1.11.1" }, - "license": "MIT/Apache-2.0", + "license": "MIT", "license_ids": [ - "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "clang-sys 1.8.1": { - "name": "clang-sys", - "version": "1.8.1", - "package_url": "https://github.com/KyleMayes/clang-sys", + "cc 1.2.57": { + "name": "cc", + "version": "1.2.57", + "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/clang-sys/1.8.1/download", - "sha256": "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" + "url": "https://static.crates.io/crates/cc/1.2.57/download", + "sha256": "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" } }, "targets": [ { "Library": { - "crate_name": "clang_sys", + "crate_name": "cc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -374,105 +550,50 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "clang_sys", + "library_target_name": "cc", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "clang_3_5", - "clang_3_6", - "clang_3_7", - "clang_3_8", - "clang_3_9", - "clang_4_0", - "clang_5_0", - "clang_6_0", - "libloading", - "runtime" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "clang-sys 1.8.1", - "target": "build_script_build" - }, - { - "id": "glob 0.3.1", - "target": "glob" - }, - { - "id": "libc 0.2.158", - "target": "libc" + "id": "find-msvc-tools 0.1.9", + "target": "find_msvc_tools" }, { - "id": "libloading 0.8.5", - "target": "libloading" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "1.8.1" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "glob 0.3.1", - "target": "glob" + "id": "shlex 1.3.0", + "target": "shlex" } ], "selects": {} }, - "links": "clang" + "edition": "2018", + "version": "1.2.57" }, - "license": "Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "Apache-2.0" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE.txt" + "license_file": "LICENSE-APACHE" }, - "downcast 0.11.0": { - "name": "downcast", - "version": "0.11.0", - "package_url": "https://github.com/fkoep/downcast-rs", + "cexpr 0.6.0": { + "name": "cexpr", + "version": "0.6.0", + "package_url": "https://github.com/jethrogb/rust-cexpr", "repository": { "Http": { - "url": "https://static.crates.io/crates/downcast/0.11.0/download", - "sha256": "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + "url": "https://static.crates.io/crates/cexpr/0.6.0/download", + "sha256": "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" } }, "targets": [ { "Library": { - "crate_name": "downcast", + "crate_name": "cexpr", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -483,41 +604,44 @@ } } ], - "library_target_name": "downcast", + "library_target_name": "cexpr", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { + "deps": { "common": [ - "default", - "std" + { + "id": "nom 7.1.3", + "target": "nom" + } ], "selects": {} }, "edition": "2018", - "version": "0.11.0" + "version": "0.6.0" }, - "license": "MIT", + "license": "Apache-2.0/MIT", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE-MIT" + "license_file": "LICENSE-APACHE" }, - "either 1.13.0": { - "name": "either", - "version": "1.13.0", - "package_url": "https://github.com/rayon-rs/either", + "cfg-if 1.0.4": { + "name": "cfg-if", + "version": "1.0.4", + "package_url": "https://github.com/rust-lang/cfg-if", "repository": { "Http": { - "url": "https://static.crates.io/crates/either/1.13.0/download", - "sha256": "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + "url": "https://static.crates.io/crates/cfg-if/1.0.4/download", + "sha256": "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" } }, "targets": [ { "Library": { - "crate_name": "either", + "crate_name": "cfg_if", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -528,13 +652,13 @@ } } ], - "library_target_name": "either", + "library_target_name": "cfg_if", "common_attrs": { "compile_data_glob": [ "**" ], "edition": "2018", - "version": "1.13.0" + "version": "1.0.4" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -543,15 +667,20 @@ ], "license_file": "LICENSE-APACHE" }, - "envoy-proxy-dynamic-modules-rust-sdk 0.1.0": { - "name": "envoy-proxy-dynamic-modules-rust-sdk", - "version": "0.1.0", - "package_url": "https://github.com/envoyproxy/envoy", - "repository": null, + "clang-sys 1.8.1": { + "name": "clang-sys", + "version": "1.8.1", + "package_url": "https://github.com/KyleMayes/clang-sys", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/clang-sys/1.8.1/download", + "sha256": "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" + } + }, "targets": [ { "Library": { - "crate_name": "envoy_proxy_dynamic_modules_rust_sdk", + "crate_name": "clang_sys", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -574,26 +703,49 @@ } } ], - "library_target_name": "envoy_proxy_dynamic_modules_rust_sdk", + "library_target_name": "clang_sys", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "clang_3_5", + "clang_3_6", + "clang_3_7", + "clang_3_8", + "clang_3_9", + "clang_4_0", + "clang_5_0", + "clang_6_0", + "libloading", + "runtime" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "envoy-proxy-dynamic-modules-rust-sdk 0.1.0", + "id": "clang-sys 1.8.1", "target": "build_script_build" }, { - "id": "mockall 0.13.1", - "target": "mockall" + "id": "glob 0.3.3", + "target": "glob" + }, + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "libloading 0.8.9", + "target": "libloading" } ], "selects": {} }, "edition": "2021", - "version": "0.1.0" + "version": "1.8.1" }, "build_script_attrs": { "compile_data_glob": [ @@ -608,33 +760,34 @@ "deps": { "common": [ { - "id": "bindgen 0.70.1", - "target": "bindgen" + "id": "glob 0.3.3", + "target": "glob" } ], "selects": {} - } + }, + "links": "clang" }, "license": "Apache-2.0", "license_ids": [ "Apache-2.0" ], - "license_file": null + "license_file": "LICENSE.txt" }, - "fragile 2.0.0": { - "name": "fragile", - "version": "2.0.0", - "package_url": "https://github.com/mitsuhiko/fragile", + "critical-section 1.2.0": { + "name": "critical-section", + "version": "1.2.0", + "package_url": "https://github.com/rust-embedded/critical-section", "repository": { "Http": { - "url": "https://static.crates.io/crates/fragile/2.0.0/download", - "sha256": "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" + "url": "https://static.crates.io/crates/critical-section/1.2.0/download", + "sha256": "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" } }, "targets": [ { "Library": { - "crate_name": "fragile", + "crate_name": "critical_section", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -645,34 +798,35 @@ } } ], - "library_target_name": "fragile", + "library_target_name": "critical_section", "common_attrs": { "compile_data_glob": [ "**" ], "edition": "2018", - "version": "2.0.0" + "version": "1.2.0" }, - "license": "Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "Apache-2.0" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "glob 0.3.1": { - "name": "glob", - "version": "0.3.1", - "package_url": "https://github.com/rust-lang/glob", + "crossbeam-channel 0.5.15": { + "name": "crossbeam-channel", + "version": "0.5.15", + "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://static.crates.io/crates/glob/0.3.1/download", - "sha256": "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + "url": "https://static.crates.io/crates/crossbeam-channel/0.5.15/download", + "sha256": "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" } }, "targets": [ { "Library": { - "crate_name": "glob", + "crate_name": "crossbeam_channel", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -683,13 +837,29 @@ } } ], - "library_target_name": "glob", + "library_target_name": "crossbeam_channel", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "0.3.1" + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "crossbeam-utils 0.8.21", + "target": "crossbeam_utils" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.15" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -698,20 +868,20 @@ ], "license_file": "LICENSE-APACHE" }, - "itertools 0.13.0": { - "name": "itertools", - "version": "0.13.0", - "package_url": "https://github.com/rust-itertools/itertools", + "crossbeam-epoch 0.9.18": { + "name": "crossbeam-epoch", + "version": "0.9.18", + "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://static.crates.io/crates/itertools/0.13.0/download", - "sha256": "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" + "url": "https://static.crates.io/crates/crossbeam-epoch/0.9.18/download", + "sha256": "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" } }, "targets": [ { "Library": { - "crate_name": "itertools", + "crate_name": "crossbeam_epoch", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -722,22 +892,30 @@ } } ], - "library_target_name": "itertools", + "library_target_name": "crossbeam_epoch", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "either 1.13.0", - "target": "either" + "id": "crossbeam-utils 0.8.21", + "target": "crossbeam_utils" } ], "selects": {} }, - "edition": "2018", - "version": "0.13.0" + "edition": "2021", + "version": "0.9.18" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -746,20 +924,20 @@ ], "license_file": "LICENSE-APACHE" }, - "libc 0.2.158": { - "name": "libc", - "version": "0.2.158", - "package_url": "https://github.com/rust-lang/libc", + "crossbeam-utils 0.8.21": { + "name": "crossbeam-utils", + "version": "0.8.21", + "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://static.crates.io/crates/libc/0.2.158/download", - "sha256": "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" + "url": "https://static.crates.io/crates/crossbeam-utils/0.8.21/download", + "sha256": "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" } }, "targets": [ { "Library": { - "crate_name": "libc", + "crate_name": "crossbeam_utils", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -782,22 +960,29 @@ } } ], - "library_target_name": "libc", + "library_target_name": "crossbeam_utils", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "libc 0.2.158", + "id": "crossbeam-utils 0.8.21", "target": "build_script_build" } ], "selects": {} }, - "edition": "2015", - "version": "0.2.158" + "edition": "2021", + "version": "0.8.21" }, "build_script_attrs": { "compile_data_glob": [ @@ -817,20 +1002,20 @@ ], "license_file": "LICENSE-APACHE" }, - "libloading 0.8.5": { - "name": "libloading", - "version": "0.8.5", - "package_url": "https://github.com/nagisa/rust_libloading/", + "data-encoding 2.10.0": { + "name": "data-encoding", + "version": "2.10.0", + "package_url": "https://github.com/ia0/data-encoding", "repository": { "Http": { - "url": "https://static.crates.io/crates/libloading/0.8.5/download", - "sha256": "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" + "url": "https://static.crates.io/crates/data-encoding/2.10.0/download", + "sha256": "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" } }, "targets": [ { "Library": { - "crate_name": "libloading", + "crate_name": "data_encoding", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -841,51 +1026,41 @@ } } ], - "library_target_name": "libloading", + "library_target_name": "data_encoding", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { - "common": [], - "selects": { - "cfg(unix)": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - } - ], - "cfg(windows)": [ - { - "id": "windows-targets 0.52.6", - "target": "windows_targets" - } - ] - } + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} }, - "edition": "2015", - "version": "0.8.5" + "edition": "2018", + "version": "2.10.0" }, - "license": "ISC", + "license": "MIT", "license_ids": [ - "ISC" + "MIT" ], "license_file": "LICENSE" }, - "log 0.4.22": { - "name": "log", - "version": "0.4.22", - "package_url": "https://github.com/rust-lang/log", + "deranged 0.5.8": { + "name": "deranged", + "version": "0.5.8", + "package_url": "https://github.com/jhpratt/deranged", "repository": { "Http": { - "url": "https://static.crates.io/crates/log/0.4.22/download", - "sha256": "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + "url": "https://static.crates.io/crates/deranged/0.5.8/download", + "sha256": "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" } }, "targets": [ { "Library": { - "crate_name": "log", + "crate_name": "deranged", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -896,35 +1071,51 @@ } } ], - "library_target_name": "log", + "library_target_name": "deranged", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "powerfmt" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "powerfmt 0.2.0", + "target": "powerfmt" + } + ], + "selects": {} + }, "edition": "2021", - "version": "0.4.22" + "version": "0.5.8" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE-Apache" }, - "memchr 2.7.4": { - "name": "memchr", - "version": "2.7.4", - "package_url": "https://github.com/BurntSushi/memchr", + "displaydoc 0.2.5": { + "name": "displaydoc", + "version": "0.2.5", + "package_url": "https://github.com/yaahc/displaydoc", "repository": { "Http": { - "url": "https://static.crates.io/crates/memchr/2.7.4/download", - "sha256": "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + "url": "https://static.crates.io/crates/displaydoc/0.2.5/download", + "sha256": "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" } }, "targets": [ { - "Library": { - "crate_name": "memchr", + "ProcMacro": { + "crate_name": "displaydoc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -935,42 +1126,52 @@ } } ], - "library_target_name": "memchr", + "library_target_name": "displaydoc", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { + "deps": { "common": [ - "alloc", - "std" + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } ], "selects": {} }, "edition": "2021", - "version": "2.7.4" + "version": "0.2.5" }, - "license": "Unlicense OR MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ - "MIT", - "Unlicense" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE-MIT" + "license_file": "LICENSE-APACHE" }, - "minimal-lexical 0.2.1": { - "name": "minimal-lexical", - "version": "0.2.1", - "package_url": "https://github.com/Alexhuszagh/minimal-lexical", + "downcast 0.11.0": { + "name": "downcast", + "version": "0.11.0", + "package_url": "https://github.com/fkoep/downcast-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/minimal-lexical/0.2.1/download", - "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + "url": "https://static.crates.io/crates/downcast/0.11.0/download", + "sha256": "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" } }, "targets": [ { "Library": { - "crate_name": "minimal_lexical", + "crate_name": "downcast", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -981,41 +1182,41 @@ } } ], - "library_target_name": "minimal_lexical", + "library_target_name": "downcast", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ + "default", "std" ], "selects": {} }, "edition": "2018", - "version": "0.2.1" + "version": "0.11.0" }, - "license": "MIT/Apache-2.0", + "license": "MIT", "license_ids": [ - "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE-MIT" }, - "mockall 0.13.1": { - "name": "mockall", - "version": "0.13.1", - "package_url": "https://github.com/asomers/mockall", + "either 1.15.0": { + "name": "either", + "version": "1.15.0", + "package_url": "https://github.com/rayon-rs/either", "repository": { "Http": { - "url": "https://static.crates.io/crates/mockall/0.13.1/download", - "sha256": "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" + "url": "https://static.crates.io/crates/either/1.15.0/download", + "sha256": "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" } }, "targets": [ { "Library": { - "crate_name": "mockall", + "crate_name": "either", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1026,7 +1227,46 @@ } } ], - "library_target_name": "mockall", + "library_target_name": "either", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "1.15.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "enum-as-inner 0.6.1": { + "name": "enum-as-inner", + "version": "0.6.1", + "package_url": "https://github.com/bluejekyll/enum-as-inner", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/enum-as-inner/0.6.1/download", + "sha256": "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "enum_as_inner", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "enum_as_inner", "common_attrs": { "compile_data_glob": [ "**" @@ -1034,61 +1274,92 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "downcast 0.11.0", - "target": "downcast" + "id": "heck 0.5.0", + "target": "heck" }, { - "id": "fragile 2.0.0", - "target": "fragile" + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" }, { - "id": "predicates 3.1.3", - "target": "predicates" + "id": "quote 1.0.45", + "target": "quote" }, { - "id": "predicates-tree 1.0.12", - "target": "predicates_tree" + "id": "syn 2.0.117", + "target": "syn" } ], "selects": {} }, - "edition": "2021", - "proc_macro_deps": { + "edition": "2018", + "version": "0.6.1" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "envoy-dynamic-modules-builtin-extensions 0.1.0": { + "name": "envoy-dynamic-modules-builtin-extensions", + "version": "0.1.0", + "package_url": "https://github.com/envoyproxy/envoy", + "repository": null, + "targets": [], + "library_target_name": null, + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { "common": [ { - "id": "mockall_derive 0.13.1", - "target": "mockall_derive" + "id": "hickory-resolver 0.25.2", + "target": "hickory_resolver" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_json 1.0.149", + "target": "serde_json" + }, + { + "id": "time 0.3.47", + "target": "time" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + }, + { + "id": "url 2.5.8", + "target": "url" } ], "selects": {} }, - "version": "0.13.1" + "edition": "2021", + "version": "0.1.0" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Apache-2.0" ], - "license_file": "LICENSE-APACHE" + "license_file": null }, - "mockall_derive 0.13.1": { - "name": "mockall_derive", - "version": "0.13.1", - "package_url": "https://github.com/asomers/mockall", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/mockall_derive/0.13.1/download", - "sha256": "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" - } - }, + "envoy-proxy-dynamic-modules-rust-sdk 0.1.0": { + "name": "envoy-proxy-dynamic-modules-rust-sdk", + "version": "0.1.0", + "package_url": "https://github.com/envoyproxy/envoy", + "repository": null, "targets": [ { - "ProcMacro": { - "crate_name": "mockall_derive", + "Library": { + "crate_name": "envoy_proxy_dynamic_modules_rust_sdk", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1111,7 +1382,7 @@ } } ], - "library_target_name": "mockall_derive", + "library_target_name": "envoy_proxy_dynamic_modules_rust_sdk", "common_attrs": { "compile_data_glob": [ "**" @@ -1119,30 +1390,18 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "mockall_derive 0.13.1", + "id": "envoy-proxy-dynamic-modules-rust-sdk 0.1.0", "target": "build_script_build" }, { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" - }, - { - "id": "syn 2.0.77", - "target": "syn" + "id": "mockall 0.13.1", + "target": "mockall" } ], "selects": {} }, "edition": "2021", - "version": "0.13.1" + "version": "0.1.0" }, "build_script_attrs": { "compile_data_glob": [ @@ -1153,29 +1412,76 @@ ], "data_glob": [ "**" - ] + ], + "deps": { + "common": [ + { + "id": "bindgen 0.70.1", + "target": "bindgen" + } + ], + "selects": {} + } }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, + "equivalent 1.0.2": { + "name": "equivalent", + "version": "1.0.2", + "package_url": "https://github.com/indexmap-rs/equivalent", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/equivalent/1.0.2/download", + "sha256": "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "equivalent", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "equivalent", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.0.2" + }, + "license": "Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "nom 7.1.3": { - "name": "nom", - "version": "7.1.3", - "package_url": "https://github.com/Geal/nom", + "find-msvc-tools 0.1.9": { + "name": "find-msvc-tools", + "version": "0.1.9", + "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/nom/7.1.3/download", - "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" + "url": "https://static.crates.io/crates/find-msvc-tools/0.1.9/download", + "sha256": "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" } }, "targets": [ { "Library": { - "crate_name": "nom", + "crate_name": "find_msvc_tools", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1186,55 +1492,36 @@ } } ], - "library_target_name": "nom", + "library_target_name": "find_msvc_tools", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "alloc", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "memchr 2.7.4", - "target": "memchr" - }, - { - "id": "minimal-lexical 0.2.1", - "target": "minimal_lexical" - } - ], - "selects": {} - }, "edition": "2018", - "version": "7.1.3" + "version": "0.1.9" }, - "license": "MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "predicates 3.1.3": { - "name": "predicates", - "version": "3.1.3", - "package_url": "https://github.com/assert-rs/predicates-rs", + "fnv 1.0.7": { + "name": "fnv", + "version": "1.0.7", + "package_url": "https://github.com/servo/rust-fnv", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates/3.1.3/download", - "sha256": "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" + "url": "https://static.crates.io/crates/fnv/1.0.7/download", + "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" } }, "targets": [ { "Library": { - "crate_name": "predicates", - "crate_root": "src/lib.rs", + "crate_name": "fnv", + "crate_root": "lib.rs", "srcs": { "allow_empty": true, "include": [ @@ -1244,48 +1531,42 @@ } } ], - "library_target_name": "predicates", + "library_target_name": "fnv", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { + "crate_features": { "common": [ - { - "id": "anstyle 1.0.10", - "target": "anstyle" - }, - { - "id": "predicates-core 1.0.9", - "target": "predicates_core" - } + "default", + "std" ], "selects": {} }, - "edition": "2021", - "version": "3.1.3" + "edition": "2015", + "version": "1.0.7" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0 / MIT", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "predicates-core 1.0.9": { - "name": "predicates-core", - "version": "1.0.9", - "package_url": "https://github.com/assert-rs/predicates-rs/tree/master/crates/core", + "foldhash 0.1.5": { + "name": "foldhash", + "version": "0.1.5", + "package_url": "https://github.com/orlp/foldhash", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates-core/1.0.9/download", - "sha256": "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" + "url": "https://static.crates.io/crates/foldhash/0.1.5/download", + "sha256": "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" } }, "targets": [ { "Library": { - "crate_name": "predicates_core", + "crate_name": "foldhash", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1296,35 +1577,34 @@ } } ], - "library_target_name": "predicates_core", + "library_target_name": "foldhash", "common_attrs": { "compile_data_glob": [ "**" ], "edition": "2021", - "version": "1.0.9" + "version": "0.1.5" }, - "license": "MIT OR Apache-2.0", + "license": "Zlib", "license_ids": [ - "Apache-2.0", - "MIT" + "Zlib" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "predicates-tree 1.0.12": { - "name": "predicates-tree", - "version": "1.0.12", - "package_url": "https://github.com/assert-rs/predicates-rs/tree/master/crates/tree", + "form_urlencoded 1.2.2": { + "name": "form_urlencoded", + "version": "1.2.2", + "package_url": "https://github.com/servo/rust-url", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates-tree/1.0.12/download", - "sha256": "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" + "url": "https://static.crates.io/crates/form_urlencoded/1.2.2/download", + "sha256": "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" } }, "targets": [ { "Library": { - "crate_name": "predicates_tree", + "crate_name": "form_urlencoded", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1335,26 +1615,29 @@ } } ], - "library_target_name": "predicates_tree", + "library_target_name": "form_urlencoded", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "predicates-core 1.0.9", - "target": "predicates_core" - }, - { - "id": "termtree 0.5.1", - "target": "termtree" + "id": "percent-encoding 2.3.2", + "target": "percent_encoding" } ], "selects": {} }, - "edition": "2021", - "version": "1.0.12" + "edition": "2018", + "version": "1.2.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1363,20 +1646,20 @@ ], "license_file": "LICENSE-APACHE" }, - "prettyplease 0.2.22": { - "name": "prettyplease", - "version": "0.2.22", - "package_url": "https://github.com/dtolnay/prettyplease", + "fragile 2.0.1": { + "name": "fragile", + "version": "2.0.1", + "package_url": "https://github.com/mitsuhiko/fragile", "repository": { "Http": { - "url": "https://static.crates.io/crates/prettyplease/0.2.22/download", - "sha256": "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" + "url": "https://static.crates.io/crates/fragile/2.0.1/download", + "sha256": "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" } }, "targets": [ { "Library": { - "crate_name": "prettyplease", + "crate_name": "fragile", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1385,84 +1668,36 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "prettyplease", + "library_target_name": "fragile", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "verbatim" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "prettyplease 0.2.22", - "target": "build_script_build" - }, - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "syn 2.0.77", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.2.22" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ], - "links": "prettyplease02" + "edition": "2018", + "version": "2.0.1" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Apache-2.0" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "proc-macro2 1.0.86": { - "name": "proc-macro2", - "version": "1.0.86", - "package_url": "https://github.com/dtolnay/proc-macro2", + "futures-channel 0.3.32": { + "name": "futures-channel", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/proc-macro2/1.0.86/download", - "sha256": "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" + "url": "https://static.crates.io/crates/futures-channel/0.3.32/download", + "sha256": "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" } }, "targets": [ { "Library": { - "crate_name": "proc_macro2", + "crate_name": "futures_channel", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1471,58 +1706,31 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "proc_macro2", + "library_target_name": "futures_channel", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "default", - "proc-macro" + "alloc", + "std" ], "selects": {} }, "deps": { "common": [ { - "id": "proc-macro2 1.0.86", - "target": "build_script_build" - }, - { - "id": "unicode-ident 1.0.13", - "target": "unicode_ident" + "id": "futures-core 0.3.32", + "target": "futures_core" } ], "selects": {} }, - "edition": "2021", - "version": "1.0.86" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "edition": "2018", + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1531,20 +1739,20 @@ ], "license_file": "LICENSE-APACHE" }, - "quote 1.0.37": { - "name": "quote", - "version": "1.0.37", - "package_url": "https://github.com/dtolnay/quote", + "futures-core 0.3.32": { + "name": "futures-core", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/quote/1.0.37/download", - "sha256": "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" + "url": "https://static.crates.io/crates/futures-core/0.3.32/download", + "sha256": "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" } }, "targets": [ { "Library": { - "crate_name": "quote", + "crate_name": "futures_core", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1555,29 +1763,21 @@ } } ], - "library_target_name": "quote", + "library_target_name": "futures_core", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ + "alloc", "default", - "proc-macro" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - } + "std" ], "selects": {} }, "edition": "2018", - "version": "1.0.37" + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1586,20 +1786,20 @@ ], "license_file": "LICENSE-APACHE" }, - "regex 1.10.6": { - "name": "regex", - "version": "1.10.6", - "package_url": "https://github.com/rust-lang/regex", + "futures-io 0.3.32": { + "name": "futures-io", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex/1.10.6/download", - "sha256": "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" + "url": "https://static.crates.io/crates/futures-io/0.3.32/download", + "sha256": "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" } }, "targets": [ { "Library": { - "crate_name": "regex", + "crate_name": "futures_io", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1610,33 +1810,19 @@ } } ], - "library_target_name": "regex", + "library_target_name": "futures_io", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "std", - "unicode-perl" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "regex-automata 0.4.7", - "target": "regex_automata" - }, - { - "id": "regex-syntax 0.8.4", - "target": "regex_syntax" - } + "std" ], "selects": {} }, - "edition": "2021", - "version": "1.10.6" + "edition": "2018", + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1645,20 +1831,20 @@ ], "license_file": "LICENSE-APACHE" }, - "regex-automata 0.4.7": { - "name": "regex-automata", - "version": "0.4.7", - "package_url": "https://github.com/rust-lang/regex/tree/master/regex-automata", + "futures-sink 0.3.32": { + "name": "futures-sink", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex-automata/0.4.7/download", - "sha256": "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" + "url": "https://static.crates.io/crates/futures-sink/0.3.32/download", + "sha256": "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" } }, "targets": [ { "Library": { - "crate_name": "regex_automata", + "crate_name": "futures_sink", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1669,7 +1855,7 @@ } } ], - "library_target_name": "regex_automata", + "library_target_name": "futures_sink", "common_attrs": { "compile_data_glob": [ "**" @@ -1677,27 +1863,13 @@ "crate_features": { "common": [ "alloc", - "meta", - "nfa-pikevm", - "nfa-thompson", - "std", - "syntax", - "unicode-perl", - "unicode-word-boundary" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "regex-syntax 0.8.4", - "target": "regex_syntax" - } + "default", + "std" ], "selects": {} }, - "edition": "2021", - "version": "0.4.7" + "edition": "2018", + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1706,20 +1878,20 @@ ], "license_file": "LICENSE-APACHE" }, - "regex-syntax 0.8.4": { - "name": "regex-syntax", - "version": "0.8.4", - "package_url": "https://github.com/rust-lang/regex/tree/master/regex-syntax", + "futures-task 0.3.32": { + "name": "futures-task", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex-syntax/0.8.4/download", - "sha256": "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + "url": "https://static.crates.io/crates/futures-task/0.3.32/download", + "sha256": "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" } }, "targets": [ { "Library": { - "crate_name": "regex_syntax", + "crate_name": "futures_task", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1730,20 +1902,20 @@ } } ], - "library_target_name": "regex_syntax", + "library_target_name": "futures_task", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "std", - "unicode-perl" + "alloc", + "std" ], "selects": {} }, - "edition": "2021", - "version": "0.8.4" + "edition": "2018", + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1752,20 +1924,20 @@ ], "license_file": "LICENSE-APACHE" }, - "rustc-hash 1.1.0": { - "name": "rustc-hash", - "version": "1.1.0", - "package_url": "https://github.com/rust-lang-nursery/rustc-hash", + "futures-util 0.3.32": { + "name": "futures-util", + "version": "0.3.32", + "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustc-hash/1.1.0/download", - "sha256": "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + "url": "https://static.crates.io/crates/futures-util/0.3.32/download", + "sha256": "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" } }, "targets": [ { "Library": { - "crate_name": "rustc_hash", + "crate_name": "futures_util", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1776,42 +1948,64 @@ } } ], - "library_target_name": "rustc_hash", + "library_target_name": "futures_util", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "default", + "alloc", + "slab", "std" ], "selects": {} }, - "edition": "2015", - "version": "1.1.0" + "deps": { + "common": [ + { + "id": "futures-core 0.3.32", + "target": "futures_core" + }, + { + "id": "futures-task 0.3.32", + "target": "futures_task" + }, + { + "id": "pin-project-lite 0.2.17", + "target": "pin_project_lite" + }, + { + "id": "slab 0.4.12", + "target": "slab" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.3.32" }, - "license": "Apache-2.0/MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "shlex 1.3.0": { - "name": "shlex", - "version": "1.3.0", - "package_url": "https://github.com/comex/rust-shlex", + "getrandom 0.2.17": { + "name": "getrandom", + "version": "0.2.17", + "package_url": "https://github.com/rust-random/getrandom", "repository": { "Http": { - "url": "https://static.crates.io/crates/shlex/1.3.0/download", - "sha256": "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + "url": "https://static.crates.io/crates/getrandom/0.2.17/download", + "sha256": "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" } }, "targets": [ { "Library": { - "crate_name": "shlex", + "crate_name": "getrandom", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1822,20 +2016,35 @@ } } ], - "library_target_name": "shlex", + "library_target_name": "getrandom", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { + "deps": { "common": [ - "default", - "std" + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + } ], - "selects": {} + "selects": { + "cfg(target_os = \"wasi\")": [ + { + "id": "wasi 0.11.1+wasi-snapshot-preview1", + "target": "wasi" + } + ], + "cfg(unix)": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ] + } }, - "edition": "2015", - "version": "1.3.0" + "edition": "2018", + "version": "0.2.17" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1844,20 +2053,20 @@ ], "license_file": "LICENSE-APACHE" }, - "syn 2.0.77": { - "name": "syn", - "version": "2.0.77", - "package_url": "https://github.com/dtolnay/syn", + "getrandom 0.3.4": { + "name": "getrandom", + "version": "0.3.4", + "package_url": "https://github.com/rust-random/getrandom", "repository": { "Http": { - "url": "https://static.crates.io/crates/syn/2.0.77/download", - "sha256": "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" + "url": "https://static.crates.io/crates/getrandom/0.3.4/download", + "sha256": "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" } }, "targets": [ { "Library": { - "crate_name": "syn", + "crate_name": "getrandom", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1866,68 +2075,9139 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "syn", + "library_target_name": "getrandom", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "clone-impls", - "default", - "derive", - "extra-traits", - "full", - "parsing", - "printing", - "proc-macro", - "visit-mut" + "std" ], "selects": {} }, "deps": { "common": [ { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" + "id": "cfg-if 1.0.4", + "target": "cfg_if" }, { - "id": "unicode-ident 1.0.13", - "target": "unicode_ident" + "id": "getrandom 0.3.4", + "target": "build_script_build" } ], - "selects": {} - }, - "edition": "2021", - "version": "2.0.77" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "termtree 0.5.1": { + "selects": { + "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [ + { + "id": "wasip2 1.0.2+wasi-0.2.9", + "target": "wasip2" + } + ], + "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [ + { + "id": "r-efi 5.3.0", + "target": "r_efi" + } + ], + "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"netbsd\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"solaris\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"vxworks\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ] + } + }, + "edition": "2021", + "version": "0.3.4" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "getrandom 0.4.2": { + "name": "getrandom", + "version": "0.4.2", + "package_url": "https://github.com/rust-random/getrandom", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/getrandom/0.4.2/download", + "sha256": "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" + } + }, + "targets": [ + { + "Library": { + "crate_name": "getrandom", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "getrandom", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "getrandom 0.4.2", + "target": "build_script_build" + } + ], + "selects": { + "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [ + { + "id": "wasip2 1.0.2+wasi-0.2.9", + "target": "wasip2" + } + ], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p3\"))": [ + { + "id": "wasip3 0.4.0+wasi-0.3.0-rc-2026-01-06", + "target": "wasip3" + } + ], + "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [ + { + "id": "r-efi 6.0.0", + "target": "r_efi" + } + ], + "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"netbsd\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"solaris\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"vxworks\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ] + } + }, + "edition": "2024", + "version": "0.4.2" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "glob 0.3.3": { + "name": "glob", + "version": "0.3.3", + "package_url": "https://github.com/rust-lang/glob", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/glob/0.3.3/download", + "sha256": "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + } + }, + "targets": [ + { + "Library": { + "crate_name": "glob", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "glob", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.3.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "h2 0.4.13": { + "name": "h2", + "version": "0.4.13", + "package_url": "https://github.com/hyperium/h2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/h2/0.4.13/download", + "sha256": "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" + } + }, + "targets": [ + { + "Library": { + "crate_name": "h2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "h2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "stream" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "atomic-waker 1.1.2", + "target": "atomic_waker" + }, + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "fnv 1.0.7", + "target": "fnv" + }, + { + "id": "futures-core 0.3.32", + "target": "futures_core" + }, + { + "id": "futures-sink 0.3.32", + "target": "futures_sink" + }, + { + "id": "http 1.4.0", + "target": "http" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "slab 0.4.12", + "target": "slab" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + }, + { + "id": "tokio-util 0.7.18", + "target": "tokio_util" + }, + { + "id": "tracing 0.1.44", + "target": "tracing" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.13" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "hashbrown 0.15.5": { + "name": "hashbrown", + "version": "0.15.5", + "package_url": "https://github.com/rust-lang/hashbrown", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hashbrown/0.15.5/download", + "sha256": "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hashbrown", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hashbrown", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default-hasher" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "foldhash 0.1.5", + "target": "foldhash" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.15.5" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "hashbrown 0.16.1": { + "name": "hashbrown", + "version": "0.16.1", + "package_url": "https://github.com/rust-lang/hashbrown", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hashbrown/0.16.1/download", + "sha256": "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hashbrown", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hashbrown", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.16.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "heck 0.5.0": { + "name": "heck", + "version": "0.5.0", + "package_url": "https://github.com/withoutboats/heck", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/heck/0.5.0/download", + "sha256": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + } + }, + "targets": [ + { + "Library": { + "crate_name": "heck", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "heck", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.5.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "hickory-proto 0.25.2": { + "name": "hickory-proto", + "version": "0.25.2", + "package_url": "https://github.com/hickory-dns/hickory-dns", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hickory-proto/0.25.2/download", + "sha256": "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hickory_proto", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hickory_proto", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "__dnssec", + "__https", + "__tls", + "dnssec-ring", + "futures-io", + "https-ring", + "std", + "tls-ring", + "tokio", + "webpki-roots" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bitflags 2.11.0", + "target": "bitflags" + }, + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "data-encoding 2.10.0", + "target": "data_encoding" + }, + { + "id": "futures-channel 0.3.32", + "target": "futures_channel" + }, + { + "id": "futures-io 0.3.32", + "target": "futures_io" + }, + { + "id": "futures-util 0.3.32", + "target": "futures_util" + }, + { + "id": "h2 0.4.13", + "target": "h2" + }, + { + "id": "http 1.4.0", + "target": "http" + }, + { + "id": "idna 1.1.0", + "target": "idna" + }, + { + "id": "ipnet 2.12.0", + "target": "ipnet" + }, + { + "id": "once_cell 1.21.4", + "target": "once_cell" + }, + { + "id": "rand 0.9.4", + "target": "rand" + }, + { + "id": "ring 0.17.14", + "target": "ring" + }, + { + "id": "rustls 0.23.37", + "target": "rustls" + }, + { + "id": "rustls-pki-types 1.14.0", + "target": "rustls_pki_types" + }, + { + "id": "thiserror 2.0.18", + "target": "thiserror" + }, + { + "id": "time 0.3.47", + "target": "time" + }, + { + "id": "tinyvec 1.11.0", + "target": "tinyvec" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + }, + { + "id": "tokio-rustls 0.26.4", + "target": "tokio_rustls" + }, + { + "id": "tracing 0.1.44", + "target": "tracing" + }, + { + "id": "url 2.5.8", + "target": "url" + }, + { + "id": "webpki-roots 0.26.11", + "target": "webpki_roots" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.89", + "target": "async_trait" + }, + { + "id": "enum-as-inner 0.6.1", + "target": "enum_as_inner" + } + ], + "selects": {} + }, + "version": "0.25.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "hickory-resolver 0.25.2": { + "name": "hickory-resolver", + "version": "0.25.2", + "package_url": "https://github.com/hickory-dns/hickory-dns", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hickory-resolver/0.25.2/download", + "sha256": "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hickory_resolver", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hickory_resolver", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "__dnssec", + "__https", + "__tls", + "default", + "dnssec-ring", + "https-ring", + "system-config", + "tls-ring", + "tokio", + "webpki-roots" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "futures-util 0.3.32", + "target": "futures_util" + }, + { + "id": "hickory-proto 0.25.2", + "target": "hickory_proto" + }, + { + "id": "moka 0.12.15", + "target": "moka" + }, + { + "id": "once_cell 1.21.4", + "target": "once_cell" + }, + { + "id": "parking_lot 0.12.5", + "target": "parking_lot" + }, + { + "id": "rand 0.9.4", + "target": "rand" + }, + { + "id": "resolv-conf 0.7.6", + "target": "resolv_conf" + }, + { + "id": "rustls 0.23.37", + "target": "rustls" + }, + { + "id": "smallvec 1.15.1", + "target": "smallvec" + }, + { + "id": "thiserror 2.0.18", + "target": "thiserror" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + }, + { + "id": "tokio-rustls 0.26.4", + "target": "tokio_rustls" + }, + { + "id": "tracing 0.1.44", + "target": "tracing" + }, + { + "id": "webpki-roots 0.26.11", + "target": "webpki_roots" + } + ], + "selects": { + "x86_64-pc-windows-msvc": [ + { + "id": "ipconfig 0.3.4", + "target": "ipconfig" + } + ] + } + }, + "edition": "2021", + "version": "0.25.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "http 1.4.0": { + "name": "http", + "version": "1.4.0", + "package_url": "https://github.com/hyperium/http", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/http/1.4.0/download", + "sha256": "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "http", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "http", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "itoa 1.0.18", + "target": "itoa" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.4.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "icu_collections 2.1.1": { + "name": "icu_collections", + "version": "2.1.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_collections/2.1.1/download", + "sha256": "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_collections", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_collections", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "potential_utf 0.1.4", + "target": "potential_utf" + }, + { + "id": "yoke 0.8.1", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + }, + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "2.1.1" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_locale_core 2.1.1": { + "name": "icu_locale_core", + "version": "2.1.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_locale_core/2.1.1/download", + "sha256": "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_locale_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_locale_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "zerovec" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "litemap 0.8.1", + "target": "litemap" + }, + { + "id": "tinystr 0.8.2", + "target": "tinystr" + }, + { + "id": "writeable 0.6.2", + "target": "writeable" + }, + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "2.1.1" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_normalizer 2.1.1": { + "name": "icu_normalizer", + "version": "2.1.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_normalizer/2.1.1/download", + "sha256": "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_normalizer", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_normalizer", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "compiled_data" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "icu_collections 2.1.1", + "target": "icu_collections" + }, + { + "id": "icu_normalizer_data 2.1.1", + "target": "icu_normalizer_data" + }, + { + "id": "icu_provider 2.1.1", + "target": "icu_provider" + }, + { + "id": "smallvec 1.15.1", + "target": "smallvec" + }, + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.1.1" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_normalizer_data 2.1.1": { + "name": "icu_normalizer_data", + "version": "2.1.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_normalizer_data/2.1.1/download", + "sha256": "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_normalizer_data", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_normalizer_data", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "icu_normalizer_data 2.1.1", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.1.1" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_properties 2.1.2": { + "name": "icu_properties", + "version": "2.1.2", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_properties/2.1.2/download", + "sha256": "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_properties", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_properties", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "compiled_data" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "icu_collections 2.1.1", + "target": "icu_collections" + }, + { + "id": "icu_locale_core 2.1.1", + "target": "icu_locale_core" + }, + { + "id": "icu_properties_data 2.1.2", + "target": "icu_properties_data" + }, + { + "id": "icu_provider 2.1.1", + "target": "icu_provider" + }, + { + "id": "zerotrie 0.2.3", + "target": "zerotrie" + }, + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.1.2" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_properties_data 2.1.2": { + "name": "icu_properties_data", + "version": "2.1.2", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_properties_data/2.1.2/download", + "sha256": "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_properties_data", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_properties_data", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "icu_properties_data 2.1.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.1.2" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "icu_provider 2.1.1": { + "name": "icu_provider", + "version": "2.1.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/icu_provider/2.1.1/download", + "sha256": "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_provider", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "icu_provider", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "baked" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "icu_locale_core 2.1.1", + "target": "icu_locale_core" + }, + { + "id": "writeable 0.6.2", + "target": "writeable" + }, + { + "id": "yoke 0.8.1", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + }, + { + "id": "zerotrie 0.2.3", + "target": "zerotrie" + }, + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "2.1.1" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "id-arena 2.3.0": { + "name": "id-arena", + "version": "2.3.0", + "package_url": "https://github.com/fitzgen/id-arena", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/id-arena/2.3.0/download", + "sha256": "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + } + }, + "targets": [ + { + "Library": { + "crate_name": "id_arena", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "id_arena", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "2.3.0" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "idna 1.1.0": { + "name": "idna", + "version": "1.1.0", + "package_url": "https://github.com/servo/rust-url/", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/idna/1.1.0/download", + "sha256": "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" + } + }, + "targets": [ + { + "Library": { + "crate_name": "idna", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "idna", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "compiled_data", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "idna_adapter 1.2.1", + "target": "idna_adapter" + }, + { + "id": "smallvec 1.15.1", + "target": "smallvec" + }, + { + "id": "utf8_iter 1.0.4", + "target": "utf8_iter" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "1.1.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "idna_adapter 1.2.1": { + "name": "idna_adapter", + "version": "1.2.1", + "package_url": "https://github.com/hsivonen/idna_adapter", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/idna_adapter/1.2.1/download", + "sha256": "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" + } + }, + "targets": [ + { + "Library": { + "crate_name": "idna_adapter", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "idna_adapter", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "compiled_data" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "icu_normalizer 2.1.1", + "target": "icu_normalizer" + }, + { + "id": "icu_properties 2.1.2", + "target": "icu_properties" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.2.1" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "indexmap 2.13.0": { + "name": "indexmap", + "version": "2.13.0", + "package_url": "https://github.com/indexmap-rs/indexmap", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/indexmap/2.13.0/download", + "sha256": "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" + } + }, + "targets": [ + { + "Library": { + "crate_name": "indexmap", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "indexmap", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": { + "aarch64-apple-darwin": [ + "serde" + ], + "aarch64-unknown-linux-gnu": [ + "serde" + ], + "x86_64-pc-windows-msvc": [ + "serde" + ], + "x86_64-unknown-linux-gnu": [ + "serde" + ], + "x86_64-unknown-nixos-gnu": [ + "serde" + ] + } + }, + "deps": { + "common": [ + { + "id": "equivalent 1.0.2", + "target": "equivalent" + }, + { + "id": "hashbrown 0.16.1", + "target": "hashbrown" + } + ], + "selects": { + "aarch64-apple-darwin": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "x86_64-pc-windows-msvc": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ] + } + }, + "edition": "2021", + "version": "2.13.0" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "ipconfig 0.3.4": { + "name": "ipconfig", + "version": "0.3.4", + "package_url": "https://github.com/liranringel/ipconfig", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ipconfig/0.3.4/download", + "sha256": "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ipconfig", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ipconfig", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "computer", + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "ipconfig 0.3.4", + "target": "build_script_build" + }, + { + "id": "windows-registry 0.6.1", + "target": "windows_registry" + }, + { + "id": "windows-result 0.4.1", + "target": "windows_result" + } + ], + "selects": { + "cfg(windows)": [ + { + "id": "socket2 0.6.3", + "target": "socket2" + }, + { + "id": "widestring 1.2.1", + "target": "widestring" + }, + { + "id": "windows-sys 0.61.2", + "target": "windows_sys" + } + ] + } + }, + "edition": "2018", + "version": "0.3.4" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "ipnet 2.12.0": { + "name": "ipnet", + "version": "2.12.0", + "package_url": "https://github.com/krisprice/ipnet", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ipnet/2.12.0/download", + "sha256": "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ipnet", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ipnet", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "2.12.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "itertools 0.13.0": { + "name": "itertools", + "version": "0.13.0", + "package_url": "https://github.com/rust-itertools/itertools", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/itertools/0.13.0/download", + "sha256": "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" + } + }, + "targets": [ + { + "Library": { + "crate_name": "itertools", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "itertools", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "either 1.15.0", + "target": "either" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.13.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "itoa 1.0.18": { + "name": "itoa", + "version": "1.0.18", + "package_url": "https://github.com/dtolnay/itoa", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/itoa/1.0.18/download", + "sha256": "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + } + }, + "targets": [ + { + "Library": { + "crate_name": "itoa", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "itoa", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "1.0.18" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "js-sys 0.3.91": { + "name": "js-sys", + "version": "0.3.91", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/js-sys", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/js-sys/0.3.91/download", + "sha256": "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "js_sys", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "js_sys", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "once_cell 1.21.4", + "target": "once_cell" + }, + { + "id": "wasm-bindgen 0.2.114", + "target": "wasm_bindgen" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.3.91" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "leb128fmt 0.1.0": { + "name": "leb128fmt", + "version": "0.1.0", + "package_url": "https://github.com/bluk/leb128fmt", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/leb128fmt/0.1.0/download", + "sha256": "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "leb128fmt", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "leb128fmt", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.1.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "libc 0.2.183": { + "name": "libc", + "version": "0.2.183", + "package_url": "https://github.com/rust-lang/libc", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/libc/0.2.183/download", + "sha256": "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "libc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "libc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [], + "selects": { + "aarch64-apple-darwin": [ + "default", + "std" + ], + "aarch64-unknown-linux-gnu": [ + "default", + "std" + ], + "wasm32-wasip1": [ + "default", + "std" + ], + "x86_64-unknown-linux-gnu": [ + "default", + "std" + ], + "x86_64-unknown-nixos-gnu": [ + "default", + "std" + ] + } + }, + "deps": { + "common": [ + { + "id": "libc 0.2.183", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.183" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "libloading 0.8.9": { + "name": "libloading", + "version": "0.8.9", + "package_url": "https://github.com/nagisa/rust_libloading/", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/libloading/0.8.9/download", + "sha256": "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" + } + }, + "targets": [ + { + "Library": { + "crate_name": "libloading", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "libloading", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "cfg(unix)": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + } + ], + "cfg(windows)": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + } + ] + } + }, + "edition": "2015", + "version": "0.8.9" + }, + "license": "ISC", + "license_ids": [ + "ISC" + ], + "license_file": "LICENSE" + }, + "litemap 0.8.1": { + "name": "litemap", + "version": "0.8.1", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/litemap/0.8.1/download", + "sha256": "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + } + }, + "targets": [ + { + "Library": { + "crate_name": "litemap", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "litemap", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.8.1" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "lock_api 0.4.14": { + "name": "lock_api", + "version": "0.4.14", + "package_url": "https://github.com/Amanieu/parking_lot", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/lock_api/0.4.14/download", + "sha256": "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + } + }, + "targets": [ + { + "Library": { + "crate_name": "lock_api", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "lock_api", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "atomic_usize", + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "scopeguard 1.2.0", + "target": "scopeguard" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.14" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "log 0.4.29": { + "name": "log", + "version": "0.4.29", + "package_url": "https://github.com/rust-lang/log", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/log/0.4.29/download", + "sha256": "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + } + }, + "targets": [ + { + "Library": { + "crate_name": "log", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "log", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.4.29" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "memchr 2.8.0": { + "name": "memchr", + "version": "2.8.0", + "package_url": "https://github.com/BurntSushi/memchr", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/memchr/2.8.0/download", + "sha256": "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" + } + }, + "targets": [ + { + "Library": { + "crate_name": "memchr", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "memchr", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "2.8.0" + }, + "license": "Unlicense OR MIT", + "license_ids": [ + "MIT", + "Unlicense" + ], + "license_file": "LICENSE-MIT" + }, + "minimal-lexical 0.2.1": { + "name": "minimal-lexical", + "version": "0.2.1", + "package_url": "https://github.com/Alexhuszagh/minimal-lexical", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/minimal-lexical/0.2.1/download", + "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "minimal_lexical", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "minimal_lexical", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "0.2.1" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "mio 1.1.1": { + "name": "mio", + "version": "1.1.1", + "package_url": "https://github.com/tokio-rs/mio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/mio/1.1.1/download", + "sha256": "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" + } + }, + "targets": [ + { + "Library": { + "crate_name": "mio", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "mio", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "net", + "os-ext", + "os-poll" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "cfg(target_os = \"hermit\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(target_os = \"wasi\")": [ + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "wasi 0.11.1+wasi-snapshot-preview1", + "target": "wasi" + } + ], + "cfg(unix)": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "windows-sys 0.61.2", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "version": "1.1.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "mockall 0.13.1": { + "name": "mockall", + "version": "0.13.1", + "package_url": "https://github.com/asomers/mockall", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/mockall/0.13.1/download", + "sha256": "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "mockall", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "mockall", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "downcast 0.11.0", + "target": "downcast" + }, + { + "id": "fragile 2.0.1", + "target": "fragile" + }, + { + "id": "predicates 3.1.4", + "target": "predicates" + }, + { + "id": "predicates-tree 1.0.13", + "target": "predicates_tree" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "mockall_derive 0.13.1", + "target": "mockall_derive" + } + ], + "selects": {} + }, + "version": "0.13.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "mockall_derive 0.13.1": { + "name": "mockall_derive", + "version": "0.13.1", + "package_url": "https://github.com/asomers/mockall", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/mockall_derive/0.13.1/download", + "sha256": "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "mockall_derive", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "mockall_derive", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "mockall_derive 0.13.1", + "target": "build_script_build" + }, + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.13.1" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "moka 0.12.15": { + "name": "moka", + "version": "0.12.15", + "package_url": "https://github.com/moka-rs/moka", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/moka/0.12.15/download", + "sha256": "957228ad12042ee839f93c8f257b62b4c0ab5eaae1d4fa60de53b27c9d7c5046" + } + }, + "targets": [ + { + "Library": { + "crate_name": "moka", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "moka", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "sync" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "crossbeam-channel 0.5.15", + "target": "crossbeam_channel" + }, + { + "id": "crossbeam-epoch 0.9.18", + "target": "crossbeam_epoch" + }, + { + "id": "crossbeam-utils 0.8.21", + "target": "crossbeam_utils" + }, + { + "id": "equivalent 1.0.2", + "target": "equivalent" + }, + { + "id": "parking_lot 0.12.5", + "target": "parking_lot" + }, + { + "id": "portable-atomic 1.13.1", + "target": "portable_atomic" + }, + { + "id": "smallvec 1.15.1", + "target": "smallvec" + }, + { + "id": "tagptr 0.2.0", + "target": "tagptr" + }, + { + "id": "uuid 1.22.0", + "target": "uuid" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.12.15" + }, + "license": "(MIT OR Apache-2.0) AND Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "nom 7.1.3": { + "name": "nom", + "version": "7.1.3", + "package_url": "https://github.com/Geal/nom", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/nom/7.1.3/download", + "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "nom", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "nom", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "memchr 2.8.0", + "target": "memchr" + }, + { + "id": "minimal-lexical 0.2.1", + "target": "minimal_lexical" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "7.1.3" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "num-conv 0.2.1": { + "name": "num-conv", + "version": "0.2.1", + "package_url": "https://github.com/jhpratt/num-conv", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/num-conv/0.2.1/download", + "sha256": "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" + } + }, + "targets": [ + { + "Library": { + "crate_name": "num_conv", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "num_conv", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.2.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-Apache" + }, + "once_cell 1.21.4": { + "name": "once_cell", + "version": "1.21.4", + "package_url": "https://github.com/matklad/once_cell", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/once_cell/1.21.4/download", + "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + } + }, + "targets": [ + { + "Library": { + "crate_name": "once_cell", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "once_cell", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "critical-section", + "default", + "portable-atomic", + "race", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "critical-section 1.2.0", + "target": "critical_section" + }, + { + "id": "portable-atomic 1.13.1", + "target": "portable_atomic" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.21.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "parking_lot 0.12.5": { + "name": "parking_lot", + "version": "0.12.5", + "package_url": "https://github.com/Amanieu/parking_lot", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/parking_lot/0.12.5/download", + "sha256": "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "parking_lot", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "parking_lot", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "lock_api 0.4.14", + "target": "lock_api" + }, + { + "id": "parking_lot_core 0.9.12", + "target": "parking_lot_core" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.12.5" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "parking_lot_core 0.9.12": { + "name": "parking_lot_core", + "version": "0.9.12", + "package_url": "https://github.com/Amanieu/parking_lot", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/parking_lot_core/0.9.12/download", + "sha256": "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "parking_lot_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "parking_lot_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "parking_lot_core 0.9.12", + "target": "build_script_build" + }, + { + "id": "smallvec 1.15.1", + "target": "smallvec" + } + ], + "selects": { + "cfg(target_os = \"redox\")": [ + { + "id": "redox_syscall 0.5.18", + "target": "syscall" + } + ], + "cfg(unix)": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + } + ] + } + }, + "edition": "2021", + "version": "0.9.12" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "percent-encoding 2.3.2": { + "name": "percent-encoding", + "version": "2.3.2", + "package_url": "https://github.com/servo/rust-url/", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/percent-encoding/2.3.2/download", + "sha256": "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + } + }, + "targets": [ + { + "Library": { + "crate_name": "percent_encoding", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "percent_encoding", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "2.3.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "pin-project-lite 0.2.17": { + "name": "pin-project-lite", + "version": "0.2.17", + "package_url": "https://github.com/taiki-e/pin-project-lite", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/pin-project-lite/0.2.17/download", + "sha256": "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + } + }, + "targets": [ + { + "Library": { + "crate_name": "pin_project_lite", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "pin_project_lite", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.2.17" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "portable-atomic 1.13.1": { + "name": "portable-atomic", + "version": "1.13.1", + "package_url": "https://github.com/taiki-e/portable-atomic", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/portable-atomic/1.13.1/download", + "sha256": "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + } + }, + "targets": [ + { + "Library": { + "crate_name": "portable_atomic", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "portable_atomic", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "fallback" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "portable-atomic 1.13.1", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "1.13.1" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "potential_utf 0.1.4": { + "name": "potential_utf", + "version": "0.1.4", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/potential_utf/0.1.4/download", + "sha256": "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" + } + }, + "targets": [ + { + "Library": { + "crate_name": "potential_utf", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "potential_utf", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "zerovec" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.4" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "powerfmt 0.2.0": { + "name": "powerfmt", + "version": "0.2.0", + "package_url": "https://github.com/jhpratt/powerfmt", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/powerfmt/0.2.0/download", + "sha256": "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + } + }, + "targets": [ + { + "Library": { + "crate_name": "powerfmt", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "powerfmt", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.2.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-Apache" + }, + "ppv-lite86 0.2.21": { + "name": "ppv-lite86", + "version": "0.2.21", + "package_url": "https://github.com/cryptocorrosion/cryptocorrosion", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ppv-lite86/0.2.21/download", + "sha256": "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ppv_lite86", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ppv_lite86", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "simd", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "zerocopy 0.8.47", + "target": "zerocopy" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.21" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "predicates 3.1.4": { + "name": "predicates", + "version": "3.1.4", + "package_url": "https://github.com/assert-rs/predicates-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/predicates/3.1.4/download", + "sha256": "ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe" + } + }, + "targets": [ + { + "Library": { + "crate_name": "predicates", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "predicates", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anstyle 1.0.14", + "target": "anstyle" + }, + { + "id": "predicates-core 1.0.10", + "target": "predicates_core" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "3.1.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "predicates-core 1.0.10": { + "name": "predicates-core", + "version": "1.0.10", + "package_url": "https://github.com/assert-rs/predicates-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/predicates-core/1.0.10/download", + "sha256": "cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144" + } + }, + "targets": [ + { + "Library": { + "crate_name": "predicates_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "predicates_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "1.0.10" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "predicates-tree 1.0.13": { + "name": "predicates-tree", + "version": "1.0.13", + "package_url": "https://github.com/assert-rs/predicates-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/predicates-tree/1.0.13/download", + "sha256": "d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "predicates_tree", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "predicates_tree", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "predicates-core 1.0.10", + "target": "predicates_core" + }, + { + "id": "termtree 0.5.1", + "target": "termtree" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.13" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "prettyplease 0.2.37": { + "name": "prettyplease", + "version": "0.2.37", + "package_url": "https://github.com/dtolnay/prettyplease", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/prettyplease/0.2.37/download", + "sha256": "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "prettyplease", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "prettyplease", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "verbatim" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "prettyplease 0.2.37", + "target": "build_script_build" + }, + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.37" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "links": "prettyplease02" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "proc-macro2 1.0.106": { + "name": "proc-macro2", + "version": "1.0.106", + "package_url": "https://github.com/dtolnay/proc-macro2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/proc-macro2/1.0.106/download", + "sha256": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" + } + }, + "targets": [ + { + "Library": { + "crate_name": "proc_macro2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "proc_macro2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "proc-macro" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "build_script_build" + }, + { + "id": "unicode-ident 1.0.24", + "target": "unicode_ident" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.106" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "quote 1.0.45": { + "name": "quote", + "version": "1.0.45", + "package_url": "https://github.com/dtolnay/quote", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/quote/1.0.45/download", + "sha256": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" + } + }, + "targets": [ + { + "Library": { + "crate_name": "quote", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "quote", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "proc-macro" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.45" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "r-efi 5.3.0": { + "name": "r-efi", + "version": "5.3.0", + "package_url": "https://github.com/r-efi/r-efi", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/r-efi/5.3.0/download", + "sha256": "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "r_efi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "r_efi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "5.3.0" + }, + "license": "MIT OR Apache-2.0 OR LGPL-2.1-or-later", + "license_ids": [ + "Apache-2.0", + "LGPL-2.1", + "MIT" + ], + "license_file": null + }, + "r-efi 6.0.0": { + "name": "r-efi", + "version": "6.0.0", + "package_url": "https://github.com/r-efi/r-efi", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/r-efi/6.0.0/download", + "sha256": "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + } + }, + "targets": [ + { + "Library": { + "crate_name": "r_efi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "r_efi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "6.0.0" + }, + "license": "MIT OR Apache-2.0 OR LGPL-2.1-or-later", + "license_ids": [ + "Apache-2.0", + "LGPL-2.1", + "MIT" + ], + "license_file": null + }, + "rand 0.9.4": { + "name": "rand", + "version": "0.9.4", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand/0.9.4/download", + "sha256": "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "os_rng", + "std", + "std_rng", + "thread_rng" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "rand_chacha 0.9.0", + "target": "rand_chacha" + }, + { + "id": "rand_core 0.9.5", + "target": "rand_core" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.9.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_chacha 0.9.0": { + "name": "rand_chacha", + "version": "0.9.0", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_chacha/0.9.0/download", + "sha256": "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_chacha", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_chacha", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "ppv-lite86 0.2.21", + "target": "ppv_lite86" + }, + { + "id": "rand_core 0.9.5", + "target": "rand_core" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.9.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_core 0.9.5": { + "name": "rand_core", + "version": "0.9.5", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_core/0.9.5/download", + "sha256": "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "os_rng", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "getrandom 0.3.4", + "target": "getrandom" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.9.5" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "redox_syscall 0.5.18": { + "name": "redox_syscall", + "version": "0.5.18", + "package_url": "https://gitlab.redox-os.org/redox-os/syscall", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/redox_syscall/0.5.18/download", + "sha256": "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "syscall", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "syscall", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "bitflags 2.11.0", + "target": "bitflags" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.18" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "regex 1.12.3": { + "name": "regex", + "version": "1.12.3", + "package_url": "https://github.com/rust-lang/regex", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/regex/1.12.3/download", + "sha256": "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" + } + }, + "targets": [ + { + "Library": { + "crate_name": "regex", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "regex", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std", + "unicode-perl" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "regex-automata 0.4.14", + "target": "regex_automata" + }, + { + "id": "regex-syntax 0.8.10", + "target": "regex_syntax" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.12.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "regex-automata 0.4.14": { + "name": "regex-automata", + "version": "0.4.14", + "package_url": "https://github.com/rust-lang/regex", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/regex-automata/0.4.14/download", + "sha256": "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "regex_automata", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "regex_automata", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "meta", + "nfa-pikevm", + "nfa-thompson", + "std", + "syntax", + "unicode-perl", + "unicode-word-boundary" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "regex-syntax 0.8.10", + "target": "regex_syntax" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.14" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "regex-syntax 0.8.10": { + "name": "regex-syntax", + "version": "0.8.10", + "package_url": "https://github.com/rust-lang/regex", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/regex-syntax/0.8.10/download", + "sha256": "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "regex_syntax", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "regex_syntax", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std", + "unicode-perl" + ], + "selects": {} + }, + "edition": "2021", + "version": "0.8.10" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "resolv-conf 0.7.6": { + "name": "resolv-conf", + "version": "0.7.6", + "package_url": "https://github.com/hickory-dns/resolv-conf", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/resolv-conf/0.7.6/download", + "sha256": "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + } + }, + "targets": [ + { + "Library": { + "crate_name": "resolv_conf", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "resolv_conf", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "system" + ], + "selects": {} + }, + "edition": "2021", + "version": "0.7.6" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "ring 0.17.14": { + "name": "ring", + "version": "0.17.14", + "package_url": "https://github.com/briansmith/ring", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ring/0.17.14/download", + "sha256": "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ring", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ring", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "dev_urandom_fallback", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "getrandom 0.2.17", + "target": "getrandom" + }, + { + "id": "ring 0.17.14", + "target": "build_script_build" + }, + { + "id": "untrusted 0.9.0", + "target": "untrusted" + } + ], + "selects": { + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_os = \"windows\"))": [ + { + "id": "windows-sys 0.52.0", + "target": "windows_sys" + } + ], + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_vendor = \"apple\", any(target_os = \"ios\", target_os = \"macos\", target_os = \"tvos\", target_os = \"visionos\", target_os = \"watchos\")))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(all(any(all(target_arch = \"aarch64\", target_endian = \"little\"), all(target_arch = \"arm\", target_endian = \"little\")), any(target_os = \"android\", target_os = \"linux\")))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ] + } + }, + "edition": "2021", + "version": "0.17.14" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cc 1.2.57", + "target": "cc" + } + ], + "selects": {} + }, + "links": "ring_core_0_17_14_" + }, + "license": "Apache-2.0 AND ISC", + "license_ids": [ + "Apache-2.0", + "ISC" + ], + "license_file": "LICENSE" + }, + "rustc-hash 1.1.0": { + "name": "rustc-hash", + "version": "1.1.0", + "package_url": "https://github.com/rust-lang-nursery/rustc-hash", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustc-hash/1.1.0/download", + "sha256": "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustc_hash", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rustc_hash", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2015", + "version": "1.1.0" + }, + "license": "Apache-2.0/MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rustls 0.23.37": { + "name": "rustls", + "version": "0.23.37", + "package_url": "https://github.com/rustls/rustls", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustls/0.23.37/download", + "sha256": "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustls", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rustls", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "log", + "logging", + "ring", + "std", + "tls12" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "log 0.4.29", + "target": "log" + }, + { + "id": "once_cell 1.21.4", + "target": "once_cell" + }, + { + "id": "ring 0.17.14", + "target": "ring" + }, + { + "id": "rustls 0.23.37", + "target": "build_script_build" + }, + { + "id": "rustls-pki-types 1.14.0", + "target": "rustls_pki_types", + "alias": "pki_types" + }, + { + "id": "rustls-webpki 0.103.13", + "target": "webpki" + }, + { + "id": "subtle 2.6.1", + "target": "subtle" + }, + { + "id": "zeroize 1.8.2", + "target": "zeroize" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.23.37" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "link_deps": { + "common": [ + { + "id": "ring 0.17.14", + "target": "ring" + } + ], + "selects": {} + } + }, + "license": "Apache-2.0 OR ISC OR MIT", + "license_ids": [ + "Apache-2.0", + "ISC", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rustls-pki-types 1.14.0": { + "name": "rustls-pki-types", + "version": "1.14.0", + "package_url": "https://github.com/rustls/pki-types", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustls-pki-types/1.14.0/download", + "sha256": "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustls_pki_types", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rustls_pki_types", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "zeroize 1.8.2", + "target": "zeroize" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.14.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rustls-webpki 0.103.13": { + "name": "rustls-webpki", + "version": "0.103.13", + "package_url": "https://github.com/rustls/webpki", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustls-webpki/0.103.13/download", + "sha256": "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "webpki", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "webpki", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "ring", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "ring 0.17.14", + "target": "ring" + }, + { + "id": "rustls-pki-types 1.14.0", + "target": "rustls_pki_types", + "alias": "pki_types" + }, + { + "id": "untrusted 0.9.0", + "target": "untrusted" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.103.13" + }, + "license": "ISC", + "license_ids": [ + "ISC" + ], + "license_file": "LICENSE" + }, + "rustversion 1.0.22": { + "name": "rustversion", + "version": "1.0.22", + "package_url": "https://github.com/dtolnay/rustversion", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustversion/1.0.22/download", + "sha256": "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "rustversion", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build/build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rustversion", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "rustversion 1.0.22", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "1.0.22" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "scopeguard 1.2.0": { + "name": "scopeguard", + "version": "1.2.0", + "package_url": "https://github.com/bluss/scopeguard", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/scopeguard/1.2.0/download", + "sha256": "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + } + }, + "targets": [ + { + "Library": { + "crate_name": "scopeguard", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "scopeguard", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.2.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "semver 1.0.27": { + "name": "semver", + "version": "1.0.27", + "package_url": "https://github.com/dtolnay/semver", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/semver/1.0.27/download", + "sha256": "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "semver", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "semver", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.0.27" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "serde 1.0.228": { + "name": "serde", + "version": "1.0.228", + "package_url": "https://github.com/serde-rs/serde", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/serde/1.0.228/download", + "sha256": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "serde", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "serde", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "derive", + "serde_derive", + "std" + ], + "selects": { + "aarch64-apple-darwin": [ + "alloc" + ], + "aarch64-unknown-linux-gnu": [ + "alloc" + ], + "x86_64-pc-windows-msvc": [ + "alloc" + ], + "x86_64-unknown-linux-gnu": [ + "alloc" + ], + "x86_64-unknown-nixos-gnu": [ + "alloc" + ] + } + }, + "deps": { + "common": [ + { + "id": "serde 1.0.228", + "target": "build_script_build" + }, + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "serde_derive 1.0.228", + "target": "serde_derive" + } + ], + "selects": {} + }, + "version": "1.0.228" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "serde_core 1.0.228": { + "name": "serde_core", + "version": "1.0.228", + "package_url": "https://github.com/serde-rs/serde", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/serde_core/1.0.228/download", + "sha256": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" + } + }, + "targets": [ + { + "Library": { + "crate_name": "serde_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "serde_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "result", + "std" + ], + "selects": { + "aarch64-apple-darwin": [ + "alloc" + ], + "aarch64-unknown-linux-gnu": [ + "alloc" + ], + "x86_64-pc-windows-msvc": [ + "alloc" + ], + "x86_64-unknown-linux-gnu": [ + "alloc" + ], + "x86_64-unknown-nixos-gnu": [ + "alloc" + ] + } + }, + "deps": { + "common": [ + { + "id": "serde_core 1.0.228", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [], + "selects": { + "cfg(any())": [ + { + "id": "serde_derive 1.0.228", + "target": "serde_derive" + } + ] + } + }, + "version": "1.0.228" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "serde_derive 1.0.228": { + "name": "serde_derive", + "version": "1.0.228", + "package_url": "https://github.com/serde-rs/serde", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/serde_derive/1.0.228/download", + "sha256": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "serde_derive", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "serde_derive", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.228" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "serde_json 1.0.149": { + "name": "serde_json", + "version": "1.0.149", + "package_url": "https://github.com/serde-rs/json", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/serde_json/1.0.149/download", + "sha256": "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" + } + }, + "targets": [ + { + "Library": { + "crate_name": "serde_json", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "serde_json", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "itoa 1.0.18", + "target": "itoa" + }, + { + "id": "memchr 2.8.0", + "target": "memchr" + }, + { + "id": "serde_core 1.0.228", + "target": "serde_core" + }, + { + "id": "serde_json 1.0.149", + "target": "build_script_build" + }, + { + "id": "zmij 1.0.21", + "target": "zmij" + } + ], + "selects": { + "cfg(any())": [ + { + "id": "serde 1.0.228", + "target": "serde" + } + ] + } + }, + "edition": "2021", + "version": "1.0.149" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "shlex 1.3.0": { + "name": "shlex", + "version": "1.3.0", + "package_url": "https://github.com/comex/rust-shlex", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/shlex/1.3.0/download", + "sha256": "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + } + }, + "targets": [ + { + "Library": { + "crate_name": "shlex", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "shlex", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2015", + "version": "1.3.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "slab 0.4.12": { + "name": "slab", + "version": "0.4.12", + "package_url": "https://github.com/tokio-rs/slab", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/slab/0.4.12/download", + "sha256": "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "slab", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "slab", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "0.4.12" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "smallvec 1.15.1": { + "name": "smallvec", + "version": "1.15.1", + "package_url": "https://github.com/servo/rust-smallvec", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/smallvec/1.15.1/download", + "sha256": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + } + }, + "targets": [ + { + "Library": { + "crate_name": "smallvec", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "smallvec", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "const_generics" + ], + "selects": {} + }, + "edition": "2018", + "version": "1.15.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "socket2 0.6.3": { + "name": "socket2", + "version": "0.6.3", + "package_url": "https://github.com/rust-lang/socket2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/socket2/0.6.3/download", + "sha256": "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "socket2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "socket2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "all" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "cfg(any(unix, target_os = \"wasi\"))": [ + { + "id": "libc 0.2.183", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "windows-sys 0.61.2", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "version": "0.6.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "stable_deref_trait 1.2.1": { + "name": "stable_deref_trait", + "version": "1.2.1", + "package_url": "https://github.com/storyyeller/stable_deref_trait", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/stable_deref_trait/1.2.1/download", + "sha256": "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + } + }, + "targets": [ + { + "Library": { + "crate_name": "stable_deref_trait", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "stable_deref_trait", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.2.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "subtle 2.6.1": { + "name": "subtle", + "version": "2.6.1", + "package_url": "https://github.com/dalek-cryptography/subtle", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/subtle/2.6.1/download", + "sha256": "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + } + }, + "targets": [ + { + "Library": { + "crate_name": "subtle", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "subtle", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "2.6.1" + }, + "license": "BSD-3-Clause", + "license_ids": [ + "BSD-3-Clause" + ], + "license_file": "LICENSE" + }, + "syn 2.0.117": { + "name": "syn", + "version": "2.0.117", + "package_url": "https://github.com/dtolnay/syn", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/syn/2.0.117/download", + "sha256": "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" + } + }, + "targets": [ + { + "Library": { + "crate_name": "syn", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "syn", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "clone-impls", + "default", + "derive", + "extra-traits", + "fold", + "full", + "parsing", + "printing", + "proc-macro", + "visit", + "visit-mut" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "unicode-ident 1.0.24", + "target": "unicode_ident" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.0.117" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "synstructure 0.13.2": { + "name": "synstructure", + "version": "0.13.2", + "package_url": "https://github.com/mystor/synstructure", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/synstructure/0.13.2/download", + "sha256": "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "synstructure", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "synstructure", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "proc-macro" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.13.2" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tagptr 0.2.0": { + "name": "tagptr", + "version": "0.2.0", + "package_url": "https://github.com/oliver-giersch/tagptr.git", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tagptr/0.2.0/download", + "sha256": "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tagptr", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tagptr", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.2.0" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "termtree 0.5.1": { "name": "termtree", "version": "0.5.1", - "package_url": "https://github.com/rust-cli/termtree", + "package_url": "https://github.com/rust-cli/termtree", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/termtree/0.5.1/download", + "sha256": "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + } + }, + "targets": [ + { + "Library": { + "crate_name": "termtree", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "termtree", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.5.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE-MIT" + }, + "test-programs 0.1.0": { + "name": "test-programs", + "version": "0.1.0", + "package_url": "https://github.com/envoyproxy/envoy", + "repository": null, + "targets": [], + "library_target_name": null, + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.1.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, + "thiserror 2.0.18": { + "name": "thiserror", + "version": "2.0.18", + "package_url": "https://github.com/dtolnay/thiserror", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/thiserror/2.0.18/download", + "sha256": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" + } + }, + "targets": [ + { + "Library": { + "crate_name": "thiserror", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "thiserror", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "thiserror 2.0.18", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "thiserror-impl 2.0.18", + "target": "thiserror_impl" + } + ], + "selects": {} + }, + "version": "2.0.18" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "thiserror-impl 2.0.18": { + "name": "thiserror-impl", + "version": "2.0.18", + "package_url": "https://github.com/dtolnay/thiserror", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/thiserror-impl/2.0.18/download", + "sha256": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "thiserror_impl", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "thiserror_impl", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.0.18" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "time 0.3.47": { + "name": "time", + "version": "0.3.47", + "package_url": "https://github.com/time-rs/time", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/time/0.3.47/download", + "sha256": "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "time", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "time", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "deranged 0.5.8", + "target": "deranged" + }, + { + "id": "num-conv 0.2.1", + "target": "num_conv" + }, + { + "id": "powerfmt 0.2.0", + "target": "powerfmt" + }, + { + "id": "time-core 0.1.8", + "target": "time_core" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.3.47" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-Apache" + }, + "time-core 0.1.8": { + "name": "time-core", + "version": "0.1.8", + "package_url": "https://github.com/time-rs/time", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/time-core/0.1.8/download", + "sha256": "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + } + }, + "targets": [ + { + "Library": { + "crate_name": "time_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "time_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2024", + "version": "0.1.8" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-Apache" + }, + "tinystr 0.8.2": { + "name": "tinystr", + "version": "0.8.2", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tinystr/0.8.2/download", + "sha256": "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tinystr", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tinystr", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "zerovec" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "zerovec 0.11.5", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "0.8.2" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "tinyvec 1.11.0": { + "name": "tinyvec", + "version": "1.11.0", + "package_url": "https://github.com/Lokathor/tinyvec", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tinyvec/1.11.0/download", + "sha256": "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tinyvec", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tinyvec", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "tinyvec_macros" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "tinyvec_macros 0.1.1", + "target": "tinyvec_macros" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "1.11.0" + }, + "license": "Zlib OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "license_file": "LICENSE-APACHE.md" + }, + "tinyvec_macros 0.1.1": { + "name": "tinyvec_macros", + "version": "0.1.1", + "package_url": "https://github.com/Soveu/tinyvec_macros", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tinyvec_macros/0.1.1/download", + "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tinyvec_macros", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tinyvec_macros", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.1.1" + }, + "license": "MIT OR Apache-2.0 OR Zlib", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "license_file": "LICENSE-APACHE.md" + }, + "tokio 1.50.0": { + "name": "tokio", + "version": "1.50.0", + "package_url": "https://github.com/tokio-rs/tokio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio/1.50.0/download", + "sha256": "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tokio", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "bytes", + "default", + "io-util", + "libc", + "macros", + "mio", + "net", + "rt", + "rt-multi-thread", + "socket2", + "sync", + "time", + "tokio-macros" + ], + "selects": { + "x86_64-pc-windows-msvc": [ + "windows-sys" + ] + } + }, + "deps": { + "common": [ + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "mio 1.1.1", + "target": "mio" + }, + { + "id": "pin-project-lite 0.2.17", + "target": "pin_project_lite" + } + ], + "selects": { + "aarch64-apple-darwin": [ + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "socket2 0.6.3", + "target": "socket2" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "socket2 0.6.3", + "target": "socket2" + } + ], + "x86_64-pc-windows-msvc": [ + { + "id": "socket2 0.6.3", + "target": "socket2" + }, + { + "id": "windows-sys 0.61.2", + "target": "windows_sys" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "socket2 0.6.3", + "target": "socket2" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "libc 0.2.183", + "target": "libc" + }, + { + "id": "socket2 0.6.3", + "target": "socket2" + } + ] + } + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "tokio-macros 2.6.1", + "target": "tokio_macros" + } + ], + "selects": {} + }, + "version": "1.50.0" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tokio-macros 2.6.1": { + "name": "tokio-macros", + "version": "2.6.1", + "package_url": "https://github.com/tokio-rs/tokio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio-macros/2.6.1/download", + "sha256": "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "tokio_macros", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio_macros", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.6.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tokio-rustls 0.26.4": { + "name": "tokio-rustls", + "version": "0.26.4", + "package_url": "https://github.com/rustls/tokio-rustls", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio-rustls/0.26.4/download", + "sha256": "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tokio_rustls", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio_rustls", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "early-data", + "ring" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "rustls 0.23.37", + "target": "rustls" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.26.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "tokio-util 0.7.18": { + "name": "tokio-util", + "version": "0.7.18", + "package_url": "https://github.com/tokio-rs/tokio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio-util/0.7.18/download", + "sha256": "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tokio_util", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio_util", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "codec", + "default", + "io" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "futures-core 0.3.32", + "target": "futures_core" + }, + { + "id": "futures-sink 0.3.32", + "target": "futures_sink" + }, + { + "id": "pin-project-lite 0.2.17", + "target": "pin_project_lite" + }, + { + "id": "tokio 1.50.0", + "target": "tokio" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.7.18" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tracing 0.1.44": { + "name": "tracing", + "version": "0.1.44", + "package_url": "https://github.com/tokio-rs/tracing", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tracing/0.1.44/download", + "sha256": "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tracing", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tracing", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "pin-project-lite 0.2.17", + "target": "pin_project_lite" + }, + { + "id": "tracing-core 0.1.36", + "target": "tracing_core" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.1.44" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tracing-core 0.1.36": { + "name": "tracing-core", + "version": "0.1.36", + "package_url": "https://github.com/tokio-rs/tracing", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tracing-core/0.1.36/download", + "sha256": "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tracing_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tracing_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "once_cell", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "once_cell 1.21.4", + "target": "once_cell" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.1.36" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "unicode-ident 1.0.24": { + "name": "unicode-ident", + "version": "1.0.24", + "package_url": "https://github.com/dtolnay/unicode-ident", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/unicode-ident/1.0.24/download", + "sha256": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + } + }, + "targets": [ + { + "Library": { + "crate_name": "unicode_ident", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "unicode_ident", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "1.0.24" + }, + "license": "(MIT OR Apache-2.0) AND Unicode-3.0", + "license_ids": [ + "Apache-2.0", + "MIT", + "Unicode-3.0" + ], + "license_file": "LICENSE-APACHE" + }, + "unicode-xid 0.2.6": { + "name": "unicode-xid", + "version": "0.2.6", + "package_url": "https://github.com/unicode-rs/unicode-xid", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/unicode-xid/0.2.6/download", + "sha256": "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + } + }, + "targets": [ + { + "Library": { + "crate_name": "unicode_xid", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "unicode_xid", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "edition": "2015", + "version": "0.2.6" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "untrusted 0.9.0": { + "name": "untrusted", + "version": "0.9.0", + "package_url": "https://github.com/briansmith/untrusted", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/untrusted/0.9.0/download", + "sha256": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "untrusted", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "untrusted", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.9.0" + }, + "license": "ISC", + "license_ids": [ + "ISC" + ], + "license_file": "LICENSE.txt" + }, + "url 2.5.8": { + "name": "url", + "version": "2.5.8", + "package_url": "https://github.com/servo/rust-url", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/url/2.5.8/download", + "sha256": "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" + } + }, + "targets": [ + { + "Library": { + "crate_name": "url", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "url", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "form_urlencoded 1.2.2", + "target": "form_urlencoded" + }, + { + "id": "idna 1.1.0", + "target": "idna" + }, + { + "id": "percent-encoding 2.3.2", + "target": "percent_encoding" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "2.5.8" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "utf8_iter 1.0.4": { + "name": "utf8_iter", + "version": "1.0.4", + "package_url": "https://github.com/hsivonen/utf8_iter", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/utf8_iter/1.0.4/download", + "sha256": "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + } + }, + "targets": [ + { + "Library": { + "crate_name": "utf8_iter", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "utf8_iter", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "1.0.4" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "uuid 1.22.0": { + "name": "uuid", + "version": "1.22.0", + "package_url": "https://github.com/uuid-rs/uuid", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/uuid/1.22.0/download", + "sha256": "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" + } + }, + "targets": [ + { + "Library": { + "crate_name": "uuid", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "uuid", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "rng", + "std", + "v4" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "aarch64-apple-darwin": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ], + "wasm32-wasip1": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ], + "x86_64-pc-windows-msvc": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "getrandom 0.4.2", + "target": "getrandom" + } + ] + } + }, + "edition": "2021", + "version": "1.22.0" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasi 0.11.1+wasi-snapshot-preview1": { + "name": "wasi", + "version": "0.11.1+wasi-snapshot-preview1", + "package_url": "https://github.com/bytecodealliance/wasi", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download", + "sha256": "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "0.11.1+wasi-snapshot-preview1" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasip2 1.0.2+wasi-0.2.9": { + "name": "wasip2", + "version": "1.0.2+wasi-0.2.9", + "package_url": "https://github.com/bytecodealliance/wasi-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasip2/1.0.2+wasi-0.2.9/download", + "sha256": "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasip2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasip2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "wit-bindgen 0.51.0", + "target": "wit_bindgen" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.2+wasi-0.2.9" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "wasip3 0.4.0+wasi-0.3.0-rc-2026-01-06": { + "name": "wasip3", + "version": "0.4.0+wasi-0.3.0-rc-2026-01-06", + "package_url": "https://github.com/bytecodealliance/wasi-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06/download", + "sha256": "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasip3", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasip3", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "wit-bindgen 0.51.0", + "target": "wit_bindgen" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.0+wasi-0.3.0-rc-2026-01-06" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "wasm-bindgen 0.2.114": { + "name": "wasm-bindgen", + "version": "0.2.114", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-bindgen/0.2.114/download", + "sha256": "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasm_bindgen", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_bindgen", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg-if 1.0.4", + "target": "cfg_if" + }, + { + "id": "once_cell 1.21.4", + "target": "once_cell" + }, + { + "id": "wasm-bindgen 0.2.114", + "target": "build_script_build" + }, + { + "id": "wasm-bindgen-shared 0.2.114", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "wasm-bindgen-macro 0.2.114", + "target": "wasm_bindgen_macro" + } + ], + "selects": {} + }, + "version": "0.2.114" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "link_deps": { + "common": [ + { + "id": "wasm-bindgen-shared 0.2.114", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "proc_macro_deps": { + "common": [ + { + "id": "rustversion 1.0.22", + "target": "rustversion", + "alias": "rustversion_compat" + } + ], + "selects": {} + } + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasm-bindgen-macro 0.2.114": { + "name": "wasm-bindgen-macro", + "version": "0.2.114", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-bindgen-macro/0.2.114/download", + "sha256": "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "wasm_bindgen_macro", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_bindgen_macro", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "wasm-bindgen-macro-support 0.2.114", + "target": "wasm_bindgen_macro_support" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.114" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasm-bindgen-macro-support 0.2.114": { + "name": "wasm-bindgen-macro-support", + "version": "0.2.114", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro-support", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.114/download", + "sha256": "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasm_bindgen_macro_support", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_bindgen_macro_support", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "bumpalo 3.20.2", + "target": "bumpalo" + }, + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + }, + { + "id": "wasm-bindgen-shared 0.2.114", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.114" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasm-bindgen-shared 0.2.114": { + "name": "wasm-bindgen-shared", + "version": "0.2.114", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/shared", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-bindgen-shared/0.2.114/download", + "sha256": "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasm_bindgen_shared", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_bindgen_shared", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "unicode-ident 1.0.24", + "target": "unicode_ident" + }, + { + "id": "wasm-bindgen-shared 0.2.114", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.114" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "links": "wasm_bindgen" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasm-encoder 0.244.0": { + "name": "wasm-encoder", + "version": "0.244.0", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-encoder", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-encoder/0.244.0/download", + "sha256": "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasm_encoder", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_encoder", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "component-model", + "std", + "wasmparser" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "leb128fmt 0.1.0", + "target": "leb128fmt" + }, + { + "id": "wasmparser 0.244.0", + "target": "wasmparser" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.244.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "wasm-metadata 0.244.0": { + "name": "wasm-metadata", + "version": "0.244.0", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-metadata", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasm-metadata/0.244.0/download", + "sha256": "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasm_metadata", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasm_metadata", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "wasm-encoder 0.244.0", + "target": "wasm_encoder" + }, + { + "id": "wasmparser 0.244.0", + "target": "wasmparser" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.244.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "wasmparser 0.244.0": { + "name": "wasmparser", + "version": "0.244.0", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasmparser/0.244.0/download", + "sha256": "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasmparser", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasmparser", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "component-model", + "features", + "hash-collections", + "simd", + "std", + "validate" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bitflags 2.11.0", + "target": "bitflags" + }, + { + "id": "hashbrown 0.15.5", + "target": "hashbrown" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "semver 1.0.27", + "target": "semver" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.244.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "webpki-roots 0.26.11": { + "name": "webpki-roots", + "version": "0.26.11", + "package_url": "https://github.com/rustls/webpki-roots", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/webpki-roots/0.26.11/download", + "sha256": "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" + } + }, + "targets": [ + { + "Library": { + "crate_name": "webpki_roots", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "webpki_roots", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "webpki-roots 1.0.6", + "target": "webpki_roots", + "alias": "parent" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.26.11" + }, + "license": "CDLA-Permissive-2.0", + "license_ids": [ + "CDLA-Permissive-2.0" + ], + "license_file": "LICENSE" + }, + "webpki-roots 1.0.6": { + "name": "webpki-roots", + "version": "1.0.6", + "package_url": "https://github.com/rustls/webpki-roots", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/webpki-roots/1.0.6/download", + "sha256": "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" + } + }, + "targets": [ + { + "Library": { + "crate_name": "webpki_roots", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "webpki_roots", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "rustls-pki-types 1.14.0", + "target": "rustls_pki_types", + "alias": "pki_types" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.6" + }, + "license": "CDLA-Permissive-2.0", + "license_ids": [ + "CDLA-Permissive-2.0" + ], + "license_file": "LICENSE" + }, + "widestring 1.2.1": { + "name": "widestring", + "version": "1.2.1", + "package_url": "https://github.com/VoidStarKat/widestring-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/widestring/1.2.1/download", + "sha256": "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + } + }, + "targets": [ + { + "Library": { + "crate_name": "widestring", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "widestring", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "1.2.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "windows-link 0.2.1": { + "name": "windows-link", + "version": "0.2.1", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-link/0.2.1/download", + "sha256": "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_link", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_link", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.2.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-registry 0.6.1": { + "name": "windows-registry", + "version": "0.6.1", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-registry/0.6.1/download", + "sha256": "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_registry", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_registry", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + }, + { + "id": "windows-result 0.4.1", + "target": "windows_result" + }, + { + "id": "windows-strings 0.5.1", + "target": "windows_strings" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.6.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-result 0.4.1": { + "name": "windows-result", + "version": "0.4.1", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-result/0.4.1/download", + "sha256": "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_result", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_result", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-strings 0.5.1": { + "name": "windows-strings", + "version": "0.5.1", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-strings/0.5.1/download", + "sha256": "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_strings", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_strings", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-sys 0.52.0": { + "name": "windows-sys", + "version": "0.52.0", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-sys/0.52.0/download", + "sha256": "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_sys", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_sys", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows-targets 0.52.6", + "target": "windows_targets" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-sys 0.61.2": { + "name": "windows-sys", + "version": "0.61.2", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-sys/0.61.2/download", + "sha256": "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_sys", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_sys", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "Wdk", + "Wdk_Foundation", + "Wdk_Storage", + "Wdk_Storage_FileSystem", + "Wdk_System", + "Wdk_System_IO", + "Win32", + "Win32_Foundation", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_Registry", + "Win32_System_SystemServices", + "Win32_System_Threading", + "Win32_System_WindowsProgramming", + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "windows-link 0.2.1", + "target": "windows_link" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.61.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-targets 0.52.6": { + "name": "windows-targets", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-targets/0.52.6/download", + "sha256": "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_targets", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_targets", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "aarch64-pc-windows-gnullvm": [ + { + "id": "windows_aarch64_gnullvm 0.52.6", + "target": "windows_aarch64_gnullvm" + } + ], + "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_x86_64_msvc 0.52.6", + "target": "windows_x86_64_msvc" + } + ], + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_aarch64_msvc 0.52.6", + "target": "windows_aarch64_msvc" + } + ], + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ + { + "id": "windows_i686_gnu 0.52.6", + "target": "windows_i686_gnu" + } + ], + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_i686_msvc 0.52.6", + "target": "windows_i686_msvc" + } + ], + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ + { + "id": "windows_x86_64_gnu 0.52.6", + "target": "windows_x86_64_gnu" + } + ], + "i686-pc-windows-gnullvm": [ + { + "id": "windows_i686_gnullvm 0.52.6", + "target": "windows_i686_gnullvm" + } + ], + "x86_64-pc-windows-gnullvm": [ + { + "id": "windows_x86_64_gnullvm 0.52.6", + "target": "windows_x86_64_gnullvm" + } + ] + } + }, + "edition": "2021", + "version": "0.52.6" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_aarch64_gnullvm 0.52.6": { + "name": "windows_aarch64_gnullvm", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", + "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_aarch64_gnullvm", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_aarch64_gnullvm", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_gnullvm 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_aarch64_msvc 0.52.6": { + "name": "windows_aarch64_msvc", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", + "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_aarch64_msvc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_aarch64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_msvc 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_i686_gnu 0.52.6": { + "name": "windows_i686_gnu", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_i686_gnu/0.52.6/download", + "sha256": "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_gnu", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_i686_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_gnu 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_i686_gnullvm 0.52.6": { + "name": "windows_i686_gnullvm", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download", + "sha256": "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_gnullvm", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_i686_gnullvm", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_gnullvm 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_i686_msvc 0.52.6": { + "name": "windows_i686_msvc", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_i686_msvc/0.52.6/download", + "sha256": "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_msvc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_i686_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_msvc 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_x86_64_gnu 0.52.6": { + "name": "windows_x86_64_gnu", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download", + "sha256": "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnu", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_x86_64_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnu 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_x86_64_gnullvm 0.52.6": { + "name": "windows_x86_64_gnullvm", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download", + "sha256": "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnullvm", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_x86_64_gnullvm", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnullvm 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows_x86_64_msvc 0.52.6": { + "name": "windows_x86_64_msvc", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download", + "sha256": "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_msvc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_x86_64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_msvc 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "wit-bindgen 0.51.0": { + "name": "wit-bindgen", + "version": "0.51.0", + "package_url": "https://github.com/bytecodealliance/wit-bindgen", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-bindgen/0.51.0/download", + "sha256": "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_bindgen", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_bindgen", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "wit-bindgen 0.51.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.51.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wit-bindgen-core 0.51.0": { + "name": "wit-bindgen-core", + "version": "0.51.0", + "package_url": "https://github.com/bytecodealliance/wit-bindgen", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-bindgen-core/0.51.0/download", + "sha256": "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_bindgen_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_bindgen_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "heck 0.5.0", + "target": "heck" + }, + { + "id": "wit-parser 0.244.0", + "target": "wit_parser" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.51.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wit-bindgen-rust 0.51.0": { + "name": "wit-bindgen-rust", + "version": "0.51.0", + "package_url": "https://github.com/bytecodealliance/wit-bindgen", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-bindgen-rust/0.51.0/download", + "sha256": "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_bindgen_rust", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_bindgen_rust", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "heck 0.5.0", + "target": "heck" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "prettyplease 0.2.37", + "target": "prettyplease" + }, + { + "id": "syn 2.0.117", + "target": "syn" + }, + { + "id": "wasm-metadata 0.244.0", + "target": "wasm_metadata" + }, + { + "id": "wit-bindgen-core 0.51.0", + "target": "wit_bindgen_core" + }, + { + "id": "wit-bindgen-rust 0.51.0", + "target": "build_script_build" + }, + { + "id": "wit-component 0.244.0", + "target": "wit_component" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.51.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "link_deps": { + "common": [ + { + "id": "prettyplease 0.2.37", + "target": "prettyplease" + } + ], + "selects": {} + } + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wit-bindgen-rust-macro 0.51.0": { + "name": "wit-bindgen-rust-macro", + "version": "0.51.0", + "package_url": "https://github.com/bytecodealliance/wit-bindgen", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-bindgen-rust-macro/0.51.0/download", + "sha256": "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "wit_bindgen_rust_macro", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_bindgen_rust_macro", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "prettyplease 0.2.37", + "target": "prettyplease" + }, + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + }, + { + "id": "wit-bindgen-core 0.51.0", + "target": "wit_bindgen_core" + }, + { + "id": "wit-bindgen-rust 0.51.0", + "target": "wit_bindgen_rust" + }, + { + "id": "wit-bindgen-rust-macro 0.51.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.51.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "link_deps": { + "common": [ + { + "id": "prettyplease 0.2.37", + "target": "prettyplease" + } + ], + "selects": {} + } + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wit-component 0.244.0": { + "name": "wit-component", + "version": "0.244.0", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-component", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-component/0.244.0/download", + "sha256": "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_component", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_component", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "bitflags 2.11.0", + "target": "bitflags" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "log 0.4.29", + "target": "log" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_json 1.0.149", + "target": "serde_json" + }, + { + "id": "wasm-encoder 0.244.0", + "target": "wasm_encoder" + }, + { + "id": "wasm-metadata 0.244.0", + "target": "wasm_metadata" + }, + { + "id": "wasmparser 0.244.0", + "target": "wasmparser" + }, + { + "id": "wit-parser 0.244.0", + "target": "wit_parser" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "serde_derive 1.0.228", + "target": "serde_derive" + } + ], + "selects": {} + }, + "version": "0.244.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "wit-parser 0.244.0": { + "name": "wit-parser", + "version": "0.244.0", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-parser", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-parser/0.244.0/download", + "sha256": "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_parser", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_parser", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "decoding", + "default", + "serde", + "serde_json" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "anyhow 1.0.102", + "target": "anyhow" + }, + { + "id": "id-arena 2.3.0", + "target": "id_arena" + }, + { + "id": "indexmap 2.13.0", + "target": "indexmap" + }, + { + "id": "log 0.4.29", + "target": "log" + }, + { + "id": "semver 1.0.27", + "target": "semver" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_json 1.0.149", + "target": "serde_json" + }, + { + "id": "unicode-xid 0.2.6", + "target": "unicode_xid" + }, + { + "id": "wasmparser 0.244.0", + "target": "wasmparser" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "serde_derive 1.0.228", + "target": "serde_derive" + } + ], + "selects": {} + }, + "version": "0.244.0" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "writeable 0.6.2": { + "name": "writeable", + "version": "0.6.2", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/termtree/0.5.1/download", - "sha256": "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + "url": "https://static.crates.io/crates/writeable/0.6.2/download", + "sha256": "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" } }, "targets": [ { "Library": { - "crate_name": "termtree", + "crate_name": "writeable", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1938,34 +11218,34 @@ } } ], - "library_target_name": "termtree", + "library_target_name": "writeable", "common_attrs": { "compile_data_glob": [ "**" ], "edition": "2021", - "version": "0.5.1" + "version": "0.6.2" }, - "license": "MIT", + "license": "Unicode-3.0", "license_ids": [ - "MIT" + "Unicode-3.0" ], - "license_file": "LICENSE-MIT" + "license_file": "LICENSE" }, - "unicode-ident 1.0.13": { - "name": "unicode-ident", - "version": "1.0.13", - "package_url": "https://github.com/dtolnay/unicode-ident", + "yoke 0.8.1": { + "name": "yoke", + "version": "0.8.1", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/unicode-ident/1.0.13/download", - "sha256": "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + "url": "https://static.crates.io/crates/yoke/0.8.1/download", + "sha256": "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" } }, "targets": [ { "Library": { - "crate_name": "unicode_ident", + "crate_name": "yoke", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1976,36 +11256,63 @@ } } ], - "library_target_name": "unicode_ident", + "library_target_name": "yoke", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2018", - "version": "1.0.13" + "crate_features": { + "common": [ + "derive", + "zerofrom" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "stable_deref_trait 1.2.1", + "target": "stable_deref_trait" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "yoke-derive 0.8.1", + "target": "yoke_derive" + } + ], + "selects": {} + }, + "version": "0.8.1" }, - "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT", - "Unicode-DFS-2016" + "Unicode-3.0" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "windows-targets 0.52.6": { - "name": "windows-targets", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "yoke-derive 0.8.1": { + "name": "yoke-derive", + "version": "0.8.1", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows-targets/0.52.6/download", - "sha256": "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" + "url": "https://static.crates.io/crates/yoke-derive/0.8.1/download", + "sha256": "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" } }, "targets": [ { - "Library": { - "crate_name": "windows_targets", + "ProcMacro": { + "crate_name": "yoke_derive", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2016,88 +11323,55 @@ } } ], - "library_target_name": "windows_targets", + "library_target_name": "yoke_derive", "common_attrs": { "compile_data_glob": [ "**" ], "deps": { - "common": [], - "selects": { - "aarch64-pc-windows-gnullvm": [ - { - "id": "windows_aarch64_gnullvm 0.52.6", - "target": "windows_aarch64_gnullvm" - } - ], - "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_msvc 0.52.6", - "target": "windows_x86_64_msvc" - } - ], - "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_aarch64_msvc 0.52.6", - "target": "windows_aarch64_msvc" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_i686_gnu 0.52.6", - "target": "windows_i686_gnu" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_i686_msvc 0.52.6", - "target": "windows_i686_msvc" - } - ], - "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_gnu 0.52.6", - "target": "windows_x86_64_gnu" - } - ], - "i686-pc-windows-gnullvm": [ - { - "id": "windows_i686_gnullvm 0.52.6", - "target": "windows_i686_gnullvm" - } - ], - "x86_64-pc-windows-gnullvm": [ - { - "id": "windows_x86_64_gnullvm 0.52.6", - "target": "windows_x86_64_gnullvm" - } - ] - } + "common": [ + { + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + }, + { + "id": "synstructure 0.13.2", + "target": "synstructure" + } + ], + "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.8.1" }, - "license": "MIT OR Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE" }, - "windows_aarch64_gnullvm 0.52.6": { - "name": "windows_aarch64_gnullvm", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerocopy 0.8.47": { + "name": "zerocopy", + "version": "0.8.47", + "package_url": "https://github.com/google/zerocopy", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", - "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + "url": "https://static.crates.io/crates/zerocopy/0.8.47/download", + "sha256": "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87" } }, "targets": [ { "Library": { - "crate_name": "windows_aarch64_gnullvm", + "crate_name": "zerocopy", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2120,22 +11394,39 @@ } } ], - "library_target_name": "windows_aarch64_gnullvm", + "library_target_name": "zerocopy", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "simd" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "windows_aarch64_gnullvm 0.52.6", + "id": "zerocopy 0.8.47", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "proc_macro_deps": { + "common": [], + "selects": { + "cfg(any())": [ + { + "id": "zerocopy-derive 0.8.47", + "target": "zerocopy_derive" + } + ] + } + }, + "version": "0.8.47" }, "build_script_attrs": { "compile_data_glob": [ @@ -2148,27 +11439,28 @@ "**" ] }, - "license": "MIT OR Apache-2.0", + "license": "BSD-2-Clause OR Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", + "BSD-2-Clause", "MIT" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE-APACHE" }, - "windows_aarch64_msvc 0.52.6": { - "name": "windows_aarch64_msvc", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerocopy-derive 0.8.47": { + "name": "zerocopy-derive", + "version": "0.8.47", + "package_url": "https://github.com/google/zerocopy", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", - "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + "url": "https://static.crates.io/crates/zerocopy-derive/0.8.47/download", + "sha256": "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89" } }, "targets": [ { - "Library": { - "crate_name": "windows_aarch64_msvc", + "ProcMacro": { + "crate_name": "zerocopy_derive", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2177,21 +11469,9 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "windows_aarch64_msvc", + "library_target_name": "zerocopy_derive", "common_attrs": { "compile_data_glob": [ "**" @@ -2199,47 +11479,45 @@ "deps": { "common": [ { - "id": "windows_aarch64_msvc 0.52.6", - "target": "build_script_build" + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "version": "0.8.47" }, - "license": "MIT OR Apache-2.0", + "license": "BSD-2-Clause OR Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", + "BSD-2-Clause", "MIT" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE-APACHE" }, - "windows_i686_gnu 0.52.6": { - "name": "windows_i686_gnu", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerofrom 0.1.6": { + "name": "zerofrom", + "version": "0.1.6", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_gnu/0.52.6/download", - "sha256": "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + "url": "https://static.crates.io/crates/zerofrom/0.1.6/download", + "sha256": "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_gnu", + "crate_name": "zerofrom", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2248,69 +11526,51 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "windows_i686_gnu", + "library_target_name": "zerofrom", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { + "crate_features": { + "common": [ + "derive" + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { "common": [ { - "id": "windows_i686_gnu 0.52.6", - "target": "build_script_build" + "id": "zerofrom-derive 0.1.6", + "target": "zerofrom_derive" } ], "selects": {} }, - "edition": "2021", - "version": "0.52.6" + "version": "0.1.6" }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] - }, - "license": "MIT OR Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE" }, - "windows_i686_gnullvm 0.52.6": { - "name": "windows_i686_gnullvm", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerofrom-derive 0.1.6": { + "name": "zerofrom-derive", + "version": "0.1.6", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download", - "sha256": "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + "url": "https://static.crates.io/crates/zerofrom-derive/0.1.6/download", + "sha256": "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" } }, "targets": [ { - "Library": { - "crate_name": "windows_i686_gnullvm", + "ProcMacro": { + "crate_name": "zerofrom_derive", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2319,21 +11579,9 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "windows_i686_gnullvm", + "library_target_name": "zerofrom_derive", "common_attrs": { "compile_data_glob": [ "**" @@ -2341,47 +11589,47 @@ "deps": { "common": [ { - "id": "windows_i686_gnullvm 0.52.6", - "target": "build_script_build" + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" + }, + { + "id": "synstructure 0.13.2", + "target": "synstructure" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "version": "0.1.6" }, - "license": "MIT OR Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE" }, - "windows_i686_msvc 0.52.6": { - "name": "windows_i686_msvc", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zeroize 1.8.2": { + "name": "zeroize", + "version": "1.8.2", + "package_url": "https://github.com/RustCrypto/utils", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_msvc/0.52.6/download", - "sha256": "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + "url": "https://static.crates.io/crates/zeroize/1.8.2/download", + "sha256": "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_msvc", + "crate_name": "zeroize", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2390,69 +11638,44 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "windows_i686_msvc", + "library_target_name": "zeroize", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { + "crate_features": { "common": [ - { - "id": "windows_i686_msvc 0.52.6", - "target": "build_script_build" - } + "alloc", + "default" ], "selects": {} }, "edition": "2021", - "version": "0.52.6" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "version": "1.8.2" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE-APACHE" }, - "windows_x86_64_gnu 0.52.6": { - "name": "windows_x86_64_gnu", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerotrie 0.2.3": { + "name": "zerotrie", + "version": "0.2.3", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download", - "sha256": "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + "url": "https://static.crates.io/crates/zerotrie/0.2.3/download", + "sha256": "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_gnu", + "crate_name": "zerotrie", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2461,69 +11684,65 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "windows_x86_64_gnu", + "library_target_name": "zerotrie", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "yoke", + "zerofrom" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "windows_x86_64_gnu 0.52.6", - "target": "build_script_build" + "id": "yoke 0.8.1", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "0.2.3" }, - "license": "MIT OR Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE" }, - "windows_x86_64_gnullvm 0.52.6": { - "name": "windows_x86_64_gnullvm", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zerovec 0.11.5": { + "name": "zerovec", + "version": "0.11.5", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download", - "sha256": "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + "url": "https://static.crates.io/crates/zerovec/0.11.5/download", + "sha256": "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_gnullvm", + "crate_name": "zerovec", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2532,11 +11751,66 @@ ] } } + } + ], + "library_target_name": "zerovec", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "derive", + "yoke" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "yoke 0.8.1", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "zerovec-derive 0.11.2", + "target": "zerovec_derive" + } + ], + "selects": {} }, + "version": "0.11.5" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "zerovec-derive 0.11.2": { + "name": "zerovec-derive", + "version": "0.11.2", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/zerovec-derive/0.11.2/download", + "sha256": "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" + } + }, + "targets": [ { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", + "ProcMacro": { + "crate_name": "zerovec_derive", + "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, "include": [ @@ -2546,7 +11820,7 @@ } } ], - "library_target_name": "windows_x86_64_gnullvm", + "library_target_name": "zerovec_derive", "common_attrs": { "compile_data_glob": [ "**" @@ -2554,47 +11828,43 @@ "deps": { "common": [ { - "id": "windows_x86_64_gnullvm 0.52.6", - "target": "build_script_build" + "id": "proc-macro2 1.0.106", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.45", + "target": "quote" + }, + { + "id": "syn 2.0.117", + "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ] + "version": "0.11.2" }, - "license": "MIT OR Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE" }, - "windows_x86_64_msvc 0.52.6": { - "name": "windows_x86_64_msvc", - "version": "0.52.6", - "package_url": "https://github.com/microsoft/windows-rs", + "zmij 1.0.21": { + "name": "zmij", + "version": "1.0.21", + "package_url": "https://github.com/dtolnay/zmij", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download", - "sha256": "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + "url": "https://static.crates.io/crates/zmij/1.0.21/download", + "sha256": "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_msvc", + "crate_name": "zmij", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -2617,7 +11887,7 @@ } } ], - "library_target_name": "windows_x86_64_msvc", + "library_target_name": "zmij", "common_attrs": { "compile_data_glob": [ "**" @@ -2625,14 +11895,14 @@ "deps": { "common": [ { - "id": "windows_x86_64_msvc 0.52.6", + "id": "zmij 1.0.21", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "1.0.21" }, "build_script_attrs": { "compile_data_glob": [ @@ -2645,17 +11915,18 @@ "**" ] }, - "license": "MIT OR Apache-2.0", + "license": "MIT", "license_ids": [ - "Apache-2.0", "MIT" ], - "license_file": "license-apache-2.0" + "license_file": "LICENSE-MIT" } }, "binary_crates": [], "workspace_members": { - "envoy-proxy-dynamic-modules-rust-sdk 0.1.0": "source/extensions/dynamic_modules/sdk/rust" + "envoy-dynamic-modules-builtin-extensions 0.1.0": "source/extensions/dynamic_modules/builtin_extensions", + "envoy-proxy-dynamic-modules-rust-sdk 0.1.0": "source/extensions/dynamic_modules/sdk/rust", + "test-programs 0.1.0": "test/extensions/dynamic_modules/test_data/rust" }, "conditions": { "aarch64-apple-darwin": [ @@ -2665,16 +11936,53 @@ "aarch64-unknown-linux-gnu": [ "aarch64-unknown-linux-gnu" ], + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_os = \"windows\"))": [], + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_vendor = \"apple\", any(target_os = \"ios\", target_os = \"macos\", target_os = \"tvos\", target_os = \"visionos\", target_os = \"watchos\")))": [ + "aarch64-apple-darwin" + ], + "cfg(all(any(all(target_arch = \"aarch64\", target_endian = \"little\"), all(target_arch = \"arm\", target_endian = \"little\")), any(target_os = \"android\", target_os = \"linux\")))": [ + "aarch64-unknown-linux-gnu" + ], "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ "x86_64-pc-windows-msvc" ], + "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ + "aarch64-unknown-linux-gnu", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" + ], "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p3\"))": [], "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [], "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [], "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], + "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [], + "cfg(any())": [], + "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": [], + "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [], + "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [], + "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": [ + "aarch64-apple-darwin" + ], + "cfg(any(unix, target_os = \"wasi\"))": [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "wasm32-wasip1", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" + ], + "cfg(target_os = \"hermit\")": [], + "cfg(target_os = \"netbsd\")": [], + "cfg(target_os = \"redox\")": [], + "cfg(target_os = \"solaris\")": [], + "cfg(target_os = \"vxworks\")": [], + "cfg(target_os = \"wasi\")": [ + "wasm32-wasip1" + ], "cfg(unix)": [ "aarch64-apple-darwin", "aarch64-unknown-linux-gnu", @@ -2696,7 +12004,8 @@ "x86_64-pc-windows-msvc" ], "x86_64-unknown-linux-gnu": [ - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" ], "x86_64-unknown-nixos-gnu": [ "x86_64-unknown-nixos-gnu" @@ -2704,7 +12013,13 @@ }, "direct_deps": [ "bindgen 0.70.1", - "mockall 0.13.1" + "hickory-resolver 0.25.2", + "mockall 0.13.1", + "serde 1.0.228", + "serde_json 1.0.149", + "time 0.3.47", + "tokio 1.50.0", + "url 2.5.8" ], "direct_dev_deps": [], "unused_patches": [] diff --git a/envoy.bazelrc b/envoy.bazelrc index 5af2c3c3a..0340779e1 100644 --- a/envoy.bazelrc +++ b/envoy.bazelrc @@ -204,12 +204,10 @@ build:compile-time-options --define=admin_html=disabled build:compile-time-options --define=signal_trace=disabled build:compile-time-options --define=hot_restart=disabled build:compile-time-options --define=google_grpc=disabled -build:compile-time-options --define=boringssl=fips +build:compile-time-options --config=boringssl-fips build:compile-time-options --define=log_debug_assert_in_release=enabled build:compile-time-options --define=path_normalization_by_default=true build:compile-time-options --define=deprecated_features=disabled -build:compile-time-options --define=tcmalloc=gperftools -build:compile-time-options --define=zlib=ng build:compile-time-options --define=uhv=enabled # gRPC has a lot of deprecated-enum-enum-conversion warnings with C++20 build:compile-time-options --copt=-Wno-error=deprecated-enum-enum-conversion @@ -218,6 +216,35 @@ build:compile-time-options --@envoy//bazel:http3=False build:compile-time-options --@envoy//source/extensions/filters/http/kill_request:enabled +############################################################################# +# SSL +############################################################################# + +common:fips-common --test_tag_filters=-nofips +common:fips-common --build_tag_filters=-nofips +common:fips-common --@envoy//bazel:fips=True + +# BoringSSL FIPS +common:boringssl-fips --config=fips-common +common:boringssl-fips --@envoy//bazel:ssl=@boringssl_fips//:ssl +common:boringssl-fips --@envoy//bazel:crypto=@boringssl_fips//:crypto + +# AWS-LC FIPS +common:aws-lc-fips --config=fips-common +common:aws-lc-fips --@envoy//bazel:ssl=@aws_lc//:ssl +common:aws-lc-fips --@envoy//bazel:crypto=@aws_lc//:crypto +common:aws-lc-fips --@envoy//bazel:http3=False + +# OpenSSL +common:openssl --//bazel:ssl=//compat/openssl:ssl +common:openssl --//bazel:crypto=//compat/openssl:crypto +common:openssl --copt=-DENVOY_SSL_OPENSSL +common:openssl --host_copt=-DENVOY_SSL_OPENSSL +common:openssl --@envoy//bazel:http3=False +common:openssl --test_tag_filters=-nofips +common:openssl --build_tag_filters=-nofips + + ############################################################################# # sanitizers ############################################################################# @@ -247,7 +274,7 @@ build:asan-common --build_tag_filters=-no_san build:asan-common --test_tag_filters=-no_san build:asan-common --copt -fsanitize=address,undefined build:asan-common --linkopt -fsanitize=address,undefined -# vptr and function sanitizer are enabled in asan if it is set up via bazel/setup_clang.sh. +# vptr and function sanitizer are enabled in asan when using --config=clang. build:asan-common --copt -fno-sanitize=vptr,function build:asan-common --linkopt -fno-sanitize=vptr,function build:asan-common --copt -DADDRESS_SANITIZER=1 @@ -367,7 +394,7 @@ build:clang-pch --define=ENVOY_CLANG_PCH=1 # Clang-tidy build:clang-tidy --@envoy_toolshed//format/clang_tidy:executable=@envoy//tools/clang-tidy -build:clang-tidy --@envoy_toolshed//format/clang_tidy:config=//:clang_tidy_config +build:clang-tidy --@envoy_toolshed//format/clang_tidy:config=@envoy//:clang_tidy_config build:clang-tidy --aspects @envoy_toolshed//format/clang_tidy:clang_tidy.bzl%clang_tidy_aspect build:clang-tidy --output_groups=report build:clang-tidy --build_tag_filters=-notidy diff --git a/envoy_build_config/extensions_build_config.bzl b/envoy_build_config/extensions_build_config.bzl index 6c0b91455..d0cb1a806 100644 --- a/envoy_build_config/extensions_build_config.bzl +++ b/envoy_build_config/extensions_build_config.bzl @@ -3,35 +3,47 @@ EXTENSIONS = { # # Access loggers # - "envoy.access_loggers.file": "//source/extensions/access_loggers/file:config", - "envoy.access_loggers.extension_filters.cel": "//source/extensions/access_loggers/filters/cel:config", - # "envoy.access_loggers.extension_filters.process_ratelimit": "//source/extensions/access_loggers/filters/process_ratelimit:config", - "envoy.access_loggers.http_grpc": "//source/extensions/access_loggers/grpc:http_config", - "envoy.access_loggers.fluentd": "//source/extensions/access_loggers/fluentd:config", + + "envoy.access_loggers.file": "//source/extensions/access_loggers/file:config", + "envoy.access_loggers.extension_filters.cel": "//source/extensions/access_loggers/filters/cel:config", + # "envoy.access_loggers.extension_filters.process_ratelimit": "//source/extensions/access_loggers/filters/process_ratelimit:config", + + "envoy.access_loggers.fluentd" : "//source/extensions/access_loggers/fluentd:config", # "envoy.access_loggers.dynamic_modules": "//source/extensions/access_loggers/dynamic_modules:config", - "envoy.access_loggers.tcp_grpc": "//source/extensions/access_loggers/grpc:tcp_config", - "envoy.access_loggers.open_telemetry": "//source/extensions/access_loggers/open_telemetry:config", + + "envoy.access_loggers.http_grpc": "//source/extensions/access_loggers/grpc:http_config", + "envoy.access_loggers.tcp_grpc": "//source/extensions/access_loggers/grpc:tcp_config", + "envoy.access_loggers.open_telemetry": "//source/extensions/access_loggers/open_telemetry:config", # "envoy.access_loggers.stats": "//source/extensions/access_loggers/stats:config", - "envoy.access_loggers.stdout": "//source/extensions/access_loggers/stream:config", - "envoy.access_loggers.stderr": "//source/extensions/access_loggers/stream:config", - "envoy.access_loggers.wasm": "//source/extensions/access_loggers/wasm:config", + + "envoy.access_loggers.stdout": "//source/extensions/access_loggers/stream:config", + "envoy.access_loggers.stderr": "//source/extensions/access_loggers/stream:config", + "envoy.access_loggers.wasm": "//source/extensions/access_loggers/wasm:config", # # Clusters # # "envoy.clusters.aggregate": "//source/extensions/clusters/aggregate:cluster", + # "envoy.clusters.composite": "//source/extensions/clusters/composite:cluster", - "envoy.clusters.dns": "//source/extensions/clusters/dns:dns_cluster_lib", - "envoy.clusters.dynamic_forward_proxy": "//source/extensions/clusters/dynamic_forward_proxy:cluster", - "envoy.clusters.eds": "//source/extensions/clusters/eds:eds_lib", + + "envoy.clusters.dns": "//source/extensions/clusters/dns:dns_cluster_lib", + # "envoy.clusters.dynamic_modules": "//source/extensions/clusters/dynamic_modules:cluster", + + "envoy.clusters.dynamic_forward_proxy": "//source/extensions/clusters/dynamic_forward_proxy:cluster", + "envoy.clusters.eds": "//source/extensions/clusters/eds:eds_lib", + # "envoy.clusters.mcp_multicluster": "//source/extensions/clusters/mcp_multicluster:cluster", + # "envoy.clusters.redis": "//source/extensions/clusters/redis:redis_cluster", - "envoy.clusters.static": "//source/extensions/clusters/static:static_cluster_lib", - "envoy.clusters.strict_dns": "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", - "envoy.clusters.original_dst": "//source/extensions/clusters/original_dst:original_dst_cluster_lib", - "envoy.clusters.logical_dns": "//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", + + "envoy.clusters.static": "//source/extensions/clusters/static:static_cluster_lib", + "envoy.clusters.strict_dns": "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", + "envoy.clusters.original_dst": "//source/extensions/clusters/original_dst:original_dst_cluster_lib", + "envoy.clusters.logical_dns": "//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", # "envoy.clusters.reverse_connection": "//source/extensions/clusters/reverse_connection:reverse_connection_lib", + # # Compression # @@ -49,223 +61,330 @@ EXTENSIONS = { # "envoy.config.validators.minimum_clusters_validator": "//source/extensions/config/validators/minimum_clusters:config", + # # gRPC Credentials Plugins # # "envoy.grpc_credentials.file_based_metadata": "//source/extensions/grpc_credentials/file_based_metadata:config", + # # WASM # - "envoy.bootstrap.wasm": "//source/extensions/bootstrap/wasm:config", + + "envoy.bootstrap.wasm": "//source/extensions/bootstrap/wasm:config", # "envoy.bootstrap.dynamic_modules": "//source/extensions/bootstrap/dynamic_modules:config", + # # Reverse Connection # # "envoy.bootstrap.reverse_tunnel.downstream_socket_interface": "//source/extensions/bootstrap/reverse_tunnel/downstream_socket_interface:reverse_tunnel_initiator_lib", + # "envoy.bootstrap.reverse_tunnel.upstream_socket_interface": "//source/extensions/bootstrap/reverse_tunnel/upstream_socket_interface:reverse_tunnel_acceptor_lib", + # # Health checkers # - "envoy.health_checkers.redis": "//source/extensions/health_checkers/redis:config", - "envoy.health_checkers.thrift": "//source/extensions/health_checkers/thrift:config", - "envoy.health_checkers.tcp": "//source/extensions/health_checkers/tcp:health_checker_lib", - "envoy.health_checkers.http": "//source/extensions/health_checkers/http:health_checker_lib", - "envoy.health_checkers.grpc": "//source/extensions/health_checkers/grpc:health_checker_lib", + + "envoy.health_checkers.redis": "//source/extensions/health_checkers/redis:config", + "envoy.health_checkers.thrift": "//source/extensions/health_checkers/thrift:config", + "envoy.health_checkers.tcp": "//source/extensions/health_checkers/tcp:health_checker_lib", + "envoy.health_checkers.http": "//source/extensions/health_checkers/http:health_checker_lib", + "envoy.health_checkers.grpc": "//source/extensions/health_checkers/grpc:health_checker_lib", # # Health check event sinks # - "envoy.health_check.event_sinks.file": "//source/extensions/health_check/event_sinks/file:file_sink_lib", + + "envoy.health_check.event_sinks.file": "//source/extensions/health_check/event_sinks/file:file_sink_lib", # # Input Matchers # # "envoy.matching.matchers.consistent_hashing": "//source/extensions/matching/input_matchers/consistent_hashing:config", + # "envoy.matching.matchers.ip": "//source/extensions/matching/input_matchers/ip:config", + # "envoy.matching.matchers.runtime_fraction": "//source/extensions/matching/input_matchers/runtime_fraction:config", + # "envoy.matching.matchers.cel_matcher": "//source/extensions/matching/input_matchers/cel_matcher:config", + + # "envoy.matching.matchers.dynamic_modules": "//source/extensions/matching/input_matchers/dynamic_modules:config", + # "envoy.matching.matchers.metadata_matcher": "//source/extensions/matching/input_matchers/metadata:config", + # # Network Matchers # # "envoy.matching.inputs.application_protocol": "//source/extensions/matching/network/application_protocol:config", + # Ideally these would be split up. We'll do so if anyone cares. # "envoy.matching.inputs.destination_ip": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.destination_port": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.source_ip": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.source_port": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.direct_source_ip": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.source_type": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.server_name": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.network_namespace": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.transport_protocol": "//source/extensions/matching/network/common:inputs_lib", + # "envoy.matching.inputs.filter_state": "//source/extensions/matching/network/common:inputs_lib", + # # Generic Inputs # # "envoy.matching.common_inputs.environment_variable": "//source/extensions/matching/common_inputs/environment_variable:config", + # # CEL Matching Input # # "envoy.matching.inputs.cel_data_input": "//source/extensions/matching/http/cel_input:cel_input_lib", + # "envoy.matching.inputs.dynamic_module_data_input": "//source/extensions/matching/http/dynamic_modules:data_input_lib", + + # # Dynamic Metadata Matching Input # # "envoy.matching.inputs.dynamic_metadata": "//source/extensions/matching/http/metadata_input:metadata_input_lib", + # # Transport Socket Matching Inputs # # "envoy.matching.inputs.endpoint_metadata": "//source/extensions/matching/common_inputs/transport_socket:config", + # "envoy.matching.inputs.locality_metadata": "//source/extensions/matching/common_inputs/transport_socket:config", + # "envoy.matching.inputs.transport_socket_filter_state": "//source/extensions/matching/common_inputs/transport_socket:config", + # # Matching actions # # "envoy.matching.actions.format_string": "//source/extensions/matching/actions/format_string:config", + + # "envoy.matching.actions.transform_stat": "//source/extensions/matching/actions/transform_stat:config", + # "envoy.matching.action.transport_socket.name": "//source/extensions/matching/common_inputs/transport_socket:config", + # # StringMatchers # # "envoy.string_matcher.lua": "//source/extensions/string_matcher/lua:config", + # # HTTP filters # + # "envoy.filters.http.a2a": "//source/extensions/filters/http/a2a:config", + # "envoy.filters.http.adaptive_concurrency": "//source/extensions/filters/http/adaptive_concurrency:config", + # "envoy.filters.http.admission_control": "//source/extensions/filters/http/admission_control:config", + # "envoy.filters.http.alternate_protocols_cache": "//source/extensions/filters/http/alternate_protocols_cache:config", + # "envoy.filters.http.api_key_auth": "//source/extensions/filters/http/api_key_auth:config", + # "envoy.filters.http.aws_lambda": "//source/extensions/filters/http/aws_lambda:config", + # "envoy.filters.http.aws_request_signing": "//source/extensions/filters/http/aws_request_signing:config", + # "envoy.filters.http.bandwidth_limit": "//source/extensions/filters/http/bandwidth_limit:config", - "envoy.filters.http.basic_auth": "//source/extensions/filters/http/basic_auth:config", - "envoy.filters.http.buffer": "//source/extensions/filters/http/buffer:config", + + "envoy.filters.http.basic_auth": "//source/extensions/filters/http/basic_auth:config", + "envoy.filters.http.buffer": "//source/extensions/filters/http/buffer:config", # "envoy.filters.http.cache": "//source/extensions/filters/http/cache:config", + # "envoy.filters.http.cache_v2": "//source/extensions/filters/http/cache_v2:config", + # "envoy.filters.http.cdn_loop": "//source/extensions/filters/http/cdn_loop:config", + "envoy.filters.http.compressor": "//source/extensions/filters/http/compressor:config", "envoy.filters.http.cors": "//source/extensions/filters/http/cors:config", # "envoy.filters.http.composite": "//source/extensions/filters/http/composite:config", + # "envoy.filters.http.connect_grpc_bridge": "//source/extensions/filters/http/connect_grpc_bridge:config", + # "envoy.filters.http.credential_injector": "//source/extensions/filters/http/credential_injector:config", + # "envoy.filters.http.csrf": "//source/extensions/filters/http/csrf:config", + # "envoy.filters.http.custom_response": "//source/extensions/filters/http/custom_response:factory", + # "envoy.filters.http.decompressor": "//source/extensions/filters/http/decompressor:config", - "envoy.filters.http.dynamic_forward_proxy": "//source/extensions/filters/http/dynamic_forward_proxy:config", - "envoy.filters.http.ext_authz": "//source/extensions/filters/http/ext_authz:config", - # "envoy.filters.network.ext_proc": "//source/extensions/filters/network/ext_proc:config", - # "envoy.filters.network.reverse_tunnel": "//source/extensions/filters/network/reverse_tunnel:config", + + "envoy.filters.http.dynamic_forward_proxy": "//source/extensions/filters/http/dynamic_forward_proxy:config", + "envoy.filters.http.ext_authz": "//source/extensions/filters/http/ext_authz:config", "envoy.filters.http.ext_proc": "//source/extensions/filters/http/ext_proc:config", # "envoy.filters.http.fault": "//source/extensions/filters/http/fault:config", + + # "envoy.filters.http.file_server": "//source/extensions/filters/http/file_server:config", + # "envoy.filters.http.file_system_buffer": "//source/extensions/filters/http/file_system_buffer:config", + # "envoy.filters.http.gcp_authn": "//source/extensions/filters/http/gcp_authn:config", + # "envoy.filters.http.geoip": "//source/extensions/filters/http/geoip:config", - # "envoy.filters.http.geoip": "//source/extensions/filters/http/geoip:config", + # "envoy.filters.http.grpc_field_extraction": "//source/extensions/filters/http/grpc_field_extraction:config", + # "envoy.filters.http.grpc_http1_bridge": "//source/extensions/filters/http/grpc_http1_bridge:config", + # "envoy.filters.http.grpc_http1_reverse_bridge": "//source/extensions/filters/http/grpc_http1_reverse_bridge:config", - # "envoy.filters.http.grpc_json_transcoder": "//source/extensions/filters/http/grpc_json_transcoder:config", + # "envoy.filters.http.grpc_json_reverse_transcoder": "//source/extensions/filters/http/grpc_json_reverse_transcoder:config", - "envoy.filters.http.grpc_stats": "//source/extensions/filters/http/grpc_stats:config", - "envoy.filters.http.grpc_web": "//source/extensions/filters/http/grpc_web:config", + + # "envoy.filters.http.grpc_json_transcoder": "//source/extensions/filters/http/grpc_json_transcoder:config", + + "envoy.filters.http.grpc_stats": "//source/extensions/filters/http/grpc_stats:config", + "envoy.filters.http.grpc_web": "//source/extensions/filters/http/grpc_web:config", # "envoy.filters.http.header_to_metadata": "//source/extensions/filters/http/header_to_metadata:config", - "envoy.filters.http.health_check": "//source/extensions/filters/http/health_check:config", + + "envoy.filters.http.health_check": "//source/extensions/filters/http/health_check:config", # "envoy.filters.http.ip_tagging": "//source/extensions/filters/http/ip_tagging:config", + # "envoy.filters.http.json_to_metadata": "//source/extensions/filters/http/json_to_metadata:config", - "envoy.filters.http.jwt_authn": "//source/extensions/filters/http/jwt_authn:config", + + "envoy.filters.http.jwt_authn": "//source/extensions/filters/http/jwt_authn:config", # "envoy.filters.http.mcp": "//source/extensions/filters/http/mcp:config", + + # "envoy.filters.http.mcp_json_rest_bridge": "//source/extensions/filters/http/mcp_json_rest_bridge:config", + # "envoy.filters.http.mcp_router": "//source/extensions/filters/http/mcp_router:config", - "envoy.filters.http.rate_limit_quota": "//source/extensions/filters/http/rate_limit_quota:config", + + "envoy.filters.http.rate_limit_quota": "//source/extensions/filters/http/rate_limit_quota:config", # Disabled by default. kill_request is not built into most prebuilt images. # For instructions for building with disabled-by-default filters enabled, see # https://github.com/envoyproxy/envoy/blob/main/bazel/README.md#enabling-and-disabling-extensions # "envoy.filters.http.kill_request": "//source/extensions/filters/http/kill_request:kill_request_config", - "envoy.filters.http.local_ratelimit": "//source/extensions/filters/http/local_ratelimit:config", + + "envoy.filters.http.local_ratelimit": "//source/extensions/filters/http/local_ratelimit:config", # "envoy.filters.http.lua": "//source/extensions/filters/http/lua:config", - "envoy.filters.http.oauth2": "//source/extensions/filters/http/oauth2:config", + + "envoy.filters.http.oauth2": "//source/extensions/filters/http/oauth2:config", # "envoy.filters.http.on_demand": "//source/extensions/filters/http/on_demand:config", + # "envoy.filters.http.original_src": "//source/extensions/filters/http/original_src:config", - # "envoy.filters.http.proto_message_extraction": "//source/extensions/filters/http/proto_message_extraction:config", + + # "envoy.filters.http.proto_message_extraction": "//source/extensions/filters/http/proto_message_extraction:config", + # "envoy.filters.http.proto_api_scrubber": "//source/extensions/filters/http/proto_api_scrubber:config", - "envoy.filters.http.ratelimit": "//source/extensions/filters/http/ratelimit:config", - "envoy.filters.http.rbac": "//source/extensions/filters/http/rbac:config", - "envoy.filters.http.router": "//source/extensions/filters/http/router:config", - "envoy.filters.http.set_filter_state": "//source/extensions/filters/http/set_filter_state:config", - "envoy.filters.http.set_metadata": "//source/extensions/filters/http/set_metadata:config", + + "envoy.filters.http.ratelimit": "//source/extensions/filters/http/ratelimit:config", + "envoy.filters.http.rbac": "//source/extensions/filters/http/rbac:config", + "envoy.filters.http.router": "//source/extensions/filters/http/router:config", + "envoy.filters.http.set_filter_state": "//source/extensions/filters/http/set_filter_state:config", + "envoy.filters.http.set_metadata": "//source/extensions/filters/http/set_metadata:config", # "envoy.filters.http.tap": "//source/extensions/filters/http/tap:config", + # "envoy.filters.http.thrift_to_metadata": "//source/extensions/filters/http/thrift_to_metadata:config", - "envoy.filters.http.wasm": "//source/extensions/filters/http/wasm:config", + + "envoy.filters.http.wasm": "//source/extensions/filters/http/wasm:config", # "envoy.filters.http.stateful_session": "//source/extensions/filters/http/stateful_session:config", + + # "envoy.filters.http.sse_to_metadata": "//source/extensions/filters/http/sse_to_metadata:config", + # "envoy.filters.http.header_mutation": "//source/extensions/filters/http/header_mutation:config", + # "envoy.filters.http.transform": "//source/extensions/filters/http/transform:config", + # # Listener filters # - "envoy.filters.listener.http_inspector": "//source/extensions/filters/listener/http_inspector:config", - "envoy.filters.listener.local_ratelimit": "//source/extensions/filters/listener/local_ratelimit:config", + + "envoy.filters.listener.http_inspector": "//source/extensions/filters/listener/http_inspector:config", + "envoy.filters.listener.local_ratelimit": "//source/extensions/filters/listener/local_ratelimit:config", # NOTE: The original_dst filter is implicitly loaded if original_dst functionality is # configured on the listener. Do not remove it in that case or configs will fail to load. # "envoy.filters.listener.original_dst": "//source/extensions/filters/listener/original_dst:config", + # "envoy.filters.listener.original_src": "//source/extensions/filters/listener/original_src:config", + # NOTE: The proxy_protocol filter is implicitly loaded if proxy_protocol functionality is # configured on the listener. Do not remove it in that case or configs will fail to load. - "envoy.filters.listener.proxy_protocol": "//source/extensions/filters/listener/proxy_protocol:config", - "envoy.filters.listener.tls_inspector": "//source/extensions/filters/listener/tls_inspector:config", + "envoy.filters.listener.proxy_protocol": "//source/extensions/filters/listener/proxy_protocol:config", + # "envoy.filters.listener.set_filter_state": "//source/extensions/filters/listener/set_filter_state:config", + + "envoy.filters.listener.tls_inspector": "//source/extensions/filters/listener/tls_inspector:config", # "envoy.filters.listener.dynamic_modules": "//source/extensions/filters/listener/dynamic_modules:config", + # "envoy.filters.udp_listener.dynamic_modules": "//source/extensions/filters/udp/dynamic_modules:config", + # # Network filters # - # "envoy.filters.network.client_ssl_auth": "//contrib/client_ssl_auth/filters/network/source:config", - "envoy.filters.network.connection_limit": "//source/extensions/filters/network/connection_limit:config", + "envoy.filters.network.connection_limit": "//source/extensions/filters/network/connection_limit:config", # "envoy.filters.network.direct_response": "//source/extensions/filters/network/direct_response:config", + # "envoy.filters.network.dubbo_proxy": "//source/extensions/filters/network/dubbo_proxy:config", + # "envoy.filters.network.dynamic_modules": "//source/extensions/filters/network/dynamic_modules:config", - # "envoy.filters.network.dubbo_proxy": "//source/extensions/filters/network/dubbo_proxy:config", + # "envoy.filters.network.echo": "//source/extensions/filters/network/echo:config", - "envoy.filters.network.ext_authz": "//source/extensions/filters/network/ext_authz:config", - "envoy.filters.network.http_connection_manager": "//source/extensions/filters/network/http_connection_manager:config", - "envoy.filters.network.local_ratelimit": "//source/extensions/filters/network/local_ratelimit:config", - "envoy.filters.network.mongo_proxy": "//source/extensions/filters/network/mongo_proxy:config", - "envoy.filters.network.mysql_proxy": "//contrib/mysql_proxy/filters/network/source:config", - "envoy.filters.network.ratelimit": "//source/extensions/filters/network/ratelimit:config", - "envoy.filters.network.rbac": "//source/extensions/filters/network/rbac:config", + + "envoy.filters.network.ext_authz": "//source/extensions/filters/network/ext_authz:config", + # "envoy.filters.network.ext_proc": "//source/extensions/filters/network/ext_proc:config", + + # "envoy.filters.network.reverse_tunnel": "//source/extensions/filters/network/reverse_tunnel:config", + + # "envoy.filters.network.reverse_tunnel_drain_aware_http_connection_manager": "//source/extensions/filters/network/reverse_tunnel/drain_aware_hcm:drain_aware_config", + + "envoy.filters.network.http_connection_manager": "//source/extensions/filters/network/http_connection_manager:config", + "envoy.filters.network.local_ratelimit": "//source/extensions/filters/network/local_ratelimit:config", + "envoy.filters.network.mongo_proxy": "//source/extensions/filters/network/mongo_proxy:config", + # "envoy.filters.network.tcp_bandwidth_limit": "//source/extensions/filters/network/tcp_bandwidth_limit:config", + + "envoy.filters.network.ratelimit": "//source/extensions/filters/network/ratelimit:config", + "envoy.filters.network.rbac": "//source/extensions/filters/network/rbac:config", # "envoy.filters.network.redis_proxy": "//source/extensions/filters/network/redis_proxy:config", - "envoy.filters.network.tcp_proxy": "//source/extensions/filters/network/tcp_proxy:config", + + "envoy.filters.network.tcp_proxy": "//source/extensions/filters/network/tcp_proxy:config", # "envoy.filters.network.thrift_proxy": "//source/extensions/filters/network/thrift_proxy:config", - "envoy.filters.network.set_filter_state": "//source/extensions/filters/network/set_filter_state:config", + + "envoy.filters.network.set_filter_state": "//source/extensions/filters/network/set_filter_state:config", # "envoy.filters.network.geoip": "//source/extensions/filters/network/geoip:config", - "envoy.filters.network.sni_cluster": "//source/extensions/filters/network/sni_cluster:config", - "envoy.filters.network.sni_dynamic_forward_proxy": "//source/extensions/filters/network/sni_dynamic_forward_proxy:config", - "envoy.filters.network.wasm": "//source/extensions/filters/network/wasm:config", + + "envoy.filters.network.sni_cluster": "//source/extensions/filters/network/sni_cluster:config", + "envoy.filters.network.sni_dynamic_forward_proxy": "//source/extensions/filters/network/sni_dynamic_forward_proxy:config", + "envoy.filters.network.wasm": "//source/extensions/filters/network/wasm:config", # "envoy.filters.network.zookeeper_proxy": "//source/extensions/filters/network/zookeeper_proxy:config", + # "envoy.filters.network.generic_proxy": "//source/extensions/filters/network/generic_proxy:config", + # # UDP filters # # "envoy.filters.udp.dns_filter": "//source/extensions/filters/udp/dns_filter:config", + "envoy.filters.udp_listener.udp_proxy": "//source/extensions/filters/udp/udp_proxy:config", # @@ -280,111 +399,156 @@ EXTENSIONS = { # # "envoy.resource_monitors.fixed_heap": "//source/extensions/resource_monitors/fixed_heap:config", + # "envoy.resource_monitors.injected_resource": "//source/extensions/resource_monitors/injected_resource:config", - "envoy.resource_monitors.global_downstream_max_connections": "//source/extensions/resource_monitors/downstream_connections:config", - "envoy.resource_monitors.cpu_utilization": "//source/extensions/resource_monitors/cpu_utilization:config", - "envoy.resource_monitors.cgroup_memory": "//source/extensions/resource_monitors/cgroup_memory:config", + + "envoy.resource_monitors.global_downstream_max_connections": "//source/extensions/resource_monitors/downstream_connections:config", + "envoy.resource_monitors.cpu_utilization": "//source/extensions/resource_monitors/cpu_utilization:config", + "envoy.resource_monitors.cgroup_memory": "//source/extensions/resource_monitors/cgroup_memory:config", # # Stat sinks # # "envoy.stat_sinks.dog_statsd": "//source/extensions/stat_sinks/dog_statsd:config", + # "envoy.stat_sinks.graphite_statsd": "//source/extensions/stat_sinks/graphite_statsd:config", + # "envoy.stat_sinks.hystrix": "//source/extensions/stat_sinks/hystrix:config", - "envoy.stat_sinks.metrics_service": "//source/extensions/stat_sinks/metrics_service:config", - "envoy.stat_sinks.open_telemetry": "//source/extensions/stat_sinks/open_telemetry:config", + + "envoy.stat_sinks.metrics_service": "//source/extensions/stat_sinks/metrics_service:config", + "envoy.stat_sinks.open_telemetry": "//source/extensions/stat_sinks/open_telemetry:config", # "envoy.stat_sinks.statsd": "//source/extensions/stat_sinks/statsd:config", - "envoy.stat_sinks.wasm": "//source/extensions/stat_sinks/wasm:config", + + "envoy.stat_sinks.wasm": "//source/extensions/stat_sinks/wasm:config", # # Thrift filters # # "envoy.filters.thrift.router": "//source/extensions/filters/network/thrift_proxy/router:config", + # "envoy.filters.thrift.header_to_metadata": "//source/extensions/filters/network/thrift_proxy/filters/header_to_metadata:config", + # "envoy.filters.thrift.payload_to_metadata": "//source/extensions/filters/network/thrift_proxy/filters/payload_to_metadata:config", + # "envoy.filters.thrift.rate_limit": "//source/extensions/filters/network/thrift_proxy/filters/ratelimit:config", + # # Tracers # # "envoy.tracers.datadog": "//source/extensions/tracers/datadog:config", + # "envoy.tracers.zipkin": "//source/extensions/tracers/zipkin:config", + # "envoy.tracers.xray": "//source/extensions/tracers/xray:config", + # "envoy.tracers.skywalking": "//source/extensions/tracers/skywalking:config", + # "envoy.tracers.opentelemetry": "//source/extensions/tracers/opentelemetry:config", + # "envoy.tracers.fluentd": "//source/extensions/tracers/fluentd:config", + # "envoy.tracers.dynamic_modules": "//source/extensions/tracers/dynamic_modules:config", + + # # OpenTelemetry Resource Detectors # # "envoy.tracers.opentelemetry.resource_detectors.environment": "//source/extensions/tracers/opentelemetry/resource_detectors/environment:config", + # "envoy.tracers.opentelemetry.resource_detectors.dynatrace": "//source/extensions/tracers/opentelemetry/resource_detectors/dynatrace:config", + # "envoy.tracers.opentelemetry.resource_detectors.static_config": "//source/extensions/tracers/opentelemetry/resource_detectors/static:config", + # # OpenTelemetry tracer samplers # # "envoy.tracers.opentelemetry.samplers.cel": "//source/extensions/tracers/opentelemetry/samplers/cel:config", + # "envoy.tracers.opentelemetry.samplers.always_on": "//source/extensions/tracers/opentelemetry/samplers/always_on:config", + # "envoy.tracers.opentelemetry.samplers.dynatrace": "//source/extensions/tracers/opentelemetry/samplers/dynatrace:config", + # "envoy.tracers.opentelemetry.samplers.parent_based": "//source/extensions/tracers/opentelemetry/samplers/parent_based:config", + # "envoy.tracers.opentelemetry.samplers.trace_id_ratio_based": "//source/extensions/tracers/opentelemetry/samplers/trace_id_ratio_based:config", + # # Transport sockets # # "envoy.transport_sockets.alts": "//source/extensions/transport_sockets/alts:config", + # "envoy.transport_sockets.http_11_proxy": "//source/extensions/transport_sockets/http_11_proxy:upstream_config", - "envoy.transport_sockets.upstream_proxy_protocol": "//source/extensions/transport_sockets/proxy_protocol:upstream_config", - "envoy.transport_sockets.raw_buffer": "//source/extensions/transport_sockets/raw_buffer:config", + + "envoy.transport_sockets.upstream_proxy_protocol": "//source/extensions/transport_sockets/proxy_protocol:upstream_config", + "envoy.transport_sockets.raw_buffer": "//source/extensions/transport_sockets/raw_buffer:config", # "envoy.transport_sockets.tap": "//source/extensions/transport_sockets/tap:config", + # "envoy.transport_sockets.starttls": "//source/extensions/transport_sockets/starttls:config", + # "envoy.transport_sockets.tcp_stats": "//source/extensions/transport_sockets/tcp_stats:config", - "envoy.transport_sockets.tls": "//source/extensions/transport_sockets/tls:config", - "envoy.transport_sockets.internal_upstream": "//source/extensions/transport_sockets/internal_upstream:config", + + "envoy.transport_sockets.tls": "//source/extensions/transport_sockets/tls:config", + "envoy.transport_sockets.internal_upstream": "//source/extensions/transport_sockets/internal_upstream:config", # # Retry host predicates # # "envoy.retry_host_predicates.previous_hosts": "//source/extensions/retry/host/previous_hosts:config", + # "envoy.retry_host_predicates.omit_canary_hosts": "//source/extensions/retry/host/omit_canary_hosts:config", + # "envoy.retry_host_predicates.omit_host_metadata": "//source/extensions/retry/host/omit_host_metadata:config", + # # Retry priorities # # "envoy.retry_priorities.previous_priorities": "//source/extensions/retry/priority/previous_priorities:config", + # # CacheFilter plugins # # "envoy.extensions.http.cache.file_system_http_cache": "//source/extensions/http/cache/file_system_http_cache:config", + # "envoy.extensions.http.cache.simple": "//source/extensions/http/cache/simple_http_cache:config", + # "envoy.extensions.http.cache_v2.file_system_http_cache": "//source/extensions/http/cache_v2/file_system_http_cache:config", + # "envoy.extensions.http.cache_v2.simple": "//source/extensions/http/cache_v2/simple_http_cache:config", + # # Internal redirect predicates # # "envoy.internal_redirect_predicates.allow_listed_routes": "//source/extensions/internal_redirect/allow_listed_routes:config", + # "envoy.internal_redirect_predicates.previous_routes": "//source/extensions/internal_redirect/previous_routes:config", + # "envoy.internal_redirect_predicates.safe_cross_scheme": "//source/extensions/internal_redirect/safe_cross_scheme:config", + # # Http Upstreams (excepting envoy.upstreams.http.generic which is hard-coded into the build so not registered here) # - "envoy.upstreams.http.http": "//source/extensions/upstreams/http/http:config", - "envoy.upstreams.http.tcp": "//source/extensions/upstreams/http/tcp:config", - "envoy.upstreams.http.udp": "//source/extensions/upstreams/http/udp:config", + + # "envoy.upstreams.http.dynamic_modules": "//source/extensions/upstreams/http/dynamic_modules:config", + + "envoy.upstreams.http.http": "//source/extensions/upstreams/http/http:config", + "envoy.upstreams.http.tcp": "//source/extensions/upstreams/http/tcp:config", + "envoy.upstreams.http.udp": "//source/extensions/upstreams/http/udp:config", # # Watchdog actions @@ -392,76 +556,95 @@ EXTENSIONS = { # "envoy.watchdog.profile_action": "//source/extensions/watchdog/profile_action:config", + # # WebAssembly runtimes # - "envoy.wasm.runtime.null": "//source/extensions/wasm_runtime/null:config", - "envoy.wasm.runtime.v8": "//source/extensions/wasm_runtime/v8:config", - "envoy.wasm.runtime.wamr": "//source/extensions/wasm_runtime/wamr:config", - "envoy.wasm.runtime.wasmtime": "//source/extensions/wasm_runtime/wasmtime:config", + + "envoy.wasm.runtime.null": "//source/extensions/wasm_runtime/null:config", + "envoy.wasm.runtime.v8": "//source/extensions/wasm_runtime/v8:config", + "envoy.wasm.runtime.wamr": "//source/extensions/wasm_runtime/wamr:config", + "envoy.wasm.runtime.wasmtime": "//source/extensions/wasm_runtime/wasmtime:config", # # Rate limit descriptors # - "envoy.rate_limit_descriptors.expr": "//source/extensions/rate_limit_descriptors/expr:config", + + "envoy.rate_limit_descriptors.expr": "//source/extensions/rate_limit_descriptors/expr:config", # # IO socket # # "envoy.io_socket.user_space": "//source/extensions/io_socket/user_space:config", - "envoy.bootstrap.internal_listener": "//source/extensions/bootstrap/internal_listener:config", + + "envoy.bootstrap.internal_listener": "//source/extensions/bootstrap/internal_listener:config", # # TLS peer certification validators # + # "envoy.tls.cert_validator.dynamic_modules": "//source/extensions/transport_sockets/tls/cert_validator/dynamic_modules:config", + # "envoy.tls.cert_validator.spiffe": "//source/extensions/transport_sockets/tls/cert_validator/spiffe:config", + # # HTTP header formatters # - "envoy.http.stateful_header_formatters.preserve_case": "//source/extensions/http/header_formatters/preserve_case:config", + + "envoy.http.stateful_header_formatters.preserve_case": "//source/extensions/http/header_formatters/preserve_case:config", # # Original IP detection # # "envoy.http.original_ip_detection.custom_header": "//source/extensions/http/original_ip_detection/custom_header:config", + # "envoy.http.original_ip_detection.xff": "//source/extensions/http/original_ip_detection/xff:config", + # # Stateful session # # "envoy.http.stateful_session.cookie": "//source/extensions/http/stateful_session/cookie:config", + # "envoy.http.stateful_session.envelope": "//source/extensions/http/stateful_session/envelope:config", + # "envoy.http.stateful_session.header": "//source/extensions/http/stateful_session/header:config", + # # Custom response policies # # "envoy.http.custom_response.redirect_policy": "//source/extensions/http/custom_response/redirect_policy:redirect_policy_lib", + # "envoy.http.custom_response.local_response_policy": "//source/extensions/http/custom_response/local_response_policy:local_response_policy_lib", + # # External Processing Request Modifiers # # "envoy.http.ext_proc.processing_request_modifiers.mapped_attribute_builder": "//source/extensions/http/ext_proc/processing_request_modifiers/mapped_attribute_builder:mapped_attribute_builder_lib", + # # External Processing Response Processors # # "envoy.http.ext_proc.response_processors.save_processing_response": "//source/extensions/http/ext_proc/response_processors/save_processing_response:save_processing_response_lib", + # # Injected credentials # # "envoy.http.injected_credentials.generic": "//source/extensions/http/injected_credentials/generic:config", + # "envoy.http.injected_credentials.oauth2": "//source/extensions/http/injected_credentials/oauth2:config", + # # QUIC extensions # @@ -476,69 +659,91 @@ EXTENSIONS = { "envoy.quic.connection_debug_visitor.quic_stats": "//source/extensions/quic/connection_debug_visitor/quic_stats:config", # "envoy.quic.packet_writer.default": "//source/extensions/quic/client_packet_writer:default_quic_client_packet_writer_factory_config", + # # UDP packet writers # # "envoy.udp_packet_writer.default": "//source/extensions/udp_packet_writer/default:config", + # "envoy.udp_packet_writer.gso": "//source/extensions/udp_packet_writer/gso:config", + # # Formatter # # "envoy.formatter.cel": "//source/extensions/formatter/cel:config", + + # "envoy.formatter.file_content": "//source/extensions/formatter/file_content:config", + + # "envoy.formatter.generic_secret": "//source/extensions/formatter/generic_secret:config", + # "envoy.formatter.metadata": "//source/extensions/formatter/metadata:config", + # "envoy.formatter.req_without_query": "//source/extensions/formatter/req_without_query:config", + # "envoy.built_in_formatters.xfcc_value": "//source/extensions/formatter/xfcc_value:config", + # # Key value store # # "envoy.key_value.file_based": "//source/extensions/key_value/file_based:config_lib", + # # RBAC matchers # # "envoy.rbac.matchers.upstream_ip_port": "//source/extensions/filters/common/rbac/matchers:upstream_ip_port_lib", + # # RBAC principals # - "envoy.rbac.principals.mtls_authenticated": "//source/extensions/filters/common/rbac/principals/mtls_authenticated:config", + "envoy.rbac.principals.mtls_authenticated": "//source/extensions/filters/common/rbac/principals/mtls_authenticated:config", # # DNS Resolver # # c-ares DNS resolver extension is recommended to be enabled to maintain the legacy DNS resolving behavior. - "envoy.network.dns_resolver.cares": "//source/extensions/network/dns_resolver/cares:config", + "envoy.network.dns_resolver.cares": "//source/extensions/network/dns_resolver/cares:config", # apple DNS resolver extension is only needed in MacOS build plus one want to use apple library for DNS resolving. # "envoy.network.dns_resolver.apple": "//source/extensions/network/dns_resolver/apple:config", + # getaddrinfo DNS resolver extension can be used when the system resolver is desired (e.g., Android) # "envoy.network.dns_resolver.getaddrinfo": "//source/extensions/network/dns_resolver/getaddrinfo:config", + # Hickory DNS resolver extension uses a Rust-based DNS library with support for DoT, DoH, and `DNSSEC`. + # "envoy.network.dns_resolver.hickory": "//source/extensions/network/dns_resolver/hickory:config", + + # # Address Resolvers # # "envoy.resolvers.reverse_connection": "//source/extensions/bootstrap/reverse_tunnel/downstream_socket_interface:reverse_connection_resolver_lib", + # # Custom matchers # # "envoy.matching.custom_matchers.ip_range_matcher": "//source/extensions/common/matcher:ip_range_matcher_lib", + # "envoy.matching.custom_matchers.domain_matcher": "//source/extensions/common/matcher:domain_matcher_lib", + # # Header Validators # # "envoy.http.header_validators.envoy_default": "//source/extensions/http/header_validators/envoy_default:config", + # # Path Pattern Match and Path Pattern Rewrite # @@ -547,22 +752,26 @@ EXTENSIONS = { # # Early Data option # - "envoy.route.early_data_policy.default": "//source/extensions/early_data:default_early_data_policy_lib", + + "envoy.route.early_data_policy.default": "//source/extensions/early_data:default_early_data_policy_lib", # # Load balancing policies for upstream # - "envoy.load_balancing_policies.least_request": "//source/extensions/load_balancing_policies/least_request:config", - "envoy.load_balancing_policies.random": "//source/extensions/load_balancing_policies/random:config", - "envoy.load_balancing_policies.round_robin": "//source/extensions/load_balancing_policies/round_robin:config", - "envoy.load_balancing_policies.maglev": "//source/extensions/load_balancing_policies/maglev:config", - "envoy.load_balancing_policies.ring_hash": "//source/extensions/load_balancing_policies/ring_hash:config", - "envoy.load_balancing_policies.subset": "//source/extensions/load_balancing_policies/subset:config", - "envoy.load_balancing_policies.cluster_provided": "//source/extensions/load_balancing_policies/cluster_provided:config", + "envoy.load_balancing_policies.least_request": "//source/extensions/load_balancing_policies/least_request:config", + "envoy.load_balancing_policies.random": "//source/extensions/load_balancing_policies/random:config", + "envoy.load_balancing_policies.round_robin": "//source/extensions/load_balancing_policies/round_robin:config", + "envoy.load_balancing_policies.maglev": "//source/extensions/load_balancing_policies/maglev:config", + "envoy.load_balancing_policies.ring_hash": "//source/extensions/load_balancing_policies/ring_hash:config", + "envoy.load_balancing_policies.subset": "//source/extensions/load_balancing_policies/subset:config", + "envoy.load_balancing_policies.cluster_provided": "//source/extensions/load_balancing_policies/cluster_provided:config", "envoy.load_balancing_policies.client_side_weighted_round_robin": "//source/extensions/load_balancing_policies/client_side_weighted_round_robin:config", "envoy.load_balancing_policies.override_host": "//source/extensions/load_balancing_policies/override_host:config", # "envoy.load_balancing_policies.wrr_locality": "//source/extensions/load_balancing_policies/wrr_locality:config", + # "envoy.load_balancing_policies.dynamic_modules": "//source/extensions/load_balancing_policies/dynamic_modules:config", + + # # HTTP Early Header Mutation # @@ -572,8 +781,10 @@ EXTENSIONS = { # Config Subscription # # "envoy.config_subscription.rest": "//source/extensions/config_subscription/rest:http_subscription_lib", + "envoy.config_subscription.filesystem": "//source/extensions/config_subscription/filesystem:filesystem_subscription_lib", # "envoy.config_subscription.filesystem_collection": "//source/extensions/config_subscription/filesystem:filesystem_subscription_lib", + "envoy.config_subscription.grpc": "//source/extensions/config_subscription/grpc:grpc_subscription_lib", "envoy.config_subscription.delta_grpc": "//source/extensions/config_subscription/grpc:grpc_subscription_lib", "envoy.config_subscription.ads": "//source/extensions/config_subscription/grpc:grpc_subscription_lib", @@ -583,24 +794,32 @@ EXTENSIONS = { "envoy.config_mux.delta_grpc_mux_factory": "//source/extensions/config_subscription/grpc/xds_mux:grpc_mux_lib", "envoy.config_mux.sotw_grpc_mux_factory": "//source/extensions/config_subscription/grpc/xds_mux:grpc_mux_lib", + # + # Content Parsers + # + # "envoy.content_parsers.json": "//source/extensions/content_parsers/json:config", + + # # Geolocation Provider # # "envoy.geoip_providers.maxmind": "//source/extensions/geoip_providers/maxmind:config", + # - # cluster specifier plugin + # Cluster specifier plugin # - # "envoy.router.cluster_specifier_plugin.lua": "//source/extensions/router/cluster_specifiers/lua:config", + # "envoy.router.cluster_specifier_plugin.matcher": "//source/extensions/router/cluster_specifiers/matcher:config", + # # Extensions for generic proxy # - "envoy.filters.generic.router": "//source/extensions/filters/network/generic_proxy/router:config", - "envoy.generic_proxy.codecs.dubbo": "//source/extensions/filters/network/generic_proxy/codecs/dubbo:config", - "envoy.generic_proxy.codecs.http1": "//source/extensions/filters/network/generic_proxy/codecs/http1:config", + "envoy.filters.generic.router": "//source/extensions/filters/network/generic_proxy/router:config", + "envoy.generic_proxy.codecs.dubbo": "//source/extensions/filters/network/generic_proxy/codecs/dubbo:config", + "envoy.generic_proxy.codecs.http1": "//source/extensions/filters/network/generic_proxy/codecs/http1:config", # Dynamic modules "envoy.filters.http.dynamic_modules": "//source/extensions/filters/http/dynamic_modules:factory_registration", @@ -608,12 +827,18 @@ EXTENSIONS = { # Certificate selectors # "envoy.tls.certificate_selectors.on_demand_secret": "//source/extensions/transport_sockets/tls/cert_selectors/on_demand:config", + # Certificate mappers - # "envoy.tls.certificate_mappers.static_name": "//source/extensions/transport_sockets/tls/cert_mappers/static_name:config", - # "envoy.tls.certificate_mappers.sni": "//source/extensions/transport_sockets/tls/cert_mappers/sni:config", + # "envoy.tls.certificate_mappers.sni": "//source/extensions/transport_sockets/tls/cert_mappers/sni:config", + + # "envoy.tls.certificate_mappers.static_name": "//source/extensions/transport_sockets/tls/cert_mappers/static_name:config", + + # "envoy.tls.upstream_certificate_mappers.filter_state_override": "//source/extensions/transport_sockets/tls/cert_mappers/filter_state_override:config", + # Local address selectors # "envoy.upstream.local_address_selector.filter_state_override": "//source/extensions/local_address_selectors/filter_state_override:config", + } # These can be changed to ["//visibility:public"], for downstream builds which @@ -621,9 +846,7 @@ EXTENSIONS = { EXTENSION_CONFIG_VISIBILITY = ["//visibility:public"] EXTENSION_PACKAGE_VISIBILITY = ["//visibility:public"] CONTRIB_EXTENSION_PACKAGE_VISIBILITY = ["//visibility:public"] - -# We don't want to build for mobile, so just make the visibility private. -MOBILE_PACKAGE_VISIBILITY = ["//:mobile_library"] +MOBILE_PACKAGE_VISIBILITY = ["//visibility:public"] # Set this variable to true to disable alwayslink for envoy_cc_library. # TODO(alyssawilk) audit uses of this in source/ and migrate all libraries to extensions. diff --git a/patches/0001-network-Add-callback-for-upstream-authorization.patch b/patches/0001-network-Add-callback-for-upstream-authorization.patch index 3b9f55557..18b911ee3 100644 --- a/patches/0001-network-Add-callback-for-upstream-authorization.patch +++ b/patches/0001-network-Add-callback-for-upstream-authorization.patch @@ -1,4 +1,4 @@ -From 27e683eb4e7acd3fae4a9bdf746ba8d2ba2c9f95 Mon Sep 17 00:00:00 2001 +From 1c0419f207d59b764dca10e7f127efa3390d84f2 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Mon, 5 May 2025 11:15:52 +1000 Subject: [PATCH 1/7] network: Add callback for upstream authorization @@ -29,7 +29,7 @@ Signed-off-by: Jarno Rajahalme envoy/tcp/upstream.h | 5 ++++ source/common/http/async_client_impl.h | 5 ++++ source/common/http/conn_manager_impl.h | 6 ++++ - source/common/http/filter_manager.cc | 6 ++++ + source/common/http/filter_manager.cc | 5 ++++ source/common/http/filter_manager.h | 8 ++++++ source/common/network/filter_manager_impl.h | 21 ++++++++++++++ source/common/router/router.cc | 8 ++++++ @@ -39,14 +39,14 @@ Signed-off-by: Jarno Rajahalme source/common/tcp_proxy/upstream.cc | 8 ++++++ source/common/tcp_proxy/upstream.h | 2 ++ .../default_api_listener/api_listener_impl.h | 3 ++ - 15 files changed, 125 insertions(+) + 15 files changed, 124 insertions(+) diff --git a/envoy/http/filter.h b/envoy/http/filter.h -index ff9e6e59e7..05c497c9de 100644 +index ef4d2aa7..90aab6b6 100644 --- a/envoy/http/filter.h +++ b/envoy/http/filter.h -@@ -837,6 +837,14 @@ public: - virtual absl::optional +@@ -858,6 +858,14 @@ public: + virtual OptRef upstreamOverrideHost() const PURE; + /** @@ -61,10 +61,10 @@ index ff9e6e59e7..05c497c9de 100644 * @return true if the filter should shed load based on the system pressure, typically memory. */ diff --git a/envoy/network/filter.h b/envoy/network/filter.h -index 48d4909821..a91858a16c 100644 +index a863eae8..75289a9a 100644 --- a/envoy/network/filter.h +++ b/envoy/network/filter.h -@@ -148,6 +148,22 @@ public: +@@ -161,6 +161,22 @@ public: using WriteFilterSharedPtr = std::shared_ptr; @@ -87,7 +87,7 @@ index 48d4909821..a91858a16c 100644 /** * Callbacks used by individual read filter instances to communicate with the filter manager. */ -@@ -207,6 +223,18 @@ public: +@@ -220,6 +236,18 @@ public: */ virtual bool startUpstreamSecureTransport() PURE; @@ -107,7 +107,7 @@ index 48d4909821..a91858a16c 100644 * Control the filter close status for read filters. * diff --git a/envoy/tcp/upstream.h b/envoy/tcp/upstream.h -index fb8facfe63..2f19b5dfa9 100644 +index 78ba8b8c..1daa0e1f 100644 --- a/envoy/tcp/upstream.h +++ b/envoy/tcp/upstream.h @@ -84,6 +84,11 @@ public: @@ -123,10 +123,10 @@ index fb8facfe63..2f19b5dfa9 100644 // An API for the UpstreamRequest to get callbacks from either an HTTP or TCP diff --git a/source/common/http/async_client_impl.h b/source/common/http/async_client_impl.h -index a41d370544..982af7ecd1 100644 +index f73c462c..7bf49e95 100644 --- a/source/common/http/async_client_impl.h +++ b/source/common/http/async_client_impl.h -@@ -285,6 +285,11 @@ private: +@@ -293,6 +293,11 @@ private: ResponseHeaderMapOptRef responseHeaders() override { return {}; } ResponseTrailerMapOptRef responseTrailers() override { return {}; } @@ -139,10 +139,10 @@ index a41d370544..982af7ecd1 100644 void dumpState(std::ostream& os, int indent_level) const override { const char* spaces = spacesForLevel(indent_level); diff --git a/source/common/http/conn_manager_impl.h b/source/common/http/conn_manager_impl.h -index 5e783b97e1..7f5d20500e 100644 +index 0077c748..65fc1779 100644 --- a/source/common/http/conn_manager_impl.h +++ b/source/common/http/conn_manager_impl.h -@@ -330,6 +330,12 @@ private: +@@ -336,6 +336,12 @@ private: } absl::optional routeConfig(); @@ -156,35 +156,34 @@ index 5e783b97e1..7f5d20500e 100644 // Updates the snapped_route_config_ (by reselecting scoped route configuration), if a scope is diff --git a/source/common/http/filter_manager.cc b/source/common/http/filter_manager.cc -index 4e55f0b05e..c1021de7cb 100644 +index 67b746f4..20dccfbc 100644 --- a/source/common/http/filter_manager.cc +++ b/source/common/http/filter_manager.cc -@@ -1995,5 +1995,11 @@ ActiveStreamDecoderFilter::upstreamOverrideHost() const { - parent_.upstream_override_host_.second}; +@@ -2009,5 +2009,10 @@ ActiveStreamDecoderFilter::upstreamOverrideHost() const { + return parent_.upstream_override_host_; } +bool ActiveStreamDecoderFilter::iterateUpstreamCallbacks(Upstream::HostDescriptionConstSharedPtr host, + StreamInfo::StreamInfo& stream_info) { + return parent_.filter_manager_callbacks_.iterateUpstreamCallbacks(host, stream_info); -+ +} + } // namespace Http } // namespace Envoy diff --git a/source/common/http/filter_manager.h b/source/common/http/filter_manager.h -index 5472bf001b..1db1b814f6 100644 +index a8670d67..93f796ba 100644 --- a/source/common/http/filter_manager.h +++ b/source/common/http/filter_manager.h -@@ -300,6 +300,8 @@ struct ActiveStreamDecoderFilter : public ActiveStreamFilterBase, +@@ -303,6 +303,8 @@ struct ActiveStreamDecoderFilter : public ActiveStreamFilterBase, void setUpstreamOverrideHost(Upstream::LoadBalancerContext::OverrideHost) override; - absl::optional upstreamOverrideHost() const override; + OptRef upstreamOverrideHost() const override; bool shouldLoadShed() const override; + bool iterateUpstreamCallbacks(Upstream::HostDescriptionConstSharedPtr host, + StreamInfo::StreamInfo& stream_info) override; void sendGoAwayAndClose(bool graceful = false) override; - + // Each decoder filter instance checks if the request passed to the filter is gRPC -@@ -583,6 +585,12 @@ public: +@@ -592,6 +594,12 @@ public: * This is used for HTTP/1.1 codec. */ virtual bool isHalfCloseEnabled() PURE; @@ -198,10 +197,10 @@ index 5472bf001b..1db1b814f6 100644 /** diff --git a/source/common/network/filter_manager_impl.h b/source/common/network/filter_manager_impl.h -index 6453048610..d4132a33ca 100644 +index fff3f2ee..6dc2f867 100644 --- a/source/common/network/filter_manager_impl.h +++ b/source/common/network/filter_manager_impl.h -@@ -156,6 +156,13 @@ private: +@@ -172,6 +172,13 @@ private: parent_.host_description_ = host; } bool startUpstreamSecureTransport() override { return parent_.startUpstreamSecureTransport(); } @@ -215,7 +214,7 @@ index 6453048610..d4132a33ca 100644 FilterManagerImpl& parent_; ReadFilterSharedPtr filter_; -@@ -190,6 +197,20 @@ private: +@@ -213,6 +220,20 @@ private: FilterStatus onWrite(ActiveWriteFilter* filter, WriteBufferSource& buffer_source); void onResumeWriting(ActiveWriteFilter* filter, WriteBufferSource& buffer_source); @@ -237,10 +236,10 @@ index 6453048610..d4132a33ca 100644 const ConnectionSocket& socket_; Upstream::HostDescriptionConstSharedPtr host_description_; diff --git a/source/common/router/router.cc b/source/common/router/router.cc -index 076a5116bd..40fa03786b 100644 +index cb61c97f..e8d185fb 100644 --- a/source/common/router/router.cc +++ b/source/common/router/router.cc -@@ -780,6 +780,14 @@ bool Filter::continueDecodeHeaders(Upstream::ThreadLocalCluster* cluster, +@@ -810,6 +810,14 @@ bool Filter::continueDecodeHeaders(Upstream::ThreadLocalCluster* cluster, return false; } @@ -256,10 +255,10 @@ index 076a5116bd..40fa03786b 100644 const Http::HeaderEntry* header_max_stream_duration_entry = headers.EnvoyUpstreamStreamDurationMs(); diff --git a/source/common/router/upstream_request.h b/source/common/router/upstream_request.h -index 7144b51a9d..fc46921952 100644 +index 8b095cd7..cecdacb7 100644 --- a/source/common/router/upstream_request.h +++ b/source/common/router/upstream_request.h -@@ -354,6 +354,11 @@ public: +@@ -355,6 +355,11 @@ public: } OptRef upstreamCallbacks() override { return {*this}; } @@ -272,10 +271,10 @@ index 7144b51a9d..fc46921952 100644 StreamInfo::StreamInfo& upstreamStreamInfo() override { return upstream_request_.streamInfo(); } OptRef upstream() override { diff --git a/source/common/tcp_proxy/tcp_proxy.cc b/source/common/tcp_proxy/tcp_proxy.cc -index eb78400afb..b2d4d109cd 100644 +index 9b4597b1..67669507 100644 --- a/source/common/tcp_proxy/tcp_proxy.cc +++ b/source/common/tcp_proxy/tcp_proxy.cc -@@ -773,6 +773,13 @@ bool Filter::maybeTunnel(Upstream::ThreadLocalCluster& cluster) { +@@ -838,6 +838,13 @@ bool Filter::maybeTunnel(Upstream::ThreadLocalCluster& cluster) { upstream_decoder_filter_callbacks_, getStreamInfo()); } if (generic_conn_pool_) { @@ -290,11 +289,11 @@ index eb78400afb..b2d4d109cd 100644 connect_attempts_++; getStreamInfo().setAttemptCount(connect_attempts_); diff --git a/source/common/tcp_proxy/tcp_proxy.h b/source/common/tcp_proxy/tcp_proxy.h -index 0d10513638..3a83ed6eba 100644 +index f6c82791..3b8267cd 100644 --- a/source/common/tcp_proxy/tcp_proxy.h +++ b/source/common/tcp_proxy/tcp_proxy.h -@@ -608,6 +608,10 @@ public: - return absl::nullopt; +@@ -624,6 +624,10 @@ public: + return {}; } bool shouldLoadShed() const override { return false; } + bool iterateUpstreamCallbacks(Upstream::HostDescriptionConstSharedPtr host, @@ -304,7 +303,7 @@ index 0d10513638..3a83ed6eba 100644 void restoreContextOnContinue(ScopeTrackedObjectStack& tracked_object_stack) override { tracked_object_stack.add(*this); } -@@ -651,6 +655,7 @@ protected: +@@ -667,6 +671,7 @@ protected: NoHealthyUpstream, ResourceLimitExceeded, NoRoute, @@ -313,10 +312,10 @@ index 0d10513638..3a83ed6eba 100644 // Callbacks for different error and success states during connection establishment diff --git a/source/common/tcp_proxy/upstream.cc b/source/common/tcp_proxy/upstream.cc -index 58012be58f..578dc08927 100644 +index ba48851e..0fb7be95 100644 --- a/source/common/tcp_proxy/upstream.cc +++ b/source/common/tcp_proxy/upstream.cc -@@ -297,6 +297,10 @@ void TcpConnPool::newStream(GenericConnectionPoolCallbacks& callbacks) { +@@ -341,6 +341,10 @@ void TcpConnPool::newStream(GenericConnectionPoolCallbacks& callbacks) { } } @@ -327,7 +326,7 @@ index 58012be58f..578dc08927 100644 void TcpConnPool::onPoolFailure(ConnectionPool::PoolFailureReason reason, absl::string_view failure_reason, Upstream::HostDescriptionConstSharedPtr host) { -@@ -403,6 +407,10 @@ void HttpConnPool::newStream(GenericConnectionPoolCallbacks& callbacks) { +@@ -447,6 +451,10 @@ void HttpConnPool::newStream(GenericConnectionPoolCallbacks& callbacks) { } } @@ -339,7 +338,7 @@ index 58012be58f..578dc08927 100644 absl::string_view failure_reason, Upstream::HostDescriptionConstSharedPtr host) { diff --git a/source/common/tcp_proxy/upstream.h b/source/common/tcp_proxy/upstream.h -index 2fdf1bd373..9f1a0af392 100644 +index a9b05aaf..53cccdaa 100644 --- a/source/common/tcp_proxy/upstream.h +++ b/source/common/tcp_proxy/upstream.h @@ -41,6 +41,7 @@ public: @@ -359,7 +358,7 @@ index 2fdf1bd373..9f1a0af392 100644 // Http::ConnectionPool::Callbacks, void onPoolFailure(ConnectionPool::PoolFailureReason reason, diff --git a/source/extensions/api_listeners/default_api_listener/api_listener_impl.h b/source/extensions/api_listeners/default_api_listener/api_listener_impl.h -index e6053dd0c2..0eeec9616f 100644 +index 918016a2..94ffa509 100644 --- a/source/extensions/api_listeners/default_api_listener/api_listener_impl.h +++ b/source/extensions/api_listeners/default_api_listener/api_listener_impl.h @@ -81,6 +81,9 @@ protected: @@ -373,5 +372,5 @@ index e6053dd0c2..0eeec9616f 100644 // Synthetic class that acts as a stub for the connection backing the // Network::ReadFilterCallbacks. -- -2.43.0 +2.54.0 diff --git a/patches/0002-listener-add-socket-options.patch b/patches/0002-listener-add-socket-options.patch index 24dd0aa10..2d0c6dcc1 100644 --- a/patches/0002-listener-add-socket-options.patch +++ b/patches/0002-listener-add-socket-options.patch @@ -1,4 +1,4 @@ -From 99208ff3152522cef2125815450e4bda12fab9ee Mon Sep 17 00:00:00 2001 +From b25eed7816bed2a99a5d9b6a29b89cf532081025 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Mon, 14 Aug 2023 10:01:21 +0300 Subject: [PATCH 2/7] listener: add socket options @@ -15,7 +15,7 @@ Signed-off-by: Jarno Rajahalme 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/envoy/server/factory_context.h b/envoy/server/factory_context.h -index ee9fa05618..d6b8c7e097 100644 +index ee9fa056..d6b8c7e0 100644 --- a/envoy/server/factory_context.h +++ b/envoy/server/factory_context.h @@ -341,7 +341,13 @@ public: @@ -34,10 +34,10 @@ index ee9fa05618..d6b8c7e097 100644 /** * FactoryContext for ProtocolOptionsFactory. diff --git a/source/common/listener_manager/listener_impl.cc b/source/common/listener_manager/listener_impl.cc -index 2f8232a7a8..7008d08096 100644 +index 8883d241..74f42afe 100644 --- a/source/common/listener_manager/listener_impl.cc +++ b/source/common/listener_manager/listener_impl.cc -@@ -954,6 +954,9 @@ Configuration::ServerFactoryContext& PerListenerFactoryContextImpl::serverFactor +@@ -1007,6 +1007,9 @@ Configuration::ServerFactoryContext& PerListenerFactoryContextImpl::serverFactor Stats::Scope& PerListenerFactoryContextImpl::listenerScope() { return listener_factory_context_base_->listenerScope(); } @@ -48,10 +48,10 @@ index 2f8232a7a8..7008d08096 100644 bool ListenerImpl::createNetworkFilterChain( diff --git a/source/common/listener_manager/listener_impl.h b/source/common/listener_manager/listener_impl.h -index 746043f3e0..42b19ecdf3 100644 +index 416728bd..757886c2 100644 --- a/source/common/listener_manager/listener_impl.h +++ b/source/common/listener_manager/listener_impl.h -@@ -185,6 +185,8 @@ public: +@@ -187,6 +187,8 @@ public: Stats::Scope& listenerScope() override; @@ -60,7 +60,7 @@ index 746043f3e0..42b19ecdf3 100644 ListenerFactoryContextBaseImpl& parentFactoryContext() { return *listener_factory_context_base_; } friend class ListenerImpl; -@@ -332,6 +334,13 @@ public: +@@ -337,6 +339,13 @@ public: return listener_factory_context_->listener_factory_context_base_->listener_info_; } @@ -75,10 +75,10 @@ index 746043f3e0..42b19ecdf3 100644 if (options == nullptr) { options = std::make_shared>(); diff --git a/test/mocks/server/factory_context.h b/test/mocks/server/factory_context.h -index 9dec1cb0da..605ccf6c78 100644 +index 9fe92ab4..e36fdff5 100644 --- a/test/mocks/server/factory_context.h +++ b/test/mocks/server/factory_context.h -@@ -30,6 +30,7 @@ public: +@@ -31,6 +31,7 @@ public: MOCK_METHOD(const Network::DrainDecision&, drainDecision, ()); MOCK_METHOD(Stats::Scope&, listenerScope, ()); MOCK_METHOD(const Network::ListenerInfo&, listenerInfo, (), (const)); @@ -87,10 +87,10 @@ index 9dec1cb0da..605ccf6c78 100644 testing::NiceMock server_factory_context_; testing::NiceMock init_manager_; diff --git a/test/mocks/server/listener_factory_context.h b/test/mocks/server/listener_factory_context.h -index dfdb937433..f78dcb90a5 100644 +index 8b2de57e..1fd30eaf 100644 --- a/test/mocks/server/listener_factory_context.h +++ b/test/mocks/server/listener_factory_context.h -@@ -21,6 +21,7 @@ public: +@@ -22,6 +22,7 @@ public: MockListenerFactoryContext(); ~MockListenerFactoryContext() override; @@ -99,5 +99,5 @@ index dfdb937433..f78dcb90a5 100644 MOCK_METHOD(const Network::DrainDecision&, drainDecision, ()); MOCK_METHOD(Init::Manager&, initManager, ()); -- -2.43.0 +2.54.0 diff --git a/patches/0003-original_dst_cluster-Avoid-multiple-hosts-for-the-sa.patch b/patches/0003-original_dst_cluster-Avoid-multiple-hosts-for-the-sa.patch index e07377caa..670095537 100644 --- a/patches/0003-original_dst_cluster-Avoid-multiple-hosts-for-the-sa.patch +++ b/patches/0003-original_dst_cluster-Avoid-multiple-hosts-for-the-sa.patch @@ -1,4 +1,4 @@ -From 8c6ca69f1bdbc6697216e1831659da33c95282b9 Mon Sep 17 00:00:00 2001 +From 435f56e14770f787d97b91c568b93eecb9206056 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Fri, 24 May 2024 18:27:28 +0200 Subject: [PATCH 3/7] original_dst_cluster: Avoid multiple hosts for the same @@ -25,12 +25,12 @@ map updates. Signed-off-by: Jarno Rajahalme --- - .../original_dst/original_dst_cluster.cc | 261 +++++++++++------- + .../original_dst/original_dst_cluster.cc | 259 +++++++++++------- .../original_dst/original_dst_cluster.h | 47 ++-- - 2 files changed, 192 insertions(+), 116 deletions(-) + 2 files changed, 191 insertions(+), 115 deletions(-) diff --git a/source/extensions/clusters/original_dst/original_dst_cluster.cc b/source/extensions/clusters/original_dst/original_dst_cluster.cc -index 2536292562..eb2d9a30ad 100644 +index 25362925..c8063ed8 100644 --- a/source/extensions/clusters/original_dst/original_dst_cluster.cc +++ b/source/extensions/clusters/original_dst/original_dst_cluster.cc @@ -29,6 +29,19 @@ OriginalDstClusterHandle::~OriginalDstClusterHandle() { @@ -127,9 +127,6 @@ index 2536292562..eb2d9a30ad 100644 - // The first worker that creates a host for the address defines the primary - // host structure. - new_host_map->emplace(address, std::make_shared(host)); -- } -- ENVOY_LOG(debug, "addHost() adding {} {}.", *host, address); -- setHostMap(new_host_map); +// getHost returns the host for the address. A new host is created when needed. +// Called from the worker threads. +// When multiple worker threads call this at the same time the updates of the @@ -147,7 +144,9 @@ index 2536292562..eb2d9a30ad 100644 + if (dst_ip == nullptr) { + ENVOY_LOG(debug, "Cannot create host for non-IP address {}.", address); + return nullptr; -+ } + } +- ENVOY_LOG(debug, "addHost() adding {} {}.", *host, address); +- setHostMap(new_host_map); + + // Scope the lock for reading the host_map_ + { @@ -356,7 +355,7 @@ index 2536292562..eb2d9a30ad 100644 cleanup_timer_->enableTimer(cleanup_interval_ms_); diff --git a/source/extensions/clusters/original_dst/original_dst_cluster.h b/source/extensions/clusters/original_dst/original_dst_cluster.h -index 55905560bd..3152af8664 100644 +index 55905560..3152af86 100644 --- a/source/extensions/clusters/original_dst/original_dst_cluster.h +++ b/source/extensions/clusters/original_dst/original_dst_cluster.h @@ -22,25 +22,21 @@ namespace Upstream { @@ -454,5 +453,5 @@ index 55905560bd..3152af8664 100644 absl::optional metadata_key_; absl::optional port_override_; -- -2.43.0 +2.54.0 diff --git a/patches/0004-thread_local-reset-slot-in-worker-threads-first.patch b/patches/0004-thread_local-reset-slot-in-worker-threads-first.patch index ce9e638b6..8465b6a6c 100644 --- a/patches/0004-thread_local-reset-slot-in-worker-threads-first.patch +++ b/patches/0004-thread_local-reset-slot-in-worker-threads-first.patch @@ -1,4 +1,4 @@ -From 7138d8e50ccfce757d080debd90f5f5dcfc57f40 Mon Sep 17 00:00:00 2001 +From 2c201ef341cf0090b5bf2507351c923fd7d37173 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Mon, 23 Dec 2024 22:43:15 +0100 Subject: [PATCH 4/7] thread_local: reset slot in worker threads first @@ -18,7 +18,7 @@ Signed-off-by: Jarno Rajahalme 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/envoy/thread_local/thread_local.h b/envoy/thread_local/thread_local.h -index 13ff7496ff..da982ccea5 100644 +index 13ff7496..da982cce 100644 --- a/envoy/thread_local/thread_local.h +++ b/envoy/thread_local/thread_local.h @@ -248,6 +248,13 @@ public: @@ -36,7 +36,7 @@ index 13ff7496ff..da982ccea5 100644 } // namespace ThreadLocal diff --git a/source/common/thread_local/thread_local_impl.cc b/source/common/thread_local/thread_local_impl.cc -index 2a49789a09..e57b2fd70d 100644 +index 2a49789a..e57b2fd7 100644 --- a/source/common/thread_local/thread_local_impl.cc +++ b/source/common/thread_local/thread_local_impl.cc @@ -165,7 +165,8 @@ void InstanceImpl::removeSlot(uint32_t slot) { @@ -87,7 +87,7 @@ index 2a49789a09..e57b2fd70d 100644 if (thread_local_data_.data_.size() <= index) { thread_local_data_.data_.resize(index + 1); diff --git a/source/common/thread_local/thread_local_impl.h b/source/common/thread_local/thread_local_impl.h -index 719418991e..685457afe5 100644 +index 71941899..685457af 100644 --- a/source/common/thread_local/thread_local_impl.h +++ b/source/common/thread_local/thread_local_impl.h @@ -29,6 +29,7 @@ public: @@ -99,7 +99,7 @@ index 719418991e..685457afe5 100644 private: // On destruction returns the slot index to the deferred delete queue (detaches it). This allows diff --git a/test/mocks/thread_local/mocks.h b/test/mocks/thread_local/mocks.h -index 09dff23777..88d7cea1a9 100644 +index 09dff237..88d7cea1 100644 --- a/test/mocks/thread_local/mocks.h +++ b/test/mocks/thread_local/mocks.h @@ -27,6 +27,10 @@ public: @@ -114,5 +114,5 @@ index 09dff23777..88d7cea1a9 100644 SlotPtr allocateSlotMock() { return SlotPtr{new SlotImpl(*this, current_slot_++)}; } void runOnAllThreads1(std::function cb) { cb(); } -- -2.43.0 +2.54.0 diff --git a/patches/0005-http-header-expose-attribute.patch b/patches/0005-http-header-expose-attribute.patch index 281c6098d..0e316db87 100644 --- a/patches/0005-http-header-expose-attribute.patch +++ b/patches/0005-http-header-expose-attribute.patch @@ -1,4 +1,4 @@ -From 4587532cfc962d2a22854bc7c45bad9517708ea0 Mon Sep 17 00:00:00 2001 +From 3266c2e33a7f93ad72570c65ad592dee2e8470b0 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Wed, 19 Mar 2025 21:07:05 +1100 Subject: [PATCH 5/7] Expose HTTP Header matcher attribute @@ -9,7 +9,7 @@ Signed-off-by: Tam Mach 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/source/common/http/header_utility.h b/source/common/http/header_utility.h -index 095cb4a191..0577910a35 100644 +index 095cb4a1..0577910a 100644 --- a/source/common/http/header_utility.h +++ b/source/common/http/header_utility.h @@ -96,7 +96,6 @@ public: @@ -140,5 +140,5 @@ index 095cb4a191..0577910a35 100644 using HeaderDataPtr = std::unique_ptr; -- -2.43.0 +2.54.0 diff --git a/patches/0006-test-integration-Defer-fake-upstream-read-enable-un.patch b/patches/0006-test-integration-Defer-fake-upstream-read-enable-un.patch index 449ae4380..8f94f6673 100644 --- a/patches/0006-test-integration-Defer-fake-upstream-read-enable-un.patch +++ b/patches/0006-test-integration-Defer-fake-upstream-read-enable-un.patch @@ -1,7 +1,19 @@ +From 1d2c987eee776d0a0ac1df6724edf02d9bb4da3a Mon Sep 17 00:00:00 2001 +From: Tam Mach +Date: Sat, 23 May 2026 22:46:20 +1000 +Subject: [PATCH 6/7] test/integration: Defer fake upstream read enable until + upstream is ready + +--- + test/integration/fake_upstream.cc | 26 ++++++++++++++++++++------ + test/integration/fake_upstream.h | 5 ++++- + 2 files changed, 24 insertions(+), 7 deletions(-) + diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream.cc +index 72ec3fec..834b019e 100644 --- a/test/integration/fake_upstream.cc +++ b/test/integration/fake_upstream.cc -@@ -436,6 +436,16 @@ +@@ -437,6 +437,16 @@ FakeHttpConnection::FakeHttpConnection( Network::ReadFilterSharedPtr{new ReadFilter(*this)}); } @@ -18,7 +30,7 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. AssertionResult FakeConnectionBase::close(std::chrono::milliseconds timeout) { ENVOY_LOG(trace, "FakeConnectionBase close"); if (!shared_connection_.connected()) { -@@ -749,7 +756,8 @@ +@@ -750,7 +760,8 @@ bool FakeUpstream::createNetworkFilterChain(Network::Connection& connection, // not lazily create for HTTP/3 if (http_type_ == Http::CodecType::HTTP3) { quic_connections_.push_back(std::make_unique( @@ -28,7 +40,7 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. config_.max_request_headers_count_, config_.headers_with_underscores_action_)); quic_connections_.back()->initialize(); } -@@ -820,7 +828,8 @@ +@@ -821,7 +832,8 @@ AssertionResult FakeUpstream::waitForHttpConnection(Event::Dispatcher& client_di return runOnDispatcherThreadAndWait([&]() { absl::MutexLock lock(lock_); connection = std::make_unique( @@ -38,7 +50,7 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. config_.max_request_headers_count_, config_.headers_with_underscores_action_); connection->initialize(); return AssertionSuccess(); -@@ -857,7 +866,8 @@ +@@ -858,7 +870,8 @@ FakeUpstream::waitForHttpConnection(Event::Dispatcher& client_dispatcher, EXPECT_TRUE(upstream.runOnDispatcherThreadAndWait([&]() { absl::MutexLock lock(upstream.lock_); connection = std::make_unique( @@ -48,7 +60,7 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. Http::DEFAULT_MAX_REQUEST_HEADERS_KB, Http::DEFAULT_MAX_HEADERS_COUNT, envoy::config::core::v3::HttpProtocolOptions::ALLOW); connection->initialize(); -@@ -920,7 +930,7 @@ +@@ -929,7 +942,7 @@ void FakeUpstream::convertFromRawToHttp(FakeRawConnectionPtr& raw_connection, raw_connection.release(); } @@ -57,7 +69,7 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. ASSERT(!new_connections_.empty()); auto* const connection_wrapper = new_connections_.front().get(); // Skip the thread safety check if the network connection has already been freed since there's no -@@ -930,10 +940,11 @@ +@@ -939,10 +952,11 @@ SharedConnectionWrapper& FakeUpstream::consumeConnection() { connection_wrapper->moveBetweenLists(new_connections_, consumed_connections_); if (read_disable_on_new_connection_ && connection_wrapper->connected() && http_type_ != Http::CodecType::HTTP3 && !disable_and_do_not_enable_) { @@ -72,9 +84,10 @@ diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream. return *connection_wrapper; } diff --git a/test/integration/fake_upstream.h b/test/integration/fake_upstream.h +index 277189bd..c5e7314b 100644 --- a/test/integration/fake_upstream.h +++ b/test/integration/fake_upstream.h -@@ -547,6 +547,8 @@ +@@ -547,6 +547,8 @@ public: envoy::config::core::v3::HttpProtocolOptions::HeadersWithUnderscoresAction headers_with_underscores_action); @@ -83,7 +96,7 @@ diff --git a/test/integration/fake_upstream.h b/test/integration/fake_upstream.h ABSL_MUST_USE_RESULT testing::AssertionResult waitForNewStream(Event::Dispatcher& client_dispatcher, FakeStreamPtr& stream, -@@ -998,7 +1000,8 @@ +@@ -1002,7 +1004,8 @@ private: }; void threadRoutine(); @@ -93,3 +106,6 @@ diff --git a/test/integration/fake_upstream.h b/test/integration/fake_upstream.h Network::FilterStatus onRecvDatagram(Network::UdpRecvData& data); AssertionResult runOnDispatcherThreadAndWait(std::function cb, +-- +2.54.0 + diff --git a/patches/0008-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch b/patches/0007-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch similarity index 94% rename from patches/0008-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch rename to patches/0007-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch index de006961d..85be2c369 100644 --- a/patches/0008-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch +++ b/patches/0007-repo-Make-yq-dependency-optional-for-CI-config-parsi.patch @@ -1,7 +1,7 @@ -From af2053dc1e3892a9f28d6eebf7f907c3d83ce536 Mon Sep 17 00:00:00 2001 +From f9b8bf87aa135f2f3a8138bf08b04b16e482e222 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Sat, 14 Mar 2026 21:00:53 +1100 -Subject: [PATCH] repo: Make yq dependency optional for CI config parsing +Subject: [PATCH 7/7] repo: Make yq dependency optional for CI config parsing When yq is unavailable (e.g. in WORKSPACE mode due to aspect_bazel_lib hub repo symlink issues), fall back to placeholder container image @@ -14,7 +14,7 @@ Signed-off-by: Tam Mach 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/bazel/repo.bzl b/bazel/repo.bzl -index 561c99b71c..a96fcd3757 100644 +index 561c99b7..a96fcd37 100644 --- a/bazel/repo.bzl +++ b/bazel/repo.bzl @@ -66,24 +66,36 @@ def _envoy_repo_impl(repository_ctx): @@ -68,5 +68,5 @@ index 561c99b71c..a96fcd3757 100644 api_version_path = repository_ctx.path(repository_ctx.attr.envoy_api_version) version = repository_ctx.read(repo_version_path).strip() -- -2.43.0 +2.54.0 From b6f6f6a4d0ce9b4b2d7c2197a486d71db61208f6 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Sun, 24 May 2026 10:57:13 +1000 Subject: [PATCH 2/4] cilium: Adjust cilium related filter Signed-off-by: Tam Mach --- cilium/BUILD | 4 ++-- cilium/grpc_subscription.cc | 1 + tests/cilium_network_policy_test.cc | 16 +++++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/cilium/BUILD b/cilium/BUILD index ca9e1269e..cc2fac167 100644 --- a/cilium/BUILD +++ b/cilium/BUILD @@ -111,7 +111,7 @@ envoy_cc_library( ], repository = "@envoy", deps = [ - "@com_google_absl//absl/strings", + "@abseil-cpp//absl/strings", "@envoy//envoy/network:connection_interface", "@envoy//source/common/config:type_to_endpoint_lib", "@envoy//source/extensions/config_subscription/grpc:grpc_subscription_lib", @@ -337,7 +337,7 @@ envoy_cc_library( "//cilium:socket_option_lib", "//cilium/api:bpf_metadata_cc_proto", "//cilium/api:nphds_cc_proto", - "@com_google_absl//absl/strings", + "@abseil-cpp//absl/strings", "@envoy//envoy/buffer:buffer_interface", "@envoy//envoy/config:subscription_interface", "@envoy//envoy/network:connection_interface", diff --git a/cilium/grpc_subscription.cc b/cilium/grpc_subscription.cc index d14ab2c96..1da6bc86e 100644 --- a/cilium/grpc_subscription.cc +++ b/cilium/grpc_subscription.cc @@ -165,6 +165,7 @@ subscribe(const absl::string_view type_url, /*target_xds_authority_=*/"", /*eds_resources_cache_=*/nullptr, // EDS cache is only used for ADS. /*skip_subsequent_node_=*/api_config_source.set_node_on_first_message_only(), + /*load_stats_reporter_factory_=*/nullptr, }; return std::make_unique( diff --git a/tests/cilium_network_policy_test.cc b/tests/cilium_network_policy_test.cc index b74055409..66165f099 100644 --- a/tests/cilium_network_policy_test.cc +++ b/tests/cilium_network_policy_test.cc @@ -54,6 +54,20 @@ extern const envoy::config::core::v3::ConfigSource CILIUM_XDS_API_CONFIG; return secret_provider; \ })) +#define ON_CALL_SDS_SECRET_PROVIDER_OPT_INIT(SECRET_MANAGER, PROVIDER_TYPE, API_TYPE) \ + ON_CALL(SECRET_MANAGER, findOrCreate##PROVIDER_TYPE##Provider(_, _, _, _)) \ + .WillByDefault(Invoke([](const envoy::config::core::v3::ConfigSource& sds_config_source, \ + const std::string& config_name, \ + Server::Configuration::ServerFactoryContext& server_context, \ + OptRef init_manager) { \ + auto secret_provider = Secret::API_TYPE##SdsApi::create( \ + server_context, sds_config_source, config_name, []() {}, false); \ + if (init_manager.has_value()) { \ + init_manager->add(*secret_provider->initTarget()); \ + } \ + return secret_provider; \ + })) + // TlsCertificateProvider has a different signature in envoy 1.37: // OptRef instead of Init::Manager&, plus bool warm. #define ON_CALL_SDS_TLS_CERTIFICATE_PROVIDER(SECRET_MANAGER, API_TYPE) \ @@ -89,7 +103,7 @@ class CiliumNetworkPolicyTest : public ::testing::Test { ON_CALL_SDS_SECRET_PROVIDER(secret_manager_, CertificateValidationContext, CertificateValidationContext); ON_CALL_SDS_SECRET_PROVIDER(secret_manager_, TlsSessionTicketKeysContext, TlsSessionTicketKeys); - ON_CALL_SDS_SECRET_PROVIDER(secret_manager_, GenericSecret, GenericSecret); + ON_CALL_SDS_SECRET_PROVIDER_OPT_INIT(secret_manager_, GenericSecret, GenericSecret); policy_map_ = std::make_shared(factory_context_, Cilium::CILIUM_XDS_API_CONFIG); From 16f7c84cb2483b1ddc4cdc635459db95c05fe3a0 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Sun, 24 May 2026 11:07:36 +1000 Subject: [PATCH 3/4] ci: Fix clang-format style for Envoy 1.38 Envoy 1.38's clang-format configuration requires: - Space before {} in aggregate initialization - Space before .field in validate.rules annotations Signed-off-by: Tam Mach --- .bazelignore | 1 + .gitignore | 1 + Makefile.dev | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .bazelignore diff --git a/.bazelignore b/.bazelignore new file mode 100644 index 000000000..16d3c4dbb --- /dev/null +++ b/.bazelignore @@ -0,0 +1 @@ +.cache diff --git a/.gitignore b/.gitignore index 1ed21c252..296d60629 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Dot files, disallow by default, and enable explicitly \.* +!/\.bazelignore !\.bazelrc !\.bazelversion !\.clangd diff --git a/Makefile.dev b/Makefile.dev index 6302902b9..ee25f16f0 100644 --- a/Makefile.dev +++ b/Makefile.dev @@ -42,7 +42,7 @@ veryclean: force-non-root clean precheck: force-non-root tools/check_repositories.sh -FORMAT_EXCLUDED_PREFIXES = "./linux/" "./proxylib/" "./starter/" "./vendor/" "./go/" "./envoy_build_config/" "./work/" "./bin/" +FORMAT_EXCLUDED_PREFIXES = "./linux/" "./proxylib/" "./starter/" "./vendor/" "./go/" "./envoy_build_config/" "./work/" "./bin/" "./.cache/" # The default set of sources assumes all relevant sources are dependecies of some tests! TIDY_SOURCES ?= $(shell bazel query 'kind("source file", deps(//tests/...))' 2>/dev/null | sed -n "s/\/\/cilium:/cilium\//p; s/\/\/tests:/tests\//p") From 7029cc271698d171354c6bf26ab940403e875ec8 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Sun, 24 May 2026 12:21:25 +1000 Subject: [PATCH 4/4] api: Update proto include paths for Envoy 1.38 Envoy 1.38 renamed external repositories: - com_github_cncf_xds -> xds - opentelemetry_proto -> opentelemetry-proto Update Makefile.api proto include paths accordingly and regenerate Go gRPC bindings. Signed-off-by: Tam Mach --- Makefile.api | 4 ++-- go/cilium/api/npds_grpc.pb.go | 2 +- go/cilium/api/nphds_grpc.pb.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.api b/Makefile.api index 42084c0a7..e034b2e52 100644 --- a/Makefile.api +++ b/Makefile.api @@ -24,9 +24,9 @@ PROTO_DEPS = \ -I bazel-proxy/external/com_google_protobuf/src \ -I bazel-proxy/external/com_google_googleapis \ -I bazel-proxy/external/com_envoyproxy_protoc_gen_validate \ - -I bazel-proxy/external/opentelemetry_proto \ + -I bazel-proxy/external/opentelemetry-proto \ -I bazel-proxy/external/prometheus_metrics_model \ - -I bazel-proxy/external/com_github_cncf_xds \ + -I bazel-proxy/external/xds \ -I bazel-proxy/external/dev_cel/proto GO_OUT = go diff --git a/go/cilium/api/npds_grpc.pb.go b/go/cilium/api/npds_grpc.pb.go index 5259d3bed..e2a51d9ab 100644 --- a/go/cilium/api/npds_grpc.pb.go +++ b/go/cilium/api/npds_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.1 +// - protoc-gen-go-grpc v1.6.2 // - protoc v6.33.2 // source: cilium/api/npds.proto diff --git a/go/cilium/api/nphds_grpc.pb.go b/go/cilium/api/nphds_grpc.pb.go index cdd10021d..144a3a815 100644 --- a/go/cilium/api/nphds_grpc.pb.go +++ b/go/cilium/api/nphds_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.1 +// - protoc-gen-go-grpc v1.6.2 // - protoc v6.33.2 // source: cilium/api/nphds.proto