From 1c098b538cd60d3bc70b62cd2604537eed3f0269 Mon Sep 17 00:00:00 2001 From: MauroFab Date: Thu, 20 Mar 2025 16:05:35 -0300 Subject: [PATCH 1/9] Remove unused operator libs --- Makefile | 52 +- operator/pkg/operator.go | 16 - operator/risc_zero_old/.gitignore | 2 - operator/risc_zero_old/lib/Cargo.lock | 1796 ------ operator/risc_zero_old/lib/Cargo.toml | 13 - operator/risc_zero_old/lib/risc_zero.h | 4 - operator/risc_zero_old/lib/rust-toolchain | 2 - operator/risc_zero_old/lib/src/lib.rs | 133 - operator/risc_zero_old/risc_zero_old.go | 52 - operator/risc_zero_old/risc_zero_old_test.go | 29 - operator/sp1_old/.gitignore | 2 - operator/sp1_old/lib/Cargo.lock | 5919 ------------------ operator/sp1_old/lib/Cargo.toml | 13 - operator/sp1_old/lib/rust-toolchain | 3 - operator/sp1_old/lib/sp1.h | 5 - operator/sp1_old/lib/src/lib.rs | 84 - operator/sp1_old/sp1_old.go | 44 - operator/sp1_old/sp1_old_test.go | 29 - 18 files changed, 2 insertions(+), 8196 deletions(-) delete mode 100644 operator/risc_zero_old/.gitignore delete mode 100644 operator/risc_zero_old/lib/Cargo.lock delete mode 100644 operator/risc_zero_old/lib/Cargo.toml delete mode 100644 operator/risc_zero_old/lib/risc_zero.h delete mode 100644 operator/risc_zero_old/lib/rust-toolchain delete mode 100644 operator/risc_zero_old/lib/src/lib.rs delete mode 100644 operator/risc_zero_old/risc_zero_old.go delete mode 100644 operator/risc_zero_old/risc_zero_old_test.go delete mode 100644 operator/sp1_old/.gitignore delete mode 100644 operator/sp1_old/lib/Cargo.lock delete mode 100644 operator/sp1_old/lib/Cargo.toml delete mode 100644 operator/sp1_old/lib/rust-toolchain delete mode 100644 operator/sp1_old/lib/sp1.h delete mode 100644 operator/sp1_old/lib/src/lib.rs delete mode 100644 operator/sp1_old/sp1_old.go delete mode 100644 operator/sp1_old/sp1_old_test.go diff --git a/Makefile b/Makefile index 2042d6ad50..81ee20d07a 100644 --- a/Makefile +++ b/Makefile @@ -20,8 +20,8 @@ ifeq ($(OS),Darwin) endif ifeq ($(OS),Linux) - export LD_LIBRARY_PATH+=$(CURDIR)/operator/risc_zero_old/lib:$(CURDIR)/operator/risc_zero/lib - OPERATOR_FFIS=$(CURDIR)/operator/risc_zero_old/lib:$(CURDIR)/operator/risc_zero/lib + export LD_LIBRARY_PATH+=$(CURDIR)/operator/risc_zero/lib + OPERATOR_FFIS=$(CURDIR)/operator/risc_zero/lib endif ifeq ($(OS),Linux) @@ -738,25 +738,6 @@ generate_risc_zero_empty_journal_proof: @cd scripts/test_files/risc_zero/no_public_inputs && RUST_LOG=info cargo run --release @echo "Fibonacci proof and ELF with empty journal generated in scripts/test_files/risc_zero/no_public_inputs folder" -build_sp1_macos_old: - @cd operator/sp1_old/lib && cargo build $(RELEASE_FLAG) - @cp operator/sp1_old/lib/target/$(TARGET_REL_PATH)/libsp1_verifier_old_ffi.dylib operator/sp1_old/lib/libsp1_verifier_old_ffi.dylib - -build_sp1_linux_old: - @cd operator/sp1_old/lib && cargo build $(RELEASE_FLAG) - @cp operator/sp1_old/lib/target/$(TARGET_REL_PATH)/libsp1_verifier_old_ffi.so operator/sp1_old/lib/libsp1_verifier_old_ffi.so - -test_sp1_rust_ffi_old: - @echo "Testing SP1 Rust FFI source code..." - @cd operator/sp1_old/lib && RUST_MIN_STACK=83886080 cargo t --release - -test_sp1_go_bindings_macos_old: build_sp1_macos_old - @echo "Testing SP1 Go bindings..." - go test ./operator/sp1_old/... -v - -test_sp1_go_bindings_linux_old: build_sp1_linux_old - @echo "Testing SP1 Go bindings..." - go test ./operator/sp1_old/... -v __RISC_ZERO_FFI__: ## build_risc_zero_macos: @@ -784,26 +765,6 @@ generate_risc_zero_fibonacci_proof: RUST_LOG=info cargo run --release && \ echo "Fibonacci proof, pub input and image ID generated in scripts/test_files/risc_zero folder" -build_risc_zero_macos_old: - @cd operator/risc_zero_old/lib && cargo build $(RELEASE_FLAG) - @cp operator/risc_zero_old/lib/target/$(TARGET_REL_PATH)/librisc_zero_verifier_old_ffi.dylib operator/risc_zero_old/lib/librisc_zero_verifier_old_ffi.dylib - -build_risc_zero_linux_old: - @cd operator/risc_zero_old/lib && cargo build $(RELEASE_FLAG) - @cp operator/risc_zero_old/lib/target/$(TARGET_REL_PATH)/librisc_zero_verifier_old_ffi.so operator/risc_zero_old/lib/librisc_zero_verifier_old_ffi.so - -test_risc_zero_rust_ffi_old: - @echo "Testing RISC Zero Rust FFI source code..." - @cd operator/risc_zero_old/lib && cargo test --release - -test_risc_zero_go_bindings_macos_old: build_risc_zero_macos_old - @echo "Testing RISC Zero Go bindings..." - go test ./operator/risc_zero_old/... -v - -test_risc_zero_go_bindings_linux_old: build_risc_zero_linux_old - @echo "Testing RISC Zero Go bindings..." - go test ./operator/risc_zero_old/... -v - __MERKLE_TREE_FFI__: ## build_merkle_tree_macos: @@ -828,11 +789,6 @@ test_merkle_tree_go_bindings_linux: build_merkle_tree_linux @echo "Testing Merkle Tree Go bindings..." go test ./operator/merkle_tree/... -v -test_merkle_tree_old_go_bindings_macos: build_merkle_tree_macos_old - @echo "Testing Old Merkle Tree Go bindings..." - go test ./operator/merkle_tree_old/... -v - - __BUILD_ALL_FFI__: build_all_ffi: ## Build all FFIs @@ -843,8 +799,6 @@ build_all_ffi_macos: ## Build all FFIs for macOS @echo "Building all FFIs for macOS..." @$(MAKE) build_sp1_macos @$(MAKE) build_risc_zero_macos - @$(MAKE) build_sp1_macos_old - @$(MAKE) build_risc_zero_macos_old @$(MAKE) build_merkle_tree_macos @echo "All macOS FFIs built successfully." @@ -852,8 +806,6 @@ build_all_ffi_linux: ## Build all FFIs for Linux @echo "Building all FFIs for Linux..." @$(MAKE) build_sp1_linux @$(MAKE) build_risc_zero_linux - @$(MAKE) build_sp1_linux_old - @$(MAKE) build_risc_zero_linux_old @$(MAKE) build_merkle_tree_linux @echo "All Linux FFIs built successfully." diff --git a/operator/pkg/operator.go b/operator/pkg/operator.go index af4c5d42ac..4dcc1860c6 100644 --- a/operator/pkg/operator.go +++ b/operator/pkg/operator.go @@ -17,14 +17,12 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/urfave/cli/v2" "github.com/yetanotherco/aligned_layer/operator/risc_zero" - "github.com/yetanotherco/aligned_layer/operator/risc_zero_old" "golang.org/x/crypto/sha3" "github.com/prometheus/client_golang/prometheus" "github.com/yetanotherco/aligned_layer/metrics" "github.com/yetanotherco/aligned_layer/operator/sp1" - "github.com/yetanotherco/aligned_layer/operator/sp1_old" "github.com/Layr-Labs/eigensdk-go/crypto/bls" "github.com/Layr-Labs/eigensdk-go/logging" @@ -505,26 +503,12 @@ func (o *Operator) verify(verificationData VerificationData, disabledVerifiersBi case common.SP1: verificationResult, err := sp1.VerifySp1Proof(verificationData.Proof, verificationData.VmProgramCode) - if !verificationResult { - o.Logger.Infof("SP1 proof verification failed. Trying old SP1 version...") - verificationResult, err = sp1_old.VerifySp1ProofOld(verificationData.Proof, verificationData.VmProgramCode) - if !verificationResult { - o.Logger.Errorf("Old SP1 proof verification failed") - } - } o.Logger.Infof("SP1 proof verification result: %t", verificationResult) o.handleVerificationResult(results, verificationResult, err, "SP1 proof verification") case common.Risc0: verificationResult, err := risc_zero.VerifyRiscZeroReceipt(verificationData.Proof, verificationData.VmProgramCode, verificationData.PubInput) - if !verificationResult { - o.Logger.Infof("Risc0 proof verification failed. Trying old Risc0 version...") - verificationResult, err = risc_zero_old.VerifyRiscZeroReceiptOld(verificationData.Proof, verificationData.VmProgramCode, verificationData.PubInput) - if !verificationResult { - o.Logger.Errorf("Old Risc0 proof verification failed") - } - } o.Logger.Infof("Risc0 proof verification result: %t", verificationResult) o.handleVerificationResult(results, verificationResult, err, "Risc0 proof verification") default: diff --git a/operator/risc_zero_old/.gitignore b/operator/risc_zero_old/.gitignore deleted file mode 100644 index 770874f57e..0000000000 --- a/operator/risc_zero_old/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -lib/librisc_zero_verifier_old_ffi.so -lib/librisc_zero_verifier_old_ffi.dylib diff --git a/operator/risc_zero_old/lib/Cargo.lock b/operator/risc_zero_old/lib/Cargo.lock deleted file mode 100644 index b2c6bae8fe..0000000000 --- a/operator/risc_zero_old/lib/Cargo.lock +++ /dev/null @@ -1,1796 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "anyhow" -version = "1.0.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18b8795de6d09abb2b178fa5a9e3bb10da935750f33449a132b328b9391b2c6a" - -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "blake2", - "derivative", - "digest", - "sha2", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown", - "itertools", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest", - "itertools", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives", - "ark-ec", - "ark-ff", - "ark-poly", - "ark-relations", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown", -] - -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff", - "ark-std", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bonsai-sdk" -version = "0.8.0" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "reqwest", - "risc0-groth16", - "serde", - "thiserror", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "bytemuck" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" -dependencies = [ - "serde", -] - -[[package]] -name = "cc" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "downcast-rs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - -[[package]] -name = "either" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" - -[[package]] -name = "elf" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-core", - "futures-io", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "hyper" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "num-bigint" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "proc-macro2" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - -[[package]] -name = "reqwest" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" -dependencies = [ - "base64", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-rustls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", - "winreg", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "risc0-binfmt" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "elf", - "risc0-zkp", - "risc0-zkvm-platform", - "serde", - "tracing", -] - -[[package]] -name = "risc0-circuit-recursion" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "bytemuck", - "hex", - "risc0-core", - "risc0-zkp", - "tracing", -] - -[[package]] -name = "risc0-circuit-rv32im" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "risc0-binfmt", - "risc0-core", - "risc0-zkp", - "risc0-zkvm-platform", - "serde", - "tracing", -] - -[[package]] -name = "risc0-core" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "bytemuck", - "rand_core", -] - -[[package]] -name = "risc0-groth16" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "ark-bn254", - "ark-ec", - "ark-groth16", - "ark-serialize", - "bytemuck", - "hex", - "num-bigint", - "num-traits", - "risc0-binfmt", - "risc0-zkp", - "serde", -] - -[[package]] -name = "risc0-zkp" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "blake2", - "bytemuck", - "cfg-if", - "digest", - "hex", - "hex-literal", - "paste", - "rand_core", - "risc0-core", - "risc0-zkvm-platform", - "serde", - "sha2", - "tracing", -] - -[[package]] -name = "risc0-zkvm" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "anyhow", - "bincode", - "bonsai-sdk", - "bytemuck", - "bytes", - "cfg-if", - "getrandom", - "hex", - "prost", - "risc0-binfmt", - "risc0-circuit-recursion", - "risc0-circuit-rv32im", - "risc0-core", - "risc0-groth16", - "risc0-zkp", - "risc0-zkvm-platform", - "rrs-lib", - "semver", - "serde", - "sha2", - "tempfile", - "tracing", -] - -[[package]] -name = "risc0-zkvm-platform" -version = "1.0.1" -source = "git+https://github.com/risc0/risc0?tag=v1.0.1#79de616506543634cb5d75b9db7f3aee3640d68c" -dependencies = [ - "bytemuck", - "getrandom", - "libm", -] - -[[package]] -name = "risc_zero_verifier_old_ffi" -version = "0.1.0" -dependencies = [ - "bincode", - "lazy_static", - "log", - "risc0-zkvm", -] - -[[package]] -name = "rrs-lib" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4382d3af3a4ebdae7f64ba6edd9114fff92c89808004c4943b393377a25d001" -dependencies = [ - "downcast-rs", - "paste", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -dependencies = [ - "log", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" - -[[package]] -name = "rustls-webpki" -version = "0.102.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - -[[package]] -name = "serde" -version = "1.0.202" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.202" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "serde_json" -version = "1.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "pin-project-lite", - "socket2", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" -dependencies = [ - "tracing-core", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.64", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "zerocopy" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] - -[[package]] -name = "zeroize" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.64", -] diff --git a/operator/risc_zero_old/lib/Cargo.toml b/operator/risc_zero_old/lib/Cargo.toml deleted file mode 100644 index 62139def0a..0000000000 --- a/operator/risc_zero_old/lib/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "risc_zero_verifier_old_ffi" -version = "0.1.0" -edition = "2021" - -[dependencies] -risc0-zkvm = { git = "https://github.com/risc0/risc0", tag="v1.0.1" } -bincode = "1.3.3" -lazy_static = "1.4.0" -log = "0.4.21" - -[lib] -crate-type = ["cdylib", "staticlib", "lib"] diff --git a/operator/risc_zero_old/lib/risc_zero.h b/operator/risc_zero_old/lib/risc_zero.h deleted file mode 100644 index 09db02d89c..0000000000 --- a/operator/risc_zero_old/lib/risc_zero.h +++ /dev/null @@ -1,4 +0,0 @@ -#include -#include - -int32_t verify_risc_zero_receipt_old_ffi(unsigned char *inner_receipt_bytes, uint32_t inner_receipt_len, unsigned char *image_id, uint32_t image_id_len, unsigned char *public_input, uint32_t public_input_len); diff --git a/operator/risc_zero_old/lib/rust-toolchain b/operator/risc_zero_old/lib/rust-toolchain deleted file mode 100644 index 45c8874831..0000000000 --- a/operator/risc_zero_old/lib/rust-toolchain +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -components = ["llvm-tools", "rustc-dev", "rustfmt", "rust-src"] diff --git a/operator/risc_zero_old/lib/src/lib.rs b/operator/risc_zero_old/lib/src/lib.rs deleted file mode 100644 index f5fc67830b..0000000000 --- a/operator/risc_zero_old/lib/src/lib.rs +++ /dev/null @@ -1,133 +0,0 @@ -use log::error; -use risc0_zkvm::{InnerReceipt, Receipt}; - -fn inner_verify_risc_zero_receipt_ffi( - inner_receipt_bytes: *const u8, - inner_receipt_len: u32, - image_id: *const u8, - image_id_len: u32, - public_input: *const u8, - public_input_len: u32, -) -> bool { - if inner_receipt_bytes.is_null() || image_id.is_null() { - error!("Input buffer null"); - return false; - } - - if inner_receipt_len == 0 || image_id_len == 0 { - error!("Input buffer length zero size"); - return false; - } - - //NOTE: We allow the public input for risc0 to be empty. - let mut public_input_slice: &[u8] = &[]; - if !public_input.is_null() && public_input_len > 0 { - public_input_slice = - unsafe { std::slice::from_raw_parts(public_input, public_input_len as usize) }; - } - - let inner_receipt_bytes = - unsafe { std::slice::from_raw_parts(inner_receipt_bytes, inner_receipt_len as usize) }; - - let image_id = unsafe { std::slice::from_raw_parts(image_id, image_id_len as usize) }; - - let mut image_id_array = [0u8; 32]; - image_id_array.copy_from_slice(image_id); - - if let Ok(inner_receipt) = bincode::deserialize::(inner_receipt_bytes) { - let receipt = Receipt::new(inner_receipt, public_input_slice.to_vec()); - - return receipt.verify(image_id_array).is_ok(); - } - false -} - -#[no_mangle] -pub extern "C" fn verify_risc_zero_receipt_old_ffi( - inner_receipt_bytes: *const u8, - inner_receipt_len: u32, - image_id: *const u8, - image_id_len: u32, - public_input: *const u8, - public_input_len: u32, -) -> i32 { - let result = std::panic::catch_unwind(|| { - inner_verify_risc_zero_receipt_ffi( - inner_receipt_bytes, - inner_receipt_len, - image_id, - image_id_len, - public_input, - public_input_len, - ) - }); - - match result { - Ok(v) => v as i32, - Err(_) => -1, - } -} - -#[cfg(test)] -mod tests { - use super::*; - - const RECEIPT: &[u8] = include_bytes!("../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_old.proof"); - const IMAGE_ID: &[u8] = include_bytes!( - "../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/fibonacci_id_old.bin" - ); - const PUBLIC_INPUT: &[u8] = include_bytes!( - "../../../../scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_old.pub" - ); - - #[test] - fn verify_risc_zero_receipt_with_image_id_works() { - let receipt_bytes = RECEIPT.as_ptr(); - let image_id = IMAGE_ID.as_ptr(); - let public_input = PUBLIC_INPUT.as_ptr(); - - let result = verify_risc_zero_receipt_old_ffi( - receipt_bytes, - RECEIPT.len() as u32, - image_id, - IMAGE_ID.len() as u32, - public_input, - PUBLIC_INPUT.len() as u32, - ); - assert_eq!(result, 1) - } - - #[test] - fn verify_risc_zero_aborts_with_bad_proof() { - let receipt_bytes = RECEIPT.as_ptr(); - let image_id = IMAGE_ID.as_ptr(); - let public_input = PUBLIC_INPUT.as_ptr(); - - let result = verify_risc_zero_receipt_old_ffi( - receipt_bytes, - (RECEIPT.len() - 1) as u32, - image_id, - IMAGE_ID.len() as u32, - public_input, - PUBLIC_INPUT.len() as u32, - ); - assert_eq!(result, 0) - } - - #[test] - fn verify_risc_zero_input_valid() { - let receipt_bytes = RECEIPT.as_ptr(); - let image_id = IMAGE_ID.as_ptr(); - let public_input = [].as_ptr(); - - let result = verify_risc_zero_receipt_old_ffi( - receipt_bytes, - (RECEIPT.len() - 1) as u32, - image_id, - IMAGE_ID.len() as u32, - public_input, - 0, - ); - assert_eq!(result, 0) - } -} diff --git a/operator/risc_zero_old/risc_zero_old.go b/operator/risc_zero_old/risc_zero_old.go deleted file mode 100644 index 8653f19772..0000000000 --- a/operator/risc_zero_old/risc_zero_old.go +++ /dev/null @@ -1,52 +0,0 @@ -package risc_zero_old - -/* -#cgo linux LDFLAGS: ${SRCDIR}/lib/librisc_zero_verifier_old_ffi.so -ldl -lrt -lm -lssl -lcrypto -Wl,--allow-multiple-definition -#cgo darwin LDFLAGS: -L./lib -lrisc_zero_verifier_old_ffi - -#include "lib/risc_zero.h" -*/ -import "C" -import ( - "fmt" - "unsafe" -) - -func VerifyRiscZeroReceiptOld(innerReceiptBuffer []byte, imageIdBuffer []byte, publicInputBuffer []byte) (isVerified bool, err error) { - // Here we define the return value on failure - isVerified = false - err = nil - - if len(innerReceiptBuffer) == 0 || len(imageIdBuffer) == 0 { - return isVerified, err - } - - // This will catch any go panic - defer func() { - rec := recover() - if rec != nil { - err = fmt.Errorf("Panic was caught while verifying risc0 proof: %s", rec) - } - }() - - receiptPtr := (*C.uchar)(unsafe.Pointer(&innerReceiptBuffer[0])) - imageIdPtr := (*C.uchar)(unsafe.Pointer(&imageIdBuffer[0])) - - r := (C.int32_t)(0) - - if len(publicInputBuffer) == 0 { // allow empty public input - r = (C.int32_t)(C.verify_risc_zero_receipt_old_ffi(receiptPtr, (C.uint32_t)(len(innerReceiptBuffer)), imageIdPtr, (C.uint32_t)(len(imageIdBuffer)), nil, (C.uint32_t)(0))) - } else { - publicInputPtr := (*C.uchar)(unsafe.Pointer(&publicInputBuffer[0])) - r = (C.int32_t)(C.verify_risc_zero_receipt_old_ffi(receiptPtr, (C.uint32_t)(len(innerReceiptBuffer)), imageIdPtr, (C.uint32_t)(len(imageIdBuffer)), publicInputPtr, (C.uint32_t)(len(publicInputBuffer)))) - } - - if r == -1 { - err = fmt.Errorf("Panic happened on FFI while verifying risc0 proof") - return isVerified, err - } - - isVerified = (r == 1) - - return isVerified, err -} diff --git a/operator/risc_zero_old/risc_zero_old_test.go b/operator/risc_zero_old/risc_zero_old_test.go deleted file mode 100644 index d0d70be8f2..0000000000 --- a/operator/risc_zero_old/risc_zero_old_test.go +++ /dev/null @@ -1,29 +0,0 @@ -package risc_zero_old_test - -import ( - "os" - "testing" - - "github.com/yetanotherco/aligned_layer/operator/risc_zero_old" -) - -func TestFibonacciRiscZeroProofVerifies(t *testing.T) { - innerReceiptBytes, err := os.ReadFile("../../scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_old.proof") - if err != nil { - t.Errorf("could not open proof file: %s", err) - } - - imageIdBytes, err := os.ReadFile("../../scripts/test_files/risc_zero/fibonacci_proof_generator/fibonacci_id_old.bin") - if err != nil { - t.Errorf("could not open image id file: %s", err) - } - - publicInputBytes, err := os.ReadFile("../../scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_old.pub") - if err != nil { - t.Errorf("could not open public input file: %s", err) - } - verified, err := risc_zero_old.VerifyRiscZeroReceiptOld(innerReceiptBytes, imageIdBytes, publicInputBytes) - if err != nil || !verified { - t.Errorf("proof did not verify") - } -} diff --git a/operator/sp1_old/.gitignore b/operator/sp1_old/.gitignore deleted file mode 100644 index 26be153e07..0000000000 --- a/operator/sp1_old/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -lib/libsp1_verifier_old_ffi.so -lib/libsp1_verifier_old_ffi.dylib diff --git a/operator/sp1_old/lib/Cargo.lock b/operator/sp1_old/lib/Cargo.lock deleted file mode 100644 index e514f03f9f..0000000000 --- a/operator/sp1_old/lib/Cargo.lock +++ /dev/null @@ -1,5919 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addchain" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" -dependencies = [ - "num-bigint 0.3.3", - "num-integer", - "num-traits", -] - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "alloy-primitives" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" -dependencies = [ - "alloy-rlp", - "bytes", - "cfg-if", - "const-hex", - "derive_more", - "hex-literal", - "itoa", - "k256", - "keccak-asm", - "proptest", - "rand", - "ruint", - "serde", - "tiny-keccak", -] - -[[package]] -name = "alloy-rlp" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a43b18702501396fa9bcdeecd533bc85fac75150d308fc0f6800a01e6234a003" -dependencies = [ - "arrayvec", - "bytes", -] - -[[package]] -name = "alloy-sol-macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" -dependencies = [ - "alloy-sol-macro-expander", - "alloy-sol-macro-input", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "alloy-sol-macro-expander" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" -dependencies = [ - "alloy-sol-macro-input", - "const-hex", - "heck", - "indexmap 2.2.6", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.72", - "syn-solidity", - "tiny-keccak", -] - -[[package]] -name = "alloy-sol-macro-input" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" -dependencies = [ - "const-hex", - "dunce", - "heck", - "proc-macro2", - "quote", - "syn 2.0.72", - "syn-solidity", -] - -[[package]] -name = "alloy-sol-types" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" -dependencies = [ - "alloy-primitives", - "alloy-sol-macro", - "const-hex", - "serde", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "ark-ff" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" -dependencies = [ - "ark-ff-asm 0.3.0", - "ark-ff-macros 0.3.0", - "ark-serialize 0.3.0", - "ark-std 0.3.0", - "derivative", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rustc_version 0.3.3", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rustc_version 0.4.0", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-serialize" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" -dependencies = [ - "ark-std 0.3.0", - "digest 0.9.0", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint 0.4.6", -] - -[[package]] -name = "ark-std" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "arrayref" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "async-trait" -version = "0.1.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "async_io_stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" -dependencies = [ - "futures", - "pharos", - "rustc_version 0.4.0", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "auto_impl" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "axum" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" -dependencies = [ - "async-trait", - "axum-core", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "tokio", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "axum-core" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper 0.1.2", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "serde", -] - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.69.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.72", - "which", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", - "rayon-core", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "bls12_381" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" -dependencies = [ - "ff 0.12.1", - "group 0.12.1", - "pairing", - "rand_core", - "subtle", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "sha2", - "tinyvec", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "bytemuck" -version = "1.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" -dependencies = [ - "serde", -] - -[[package]] -name = "camino" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.23", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cc" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" -dependencies = [ - "jobserver", - "libc", -] - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "num-traits", - "serde", - "windows-targets 0.52.6", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "4.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "cobs" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" - -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core", - "digest 0.10.7", - "hmac", - "k256", - "serde", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-core" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array 0.14.7", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2", - "sha3", - "thiserror", -] - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.52.0", -] - -[[package]] -name = "const-hex" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" -dependencies = [ - "cfg-if", - "cpufeatures", - "hex", - "proptest", - "serde", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array 0.14.7", - "rand_core", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array 0.14.7", - "typenum", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "fiat-crypto", - "rustc_version 0.4.0", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.72", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.0", - "syn 2.0.72", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "downcast-rs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "elf" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff 0.13.0", - "generic-array 0.14.7", - "group 0.13.0", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "embedded-io" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enr" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" -dependencies = [ - "base64 0.21.7", - "bytes", - "hex", - "k256", - "log", - "rand", - "rlp", - "serde", - "sha3", - "zeroize", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "eth-keystore" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" -dependencies = [ - "aes", - "ctr", - "digest 0.10.7", - "hex", - "hmac", - "pbkdf2 0.11.0", - "rand", - "scrypt", - "serde", - "serde_json", - "sha2", - "sha3", - "thiserror", - "uuid", -] - -[[package]] -name = "ethabi" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" -dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror", - "uint", -] - -[[package]] -name = "ethbloom" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", -] - -[[package]] -name = "ethers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" -dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-middleware", - "ethers-providers", - "ethers-signers", -] - -[[package]] -name = "ethers-addressbook" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" -dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", -] - -[[package]] -name = "ethers-contract" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" -dependencies = [ - "const-hex", - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" -dependencies = [ - "Inflector", - "const-hex", - "dunce", - "ethers-core", - "eyre", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.72", - "toml", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" -dependencies = [ - "Inflector", - "const-hex", - "ethers-contract-abigen", - "ethers-core", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.72", -] - -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec", - "bytes", - "cargo_metadata", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array 0.14.7", - "k256", - "num_enum 0.7.2", - "once_cell", - "open-fastrlp", - "rand", - "rlp", - "serde", - "serde_json", - "strum", - "syn 2.0.72", - "tempfile", - "thiserror", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.7", - "bytes", - "const-hex", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "http 0.2.12", - "instant", - "jsonwebtoken", - "once_cell", - "pin-project", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" -dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "const-hex", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "rand", - "sha2", - "thiserror", - "tracing", -] - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "fastrlp" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "bitvec", - "byteorder", - "ff_derive", - "rand_core", - "subtle", -] - -[[package]] -name = "ff_derive" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" -dependencies = [ - "addchain", - "cfg-if", - "num-bigint 0.3.3", - "num-integer", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-locks" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" -dependencies = [ - "futures-channel", - "futures-task", -] - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gcd" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "generic-array" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" -dependencies = [ - "serde", - "typenum", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "git2" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" -dependencies = [ - "bitflags 2.6.0", - "libc", - "libgit2-sys", - "log", - "url", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "memuse", - "rand_core", - "subtle", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff 0.13.0", - "rand_core", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.1.0", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "halo2" -version = "0.1.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a23c779b38253fe1538102da44ad5bd5378495a61d2c4ee18d64eaa61ae5995" -dependencies = [ - "halo2_proofs", -] - -[[package]] -name = "halo2_proofs" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760" -dependencies = [ - "blake2b_simd", - "ff 0.12.1", - "group 0.12.1", - "pasta_curves 0.4.1", - "rand_core", - "rayon", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", - "serde", -] - -[[package]] -name = "hashers" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http 1.1.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2 0.4.5", - "http 1.1.0", - "http-body 1.0.1", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" -dependencies = [ - "futures-util", - "http 1.1.0", - "hyper 1.4.1", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", - "webpki-roots", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - -[[package]] -name = "impl-serde" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonwebtoken" -version = "8.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" -dependencies = [ - "base64 0.21.7", - "pem", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", -] - -[[package]] -name = "jubjub" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" -dependencies = [ - "bitvec", - "bls12_381", - "ff 0.12.1", - "group 0.12.1", - "rand_core", - "subtle", -] - -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2", - "signature", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "keccak-asm" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" -dependencies = [ - "digest 0.10.7", - "sha3-asm", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin 0.9.8", -] - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", -] - -[[package]] -name = "libz-sys" -version = "1.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memuse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" -dependencies = [ - "hermit-abi", - "libc", - "wasi", - "windows-sys 0.52.0", -] - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint 0.4.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint 0.4.6", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.36.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "oneshot" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" - -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] - -[[package]] -name = "open-fastrlp-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" -dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "p3-air" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e909ef66fa5d77ff0fd3cb5af4b33b27fa6fb68d02b9b1e70edbc29383e565" -dependencies = [ - "p3-field", - "p3-matrix", -] - -[[package]] -name = "p3-baby-bear" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46965470aac1cddfe52f535424b59d52f2fffef0fdeb9dbed19da39b1d8f048a" -dependencies = [ - "num-bigint 0.4.6", - "p3-field", - "p3-mds", - "p3-poseidon2", - "p3-symmetric", - "rand", - "serde", -] - -[[package]] -name = "p3-blake3" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ef32d6ea21dd5cf9fec8a31bf0c64e6ceee8901dbf50966b83a443093c2aba" -dependencies = [ - "blake3", - "p3-symmetric", -] - -[[package]] -name = "p3-bn254-fr" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3edfca6be3b3109adf8e3330baec30c3fc5f9f4d63d27aaec1b471ca51ed67" -dependencies = [ - "ff 0.13.0", - "num-bigint 0.4.6", - "p3-field", - "p3-poseidon2", - "p3-symmetric", - "rand", - "serde", -] - -[[package]] -name = "p3-challenger" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6662ea899a5d848b60c699944491d72757873b5e1fd46798e4712f90a03a4e9" -dependencies = [ - "p3-field", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", - "tracing", -] - -[[package]] -name = "p3-commit" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc3563918b5cc44ef5280bf9b51753e70dc78802de25e3fb81ed6c94617ccb6e" -dependencies = [ - "itertools 0.12.1", - "p3-challenger", - "p3-field", - "p3-matrix", - "p3-util", - "serde", -] - -[[package]] -name = "p3-dft" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510095701819d83c9509fe825bbf1ebfe50426ae75149df5fe1dcfd18261323a" -dependencies = [ - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "tracing", -] - -[[package]] -name = "p3-field" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f1977a0a65789f719aa824119c332c4676b000bdbfe94d312fb6244a70d601" -dependencies = [ - "itertools 0.12.1", - "num-bigint 0.4.6", - "num-traits", - "p3-util", - "rand", - "serde", -] - -[[package]] -name = "p3-fri" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22ddb958f200d9289cc73ff68847b0167ca0c14557b791dd9e318f98c2d1b28" -dependencies = [ - "itertools 0.12.1", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-interpolation", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "serde", - "tracing", -] - -[[package]] -name = "p3-interpolation" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d032cda212f6b408d7d5b0b9a8270a9455acb93742fe55a0880d82be8e90e500" -dependencies = [ - "p3-field", - "p3-matrix", - "p3-util", -] - -[[package]] -name = "p3-keccak" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c56abdd5a8a780049d2f8e92cea1df57b55a2ef50a40d1103f2732f7a00e4b1" -dependencies = [ - "p3-symmetric", - "tiny-keccak", -] - -[[package]] -name = "p3-keccak-air" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8398f1694ccc38513df0b8cab5f9ef7325423f27cd9e4fa20bdc77d5079cf1b" -dependencies = [ - "p3-air", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "tracing", - "tracing-forest", - "tracing-subscriber", -] - -[[package]] -name = "p3-matrix" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d548ee0b834f8e2ebc5037073acd101a3b0ca41a2d1d28a15ba0ccd9059495b0" -dependencies = [ - "itertools 0.12.1", - "p3-field", - "p3-maybe-rayon", - "p3-util", - "rand", - "serde", - "tracing", -] - -[[package]] -name = "p3-maybe-rayon" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55f5575d3d61bedb3e05681abb0f36b8bb339d65aa395d50756bfa64e9cd3f46" -dependencies = [ - "rayon", -] - -[[package]] -name = "p3-mds" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6e57ed310d59245f93e24ee805ea7aa16fc9c505551b76a15f5e50f29d177e" -dependencies = [ - "itertools 0.12.1", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-symmetric", - "p3-util", - "rand", -] - -[[package]] -name = "p3-merkle-tree" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af46b41cba75d483ec8a553cbab1d2d794935ae3403d75394acfa4fb2c977cce" -dependencies = [ - "itertools 0.12.1", - "p3-commit", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", - "serde", - "tracing", -] - -[[package]] -name = "p3-poseidon2" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adaba6f14c197203530e233badce0ca1126ba3bf3c9ff766505b497bdad0bee1" -dependencies = [ - "gcd", - "p3-field", - "p3-mds", - "p3-symmetric", - "rand", -] - -[[package]] -name = "p3-symmetric" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ecc4282566eb14f48be7707f6745c4dff6be664984d59ec0fb1849cd82b5c2" -dependencies = [ - "itertools 0.12.1", - "p3-field", - "serde", -] - -[[package]] -name = "p3-uni-stark" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1af5c038b22b058bf1d49fb1ea3dd6c240a3e46c3278fde5c444e0034f7ffe37" -dependencies = [ - "itertools 0.12.1", - "p3-air", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "postcard", - "serde", - "tracing", - "tracing-forest", - "tracing-subscriber", -] - -[[package]] -name = "p3-util" -version = "0.1.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f3fef0e00d9d7246385e758c4cd39b4efcbbcea31752471491ab502631385e" -dependencies = [ - "serde", -] - -[[package]] -name = "pairing" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" -dependencies = [ - "group 0.12.1", -] - -[[package]] -name = "parity-scale-codec" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" -dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "pasta_curves" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc65faf8e7313b4b1fbaa9f7ca917a0eed499a9663be71477f87993604341d8" -dependencies = [ - "blake2b_simd", - "ff 0.12.1", - "group 0.12.1", - "lazy_static", - "rand", - "static_assertions", - "subtle", -] - -[[package]] -name = "pasta_curves" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" -dependencies = [ - "blake2b_simd", - "ff 0.13.0", - "group 0.13.0", - "lazy_static", - "rand", - "static_assertions", - "subtle", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", -] - -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pest" -version = "2.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures", - "rustc_version 0.4.0", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "portable-atomic" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" - -[[package]] -name = "postcard" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" -dependencies = [ - "cobs", - "embedded-io", - "serde", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "prettyplease" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn 2.0.72", -] - -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.1", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proptest" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" -dependencies = [ - "bit-set", - "bit-vec", - "bitflags 2.6.0", - "lazy_static", - "num-traits", - "rand", - "rand_chacha", - "rand_xorshift", - "regex-syntax 0.8.4", - "rusty-fork", - "tempfile", - "unarray", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "psm" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" -dependencies = [ - "cc", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quinn" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" -dependencies = [ - "bytes", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "quinn-proto" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" -dependencies = [ - "bytes", - "rand", - "ring 0.17.8", - "rustc-hash", - "rustls", - "slab", - "thiserror", - "tinyvec", - "tracing", -] - -[[package]] -name = "quinn-udp" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" -dependencies = [ - "libc", - "once_cell", - "socket2", - "windows-sys 0.52.0", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "rayon-scan" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f87cc11a0140b4b0da0ffc889885760c61b13672d80a908920b2c0df078fa14" -dependencies = [ - "rayon", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", - "tokio", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg 0.50.0", -] - -[[package]] -name = "reqwest" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" -dependencies = [ - "base64 0.22.1", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.4.5", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.4.1", - "hyper-rustls", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration", - "tokio", - "tokio-native-tls", - "tokio-rustls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots", - "winreg 0.52.0", -] - -[[package]] -name = "reqwest-middleware" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39346a33ddfe6be00cbc17a34ce996818b97b230b87229f10114693becca1268" -dependencies = [ - "anyhow", - "async-trait", - "http 1.1.0", - "reqwest 0.12.5", - "serde", - "thiserror", - "tower-service", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rlp-derive", - "rustc-hex", -] - -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rrs-succinct" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3372685893a9f67d18e98e792d690017287fd17379a83d798d958e517d380fa9" -dependencies = [ - "downcast-rs", - "num_enum 0.5.11", - "paste", -] - -[[package]] -name = "ruint" -version = "1.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" -dependencies = [ - "alloy-rlp", - "ark-ff 0.3.0", - "ark-ff 0.4.2", - "bytes", - "fastrlp", - "num-bigint 0.4.6", - "num-traits", - "parity-scale-codec", - "primitive-types", - "proptest", - "rand", - "rlp", - "ruint-macro", - "serde", - "valuable", - "zeroize", -] - -[[package]] -name = "ruint-macro" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -dependencies = [ - "semver 0.11.0", -] - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver 1.0.23", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.23.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" -dependencies = [ - "once_cell", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64 0.22.1", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" - -[[package]] -name = "rustls-webpki" -version = "0.102.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" -dependencies = [ - "ring 0.17.8", - "rustls-pki-types", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scale-info" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" -dependencies = [ - "cfg-if", - "derive_more", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "scc" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fadf67e3cf23f8b11a6c8c48a16cb2437381503615acd91094ec7b4686a5a53" -dependencies = [ - "sdd", -] - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scrypt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" -dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2", -] - -[[package]] -name = "sdd" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85f05a494052771fc5bd0619742363b5e24e5ad72ab3111ec2e27925b8edc5f3" - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array 0.14.7", - "pkcs8", - "subtle", - "zeroize", -] - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - -[[package]] -name = "serde" -version = "1.0.204" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.204" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "serde_json" -version = "1.0.120" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_path_to_error" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" -dependencies = [ - "itoa", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.2.6", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "serial_test" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" -dependencies = [ - "futures", - "log", - "once_cell", - "parking_lot", - "scc", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest 0.10.7", - "keccak", -] - -[[package]] -name = "sha3-asm" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" -dependencies = [ - "cc", - "cfg-if", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core", -] - -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror", - "time", -] - -[[package]] -name = "size" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fed904c7fb2856d868b92464fc8fa597fce366edea1a9cbfaa8cb5fe080bd6d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "snowbridge-amcl" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" -dependencies = [ - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "sp1-core" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "anyhow", - "arrayref", - "bincode", - "blake3", - "bytemuck", - "cfg-if", - "curve25519-dalek", - "elf", - "elliptic-curve", - "generic-array 1.1.0", - "hashbrown 0.14.5", - "hex", - "itertools 0.13.0", - "k256", - "log", - "nohash-hasher", - "num", - "num-bigint 0.4.6", - "num_cpus", - "p3-air", - "p3-baby-bear", - "p3-blake3", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-fri", - "p3-keccak", - "p3-keccak-air", - "p3-matrix", - "p3-maybe-rayon", - "p3-merkle-tree", - "p3-poseidon2", - "p3-symmetric", - "p3-uni-stark", - "p3-util", - "rand", - "rayon-scan", - "rrs-succinct", - "serde", - "serde_with", - "size", - "snowbridge-amcl", - "sp1-derive", - "sp1-primitives", - "strum", - "strum_macros", - "tempfile", - "thiserror", - "tracing", - "tracing-forest", - "tracing-subscriber", - "typenum", - "web-time", -] - -[[package]] -name = "sp1-derive" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "sp1-primitives" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "itertools 0.13.0", - "lazy_static", - "p3-baby-bear", - "p3-field", - "p3-poseidon2", - "p3-symmetric", -] - -[[package]] -name = "sp1-prover" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "anyhow", - "bincode", - "clap", - "dirs", - "hex", - "itertools 0.13.0", - "num-bigint 0.4.6", - "oneshot", - "p3-baby-bear", - "p3-bn254-fr", - "p3-challenger", - "p3-commit", - "p3-field", - "rayon", - "serde", - "serde_json", - "serial_test", - "sp1-core", - "sp1-primitives", - "sp1-recursion-circuit", - "sp1-recursion-compiler", - "sp1-recursion-core", - "sp1-recursion-gnark-ffi", - "sp1-recursion-program", - "subtle-encoding", - "tempfile", - "thiserror", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "sp1-recursion-circuit" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "bincode", - "itertools 0.13.0", - "p3-air", - "p3-baby-bear", - "p3-bn254-fr", - "p3-commit", - "p3-field", - "p3-fri", - "p3-matrix", - "p3-util", - "serde", - "sp1-core", - "sp1-recursion-compiler", - "sp1-recursion-core", - "sp1-recursion-derive", - "sp1-recursion-program", -] - -[[package]] -name = "sp1-recursion-compiler" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "backtrace", - "itertools 0.13.0", - "p3-air", - "p3-baby-bear", - "p3-bn254-fr", - "p3-commit", - "p3-field", - "p3-fri", - "p3-matrix", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "serde", - "sp1-core", - "sp1-primitives", - "sp1-recursion-core", - "sp1-recursion-derive", - "tracing", -] - -[[package]] -name = "sp1-recursion-core" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "arrayref", - "backtrace", - "ff 0.13.0", - "hashbrown 0.14.5", - "itertools 0.13.0", - "num_cpus", - "p3-air", - "p3-baby-bear", - "p3-bn254-fr", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-fri", - "p3-matrix", - "p3-maybe-rayon", - "p3-merkle-tree", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "serde", - "serde_with", - "sp1-core", - "sp1-derive", - "sp1-primitives", - "static_assertions", - "tracing", - "zkhash", -] - -[[package]] -name = "sp1-recursion-derive" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "sp1-recursion-gnark-ffi" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "anyhow", - "bincode", - "bindgen", - "cc", - "cfg-if", - "hex", - "log", - "num-bigint 0.4.6", - "p3-baby-bear", - "p3-field", - "p3-symmetric", - "rand", - "serde", - "serde_json", - "sha2", - "sp1-core", - "sp1-recursion-compiler", - "tempfile", -] - -[[package]] -name = "sp1-recursion-program" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "itertools 0.13.0", - "p3-air", - "p3-baby-bear", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-fri", - "p3-matrix", - "p3-maybe-rayon", - "p3-merkle-tree", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "rand", - "serde", - "sp1-core", - "sp1-primitives", - "sp1-recursion-compiler", - "sp1-recursion-core", - "stacker", - "tracing", -] - -[[package]] -name = "sp1-sdk" -version = "1.0.1" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.1#dd032eb23949828d244d1ad1f1569aa78155837c" -dependencies = [ - "alloy-sol-types", - "anyhow", - "async-trait", - "axum", - "bincode", - "cfg-if", - "dirs", - "ethers", - "futures", - "hashbrown 0.14.5", - "hex", - "indicatif", - "log", - "num-bigint 0.4.6", - "p3-baby-bear", - "p3-commit", - "p3-field", - "p3-fri", - "p3-matrix", - "prost", - "reqwest 0.12.5", - "reqwest-middleware", - "serde", - "serde_json", - "sha2", - "sp1-core", - "sp1-prover", - "strum", - "strum_macros", - "sysinfo", - "tempfile", - "thiserror", - "tokio", - "tracing", - "twirp-rs", - "vergen", -] - -[[package]] -name = "sp1-verifier-old-ffi" -version = "0.1.0" -dependencies = [ - "bincode", - "lazy_static", - "log", - "sp1-sdk", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "stacker" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" -dependencies = [ - "cc", - "cfg-if", - "libc", - "psm", - "winapi", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.72", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn-solidity" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" - -[[package]] -name = "sysinfo" -version = "0.30.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "windows", -] - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "thiserror" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.39.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d040ac2b29ab03b09d4129c2f5bbd012a3ac2f79d38ff506a4bf8dd34b0eac8a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.17", -] - -[[package]] -name = "toml_datetime" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16" -dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.16", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-forest" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" -dependencies = [ - "ansi_term", - "smallvec", - "thiserror", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "twirp-rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa3161d8eee0abcad4e762f4215381a430cc1281870d575b0f1e4fbfc74b8ce" -dependencies = [ - "async-trait", - "axum", - "bytes", - "futures", - "http 1.1.0", - "http-body-util", - "hyper 1.4.1", - "prost", - "reqwest 0.12.5", - "serde", - "serde_json", - "thiserror", - "tokio", - "tower", - "url", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", - "serde", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "git2", - "rustversion", - "time", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.72", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "ws_stream_wasm" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version 0.4.0", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "zkhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4352d1081da6922701401cdd4cbf29a2723feb4cfabb5771f6fee8e9276da1c7" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "bitvec", - "blake2", - "bls12_381", - "byteorder", - "cfg-if", - "group 0.12.1", - "group 0.13.0", - "halo2", - "hex", - "jubjub", - "lazy_static", - "pasta_curves 0.5.1", - "rand", - "serde", - "sha2", - "sha3", - "subtle", -] diff --git a/operator/sp1_old/lib/Cargo.toml b/operator/sp1_old/lib/Cargo.toml deleted file mode 100644 index 97d316b8cf..0000000000 --- a/operator/sp1_old/lib/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "sp1-verifier-old-ffi" -version = "0.1.0" -edition = "2021" - -[dependencies] -bincode = "1.3.3" -lazy_static = "1.4.0" -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v1.0.1" } -log = "0.4.21" - -[lib] -crate-type = ["cdylib"] diff --git a/operator/sp1_old/lib/rust-toolchain b/operator/sp1_old/lib/rust-toolchain deleted file mode 100644 index 989860f406..0000000000 --- a/operator/sp1_old/lib/rust-toolchain +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "nightly-2024-04-17" -components = ["llvm-tools", "rustc-dev"] diff --git a/operator/sp1_old/lib/sp1.h b/operator/sp1_old/lib/sp1.h deleted file mode 100644 index b850765640..0000000000 --- a/operator/sp1_old/lib/sp1.h +++ /dev/null @@ -1,5 +0,0 @@ -#include -#include - -int32_t verify_sp1_proof_old_ffi(unsigned char *proof_buffer, uint32_t proof_len, - unsigned char *elf_buffer, uint32_t elf_len); diff --git a/operator/sp1_old/lib/src/lib.rs b/operator/sp1_old/lib/src/lib.rs deleted file mode 100644 index d3562202aa..0000000000 --- a/operator/sp1_old/lib/src/lib.rs +++ /dev/null @@ -1,84 +0,0 @@ -use lazy_static::lazy_static; -use log::error; -use sp1_sdk::ProverClient; - -lazy_static! { - static ref PROVER_CLIENT: ProverClient = ProverClient::new(); -} - -fn inner_verify_sp1_proof_old_ffi( - proof_bytes: *const u8, - proof_len: u32, - elf_bytes: *const u8, - elf_len: u32, -) -> bool { - if proof_bytes.is_null() || elf_bytes.is_null() { - error!("Input buffer null"); - return false; - } - - if proof_len == 0 || elf_len == 0 { - error!("Input buffer length zero size"); - return false; - } - - let proof_bytes = unsafe { std::slice::from_raw_parts(proof_bytes, proof_len as usize) }; - - let elf_bytes = unsafe { std::slice::from_raw_parts(elf_bytes, elf_len as usize) }; - - if let Ok(proof) = bincode::deserialize(proof_bytes) { - let (_pk, vk) = PROVER_CLIENT.setup(elf_bytes); - return PROVER_CLIENT.verify(&proof, &vk).is_ok(); - } - - false -} - -#[no_mangle] -pub extern "C" fn verify_sp1_proof_old_ffi( - proof_bytes: *const u8, - proof_len: u32, - elf_bytes: *const u8, - elf_len: u32, -) -> i32 { - let result = std::panic::catch_unwind(|| { - inner_verify_sp1_proof_old_ffi(proof_bytes, proof_len, elf_bytes, elf_len) - }); - - match result { - Ok(v) => v as i32, - Err(_) => -1, - } -} - -#[cfg(test)] -mod tests { - use super::*; - - const PROOF: &[u8] = include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci_old.proof"); - const ELF: &[u8] = include_bytes!("../../../../scripts/test_files/sp1/sp1_fibonacci_old.elf"); - - #[test] - fn verify_sp1_proof_with_elf_works() { - let proof_bytes = PROOF.as_ptr(); - let elf_bytes = ELF.as_ptr(); - - let result = - verify_sp1_proof_old_ffi(proof_bytes, PROOF.len() as u32, elf_bytes, ELF.len() as u32); - assert_eq!(result, 1) - } - - #[test] - fn verify_sp1_aborts_with_bad_proof() { - let proof_bytes = PROOF.as_ptr(); - let elf_bytes = ELF.as_ptr(); - - let result = verify_sp1_proof_old_ffi( - proof_bytes, - (PROOF.len() - 1) as u32, - elf_bytes, - ELF.len() as u32, - ); - assert_eq!(result, 0) - } -} diff --git a/operator/sp1_old/sp1_old.go b/operator/sp1_old/sp1_old.go deleted file mode 100644 index e100794e9c..0000000000 --- a/operator/sp1_old/sp1_old.go +++ /dev/null @@ -1,44 +0,0 @@ -package sp1_old - -/* -#cgo linux LDFLAGS: ${SRCDIR}/lib/libsp1_verifier_old_ffi.so -ldl -lrt -lm -lssl -lcrypto -Wl,--allow-multiple-definition -#cgo darwin LDFLAGS: -L./lib -lsp1_verifier_old_ffi - -#include "lib/sp1.h" -*/ -import "C" -import ( - "fmt" - "unsafe" -) - -func VerifySp1ProofOld(proofBuffer []byte, elfBuffer []byte) (isVerified bool, err error) { - // Here we define the return value on failure - isVerified = false - err = nil - if len(proofBuffer) == 0 || len(elfBuffer) == 0 { - return isVerified, err - } - - // This will catch any go panic - defer func() { - rec := recover() - if rec != nil { - err = fmt.Errorf("Panic was caught while verifying sp1 proof: %s", rec) - } - }() - - proofPtr := (*C.uchar)(unsafe.Pointer(&proofBuffer[0])) - elfPtr := (*C.uchar)(unsafe.Pointer(&elfBuffer[0])) - - r := (C.int32_t)(C.verify_sp1_proof_old_ffi(proofPtr, (C.uint32_t)(len(proofBuffer)), elfPtr, (C.uint32_t)(len(elfBuffer)))) - - if r == -1 { - err = fmt.Errorf("Panic happened on FFI while verifying sp1 proof") - return isVerified, err - } - - isVerified = (r == 1) - - return isVerified, err -} diff --git a/operator/sp1_old/sp1_old_test.go b/operator/sp1_old/sp1_old_test.go deleted file mode 100644 index 6b751ab4ef..0000000000 --- a/operator/sp1_old/sp1_old_test.go +++ /dev/null @@ -1,29 +0,0 @@ -package sp1_old_test - -import ( - "os" - "testing" - - "github.com/yetanotherco/aligned_layer/operator/sp1_old" -) - -const ProofFilePath = "../../scripts/test_files/sp1/sp1_fibonacci_old.proof" - -const ElfFilePath = "../../scripts/test_files/sp1/sp1_fibonacci_old.elf" - -func TestFibonacciSp1ProofVerifies(t *testing.T) { - proofBytes, err := os.ReadFile(ProofFilePath) - if err != nil { - t.Errorf("could not open proof file: %s", err) - } - - elfBytes, err := os.ReadFile(ElfFilePath) - if err != nil { - t.Errorf("could not open elf file: %s", err) - } - - verified, err := sp1_old.VerifySp1ProofOld(proofBytes, elfBytes) - if err != nil || !verified { - t.Errorf("proof did not verify") - } -} From d0c72e5060e79a32c4d2085027b6eacedbf58c58 Mon Sep 17 00:00:00 2001 From: MauroFab Date: Thu, 20 Mar 2025 18:01:18 -0300 Subject: [PATCH 2/9] Update sp1 --- batcher/Cargo.lock | 2729 +++++++++---- batcher/aligned-batcher/Cargo copy.toml | 36 + batcher/aligned-batcher/Cargo.toml | 2 +- batcher/aligned-batcher/rust-toolchain | 2 +- batcher/aligned-batcher/src/sp1/mod.rs | 7 +- batcher/aligned/rust-toolchain | 2 +- .../sp1/fibonacci/program/Cargo.toml | 2 +- .../sp1/fibonacci/script/Cargo.toml | 4 +- .../sp1/fibonacci/script/src/main.rs | 2 +- examples/zkquiz/quiz/program/Cargo.toml | 2 +- examples/zkquiz/quiz/script/Cargo.toml | 4 +- examples/zkquiz/quiz/script/src/main.rs | 2 +- operator/sp1/lib/Cargo.lock | 3538 +++++++++-------- operator/sp1/lib/Cargo.toml | 2 +- operator/sp1/lib/rust-toolchain | 2 +- operator/sp1/lib/src/lib.rs | 4 +- .../program/Cargo.toml | 2 +- .../script/Cargo.toml | 4 +- .../script/src/main.rs | 2 +- 19 files changed, 3689 insertions(+), 2659 deletions(-) create mode 100644 batcher/aligned-batcher/Cargo copy.toml diff --git a/batcher/Cargo.lock b/batcher/Cargo.lock index 6727d76bea..430cdda80b 100644 --- a/batcher/Cargo.lock +++ b/batcher/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -58,7 +58,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -113,7 +113,7 @@ dependencies = [ "once_cell", "priority-queue", "prometheus", - "reqwest 0.12.9", + "reqwest 0.12.15", "risc0-zkvm", "serde", "serde_json", @@ -151,95 +151,354 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "alloy-consensus" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-eip2124" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eips" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "762414662d793d7aaa36ee3af6928b6be23227df1681ce9c039f6f11daadef64" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be03f2ebc00cf88bd06d3c6caf387dceaa9c7e6b268216779fa68a9bf8ab4e6" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] + [[package]] name = "alloy-primitives" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +checksum = "eacedba97e65cdc7ab592f2b22ef5d3ab8d60b2056bc3a6e6363577e8270ec6f" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 0.99.18", - "hex-literal", + "derive_more 2.0.1", + "foldhash", + "hashbrown 0.15.2", + "indexmap 2.8.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", - "rand", + "rand 0.8.5", "ruint", + "rustc-hash 2.1.1", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-rlp" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" +checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" dependencies = [ + "alloy-rlp-derive", "arrayvec", "bytes", ] +[[package]] +name = "alloy-rlp-derive" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "318ae46dd12456df42527c3b94c1ae9001e1ceb707f7afe2c7807ac4e49ebad9" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4dbee4d82f8a22dde18c28257bed759afeae7ba73da4a1479a039fd1445d04" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-serde" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f96b3526fdd779a4bd0f37319cfb4172db52a7ac24cdbb8804b72091c18e1701" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve 0.13.8", + "k256", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-signer-local" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe8f78cd6b7501c7e813a1eb4a087b72d23af51f5bb66d4e948dc840bdd207d8" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand 0.8.5", + "thiserror 2.0.12", +] + [[package]] name = "alloy-sol-macro" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +checksum = "3637022e781bc73a9e300689cd91105a0e6be00391dd4e2110a71cc7e9f20a94" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +checksum = "3b9bd22d0bba90e40f40c625c33d39afb7d62b22192476a2ce1dcf8409dce880" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap", - "proc-macro-error", + "indexmap 2.8.0", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +checksum = "05ae4646e8123ec2fd10f9c22e361ffe4365c42811431829c2eabae528546bcc" dependencies = [ "const-hex", "dunce", "heck 0.5.0", + "macro-string", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "syn-solidity", ] [[package]] name = "alloy-sol-types" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +checksum = "767957235807b021126dca1598ac3ef477007eace07961607dc5f490550909c7" dependencies = [ "alloy-primitives", "alloy-sol-macro", "const-hex", +] + +[[package]] +name = "alloy-trie" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 1.0.0", + "nybbles", "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", ] [[package]] @@ -292,19 +551,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "ark-bn254" @@ -527,7 +787,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -537,7 +797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -551,6 +811,9 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "ascii-canvas" @@ -561,15 +824,37 @@ dependencies = [ "term", ] +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -591,13 +876,13 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -608,9 +893,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" -version = "1.5.10" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b49afaa341e8dd8577e1a2200468f98956d6eda50bcf4a53246cc00174ba924" +checksum = "6a84fe2c5e9965fba0fbc2001db252f1d57527d82a905cca85127df227bca748" dependencies = [ "aws-credential-types", "aws-runtime", @@ -619,7 +904,7 @@ dependencies = [ "aws-sdk-sts", "aws-smithy-async", "aws-smithy-http", - "aws-smithy-json 0.60.7", + "aws-smithy-json", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -627,8 +912,8 @@ dependencies = [ "bytes", "fastrand", "hex", - "http 0.2.12", - "ring 0.17.8", + "http 1.3.1", + "ring 0.17.14", "time", "tokio", "tracing", @@ -638,9 +923,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" +checksum = "4471bef4c22a06d2c7a1b6492493d3fdf24a805323109d6874f9c94d5906ac14" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -648,11 +933,34 @@ dependencies = [ "zeroize", ] +[[package]] +name = "aws-lc-rs" +version = "1.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dabb68eb3a7aa08b46fddfd59a3d55c978243557a90ab804769f7e20e67d2b01" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77926887776171ced7d662120a75998e444d3750c951abfe07f90da130514b1f" +dependencies = [ + "bindgen 0.69.5", + "cc", + "cmake", + "dunce", + "fs_extra", +] + [[package]] name = "aws-runtime" -version = "1.4.4" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ac934720fbb46206292d2c75b57e67acfc56fe7dfd34fb9a02334af08409ea" +checksum = "0aff45ffe35196e593ea3b9dd65b320e51e2dda95aff4390bc459e461d09c6ad" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -671,14 +979,14 @@ dependencies = [ "percent-encoding", "pin-project-lite", "tracing", - "uuid 1.11.0", + "uuid 1.16.0", ] [[package]] name = "aws-sdk-s3" -version = "1.65.0" +version = "1.79.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3ba2c5c0f2618937ce3d4a5ad574b86775576fa24006bcb3128c6e2cbf3c34e" +checksum = "a8f63ba8f5fca32061c7d62d866ef65470edde38d4c5f8a0ebb8ff40a0521e1c" dependencies = [ "aws-credential-types", "aws-runtime", @@ -687,7 +995,7 @@ dependencies = [ "aws-smithy-checksums", "aws-smithy-eventstream", "aws-smithy-http", - "aws-smithy-json 0.61.1", + "aws-smithy-json", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -698,6 +1006,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", + "http 1.3.1", "http-body 0.4.6", "lru", "once_cell", @@ -710,15 +1019,15 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.50.0" +version = "1.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ca43a4ef210894f93096039ef1d6fa4ad3edfabb3be92b80908b9f2e4b4eab" +checksum = "1d5330ad4e8a1ff49e9f26b738611caa72b105c41d41733801d1a36e8f9de936" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", "aws-smithy-http", - "aws-smithy-json 0.61.1", + "aws-smithy-json", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -732,15 +1041,15 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.51.0" +version = "1.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abaf490c2e48eed0bb8e2da2fb08405647bd7f253996e0f93b981958ea0f73b0" +checksum = "7956b1a85d49082347a7d17daa2e32df191f3e23c03d47294b99f95413026a78" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", "aws-smithy-http", - "aws-smithy-json 0.61.1", + "aws-smithy-json", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -754,15 +1063,15 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.51.0" +version = "1.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68fde0d69c8bfdc1060ea7da21df3e39f6014da316783336deff0a9ec28f4bf" +checksum = "065c533fbe6f84962af33fcf02b0350b7c1f79285baab5924615d2be3b232855" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", "aws-smithy-http", - "aws-smithy-json 0.61.1", + "aws-smithy-json", "aws-smithy-query", "aws-smithy-runtime", "aws-smithy-runtime-api", @@ -777,9 +1086,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.6" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3820e0c08d0737872ff3c7c1f21ebbb6693d832312d6152bf18ef50a5471c2" +checksum = "69d03c3c05ff80d54ff860fe38c726f6f494c639ae975203a101335f223386db" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", @@ -792,11 +1101,11 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.2.0", + "http 1.3.1", "once_cell", - "p256", + "p256 0.11.1", "percent-encoding", - "ring 0.17.8", + "ring 0.17.14", "sha2", "subtle", "time", @@ -806,9 +1115,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.1" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" +checksum = "1e190749ea56f8c42bf15dd76c65e14f8f765233e6df9b0506d9d934ebef867c" dependencies = [ "futures-util", "pin-project-lite", @@ -817,15 +1126,16 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.60.13" +version = "0.63.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1a71073fca26775c8b5189175ea8863afb1c9ea2cceb02a5de5ad9dfbaa795" +checksum = "b65d21e1ba6f2cdec92044f904356a19f5ad86961acf015741106cdfafd747c0" dependencies = [ "aws-smithy-http", "aws-smithy-types", "bytes", "crc32c", "crc32fast", + "crc64fast-nvme", "hex", "http 0.2.12", "http-body 0.4.6", @@ -838,9 +1148,9 @@ dependencies = [ [[package]] name = "aws-smithy-eventstream" -version = "0.60.5" +version = "0.60.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" +checksum = "7c45d3dddac16c5c59d553ece225a88870cf81b7b813c9cc17b78cf4685eac7a" dependencies = [ "aws-smithy-types", "bytes", @@ -849,9 +1159,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.60.11" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" +checksum = "c5949124d11e538ca21142d1fba61ab0a2a2c1bc3ed323cdb3e4b878bfb83166" dependencies = [ "aws-smithy-eventstream", "aws-smithy-runtime-api", @@ -860,6 +1170,7 @@ dependencies = [ "bytes-utils", "futures-core", "http 0.2.12", + "http 1.3.1", "http-body 0.4.6", "once_cell", "percent-encoding", @@ -869,19 +1180,38 @@ dependencies = [ ] [[package]] -name = "aws-smithy-json" -version = "0.60.7" +name = "aws-smithy-http-client" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" +checksum = "0497ef5d53065b7cd6a35e9c1654bd1fefeae5c52900d91d1b188b0af0f29324" dependencies = [ + "aws-smithy-async", + "aws-smithy-runtime-api", "aws-smithy-types", + "h2 0.4.8", + "http 0.2.12", + "http 1.3.1", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper 1.6.0", + "hyper-rustls 0.24.2", + "hyper-rustls 0.27.5", + "hyper-util", + "pin-project-lite", + "rustls 0.21.12", + "rustls 0.23.25", + "rustls-native-certs 0.8.1", + "rustls-pki-types", + "tokio", + "tower 0.5.2", + "tracing", ] [[package]] name = "aws-smithy-json" -version = "0.61.1" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4e69cc50921eb913c6b662f8d909131bb3e6ad6cb6090d3a39b66fc5c52095" +checksum = "92144e45819cae7dc62af23eac5a038a58aa544432d2102609654376a900bd07" dependencies = [ "aws-smithy-types", ] @@ -898,42 +1228,39 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.7.4" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f20685047ca9d6f17b994a07f629c813f08b5bce65523e47124879e60103d45" +checksum = "f6328865e36c6fd970094ead6b05efd047d3a80ec5fc3be5e743910da9f2ebf8" dependencies = [ "aws-smithy-async", "aws-smithy-http", + "aws-smithy-http-client", "aws-smithy-runtime-api", "aws-smithy-types", "bytes", "fastrand", - "h2 0.3.26", "http 0.2.12", + "http 1.3.1", "http-body 0.4.6", "http-body 1.0.1", - "httparse", - "hyper 0.14.31", - "hyper-rustls 0.24.2", "once_cell", "pin-project-lite", "pin-utils", - "rustls 0.21.12", "tokio", "tracing", ] [[package]] name = "aws-smithy-runtime-api" -version = "1.7.3" +version = "1.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92165296a47a812b267b4f41032ff8069ab7ff783696d217f0994a0d7ab585cd" +checksum = "3da37cf5d57011cb1753456518ec76e31691f1f474b73934a284eb2a1c76510f" dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.2.0", + "http 1.3.1", "pin-project-lite", "tokio", "tracing", @@ -942,16 +1269,16 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.9" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbd94a32b3a7d55d3806fe27d98d3ad393050439dd05eb53ece36ec5e3d3510" +checksum = "836155caafba616c0ff9b07944324785de2ab016141c3550bd1c07882f8cee8f" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", - "http 1.2.0", + "http 1.3.1", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -977,9 +1304,9 @@ dependencies = [ [[package]] name = "aws-types" -version = "1.3.3" +version = "1.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" +checksum = "3873f8deed8927ce8d04487630dc9ff73193bab64742a61d050e57a68dec4125" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -999,10 +1326,10 @@ dependencies = [ "axum-core", "bytes", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-util", "itoa", "matchit", @@ -1017,7 +1344,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", - "tower", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -1032,7 +1359,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "mime", @@ -1044,11 +1371,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + [[package]] name = "backon" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" +checksum = "970d91570c01a8a5959b36ad7dd1c30642df24b6b3068710066f6809f7033bb7" dependencies = [ "fastrand", "gloo-timers 0.3.0", @@ -1113,9 +1454,9 @@ dependencies = [ [[package]] name = "base64ct" -version = "1.6.0" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bech32" @@ -1132,13 +1473,36 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags 2.9.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.100", + "which", +] + [[package]] name = "bindgen" version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1149,7 +1513,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -1158,7 +1522,16 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", ] [[package]] @@ -1167,6 +1540,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + [[package]] name = "bitflags" version = "1.3.2" @@ -1175,9 +1554,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bitvec" @@ -1202,25 +1581,12 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq 0.3.1", -] - -[[package]] -name = "blake3" -version = "1.5.5" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", - "cc", - "cfg-if", "constant_time_eq 0.3.1", ] @@ -1248,10 +1614,22 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pairing", - "rand_core", + "rand_core 0.6.4", "subtle", ] +[[package]] +name = "blst" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + [[package]] name = "bonsai-sdk" version = "1.1.2" @@ -1259,16 +1637,16 @@ source = "git+https://github.com/risc0/risc0?tag=v1.1.2#2ba504fddd84376235d335ec dependencies = [ "duplicate", "maybe-async", - "reqwest 0.12.9", + "reqwest 0.12.15", "serde", "thiserror 1.0.69", ] [[package]] name = "borsh" -version = "1.5.3" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" +checksum = "b2b74d67a0fc0af8e9823b79fd1c43a0900e5a8f0e0f4cc9210796bf3a820126" dependencies = [ "borsh-derive", "cfg_aliases", @@ -1276,15 +1654,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.3" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244" +checksum = "2d37ed1b2c9b78421218a0b4f6d8349132d6ec2cfeba1cfb0118b0a8e268df9e" dependencies = [ "once_cell", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -1299,34 +1677,34 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.20.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.0" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" +checksum = "2ff22c2722516255d1823ce3cc4bc0b154dbc9364be5c905d6baa6eccbbc8774" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -1337,9 +1715,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] @@ -1366,15 +1744,29 @@ dependencies = [ [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] +[[package]] +name = "c-kzg" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + [[package]] name = "camino" version = "1.1.9" @@ -1401,17 +1793,36 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "thiserror 1.0.69", ] +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck 0.4.1", + "indexmap 2.8.0", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.100", + "tempfile", + "toml", +] + [[package]] name = "cc" -version = "1.2.2" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ "jobserver", "libc", @@ -1441,11 +1852,14 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ + "android-tzdata", + "iana-time-zone", "num-traits", + "windows-link", ] [[package]] @@ -1498,9 +1912,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.23" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" +checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" dependencies = [ "clap_builder", "clap_derive", @@ -1508,9 +1922,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.23" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" +checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" dependencies = [ "anstream", "anstyle", @@ -1520,14 +1934,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -1536,6 +1950,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +[[package]] +name = "cmake" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +dependencies = [ + "cc", +] + [[package]] name = "coins-bip32" version = "0.8.7" @@ -1563,7 +1986,7 @@ dependencies = [ "hmac", "once_cell", "pbkdf2 0.12.2", - "rand", + "rand 0.8.5", "sha2", "thiserror 1.0.69", ] @@ -1596,15 +2019,15 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width 0.1.14", - "windows-sys 0.52.0", + "once_cell", + "unicode-width", + "windows-sys 0.59.0", ] [[package]] @@ -1626,6 +2049,26 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "constant_time_eq" version = "0.1.5" @@ -1639,16 +2082,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -1667,19 +2114,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "libc", ] [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32c" version = "0.6.8" @@ -1698,11 +2160,29 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crc64fast-nvme" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4955638f00a809894c947f85a024020a20815b65a5eea633798ea7924edab2b3" +dependencies = [ + "crc", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1719,15 +2199,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -1736,7 +2216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1748,7 +2228,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1773,29 +2253,13 @@ dependencies = [ ] [[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "fiat-crypto", - "rustc_version 0.4.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", + "nix", + "windows-sys 0.59.0", ] [[package]] @@ -1878,9 +2342,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" [[package]] name = "der" @@ -1899,14 +2363,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -1924,24 +2389,20 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.1", - "syn 2.0.90", + "derive_more-impl 1.0.0", ] [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl", + "derive_more-impl 2.0.1", ] [[package]] @@ -1952,7 +2413,19 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "unicode-xid", ] [[package]] @@ -2039,7 +2512,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -2060,6 +2533,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downloader" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" +dependencies = [ + "digest 0.10.7", + "futures", + "rand 0.8.5", + "reqwest 0.12.15", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "dunce" version = "1.0.5" @@ -2104,9 +2591,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elf" @@ -2128,7 +2615,7 @@ dependencies = [ "generic-array 0.14.7", "group 0.12.1", "pkcs8 0.9.0", - "rand_core", + "rand_core 0.6.4", "sec1 0.3.0", "subtle", "zeroize", @@ -2143,11 +2630,12 @@ dependencies = [ "base16ct 0.2.0", "crypto-bigint 0.5.5", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "generic-array 0.14.7", "group 0.13.0", + "pem-rfc7468", "pkcs8 0.10.2", - "rand_core", + "rand_core 0.6.4", "sec1 0.7.3", "subtle", "zeroize", @@ -2164,9 +2652,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" @@ -2188,7 +2676,7 @@ dependencies = [ "hex", "k256", "log", - "rand", + "rand 0.8.5", "rlp", "serde", "sha3", @@ -2213,14 +2701,14 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "env_filter" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ "log", "regex", @@ -2228,22 +2716,22 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.5" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697" dependencies = [ "anstream", "anstyle", "env_filter", - "humantime", + "jiff", "log", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" @@ -2267,7 +2755,7 @@ dependencies = [ "hex", "hmac", "pbkdf2 0.11.0", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", @@ -2391,7 +2879,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.90", + "syn 2.0.100", "toml", "walkdir", ] @@ -2409,7 +2897,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -2430,12 +2918,12 @@ dependencies = [ "num_enum 0.7.3", "once_cell", "open-fastrlp", - "rand", + "rand 0.8.5", "rlp", "serde", "serde_json", "strum", - "syn 2.0.90", + "syn 2.0.100", "tempfile", "thiserror 1.0.69", "tiny-keccak", @@ -2451,7 +2939,7 @@ dependencies = [ "chrono", "ethers-core", "reqwest 0.11.27", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "thiserror 1.0.69", @@ -2536,7 +3024,7 @@ dependencies = [ "elliptic-curve 0.13.8", "eth-keystore", "ethers-core", - "rand", + "rand 0.8.5", "sha2", "thiserror 1.0.69", "tracing", @@ -2561,7 +3049,7 @@ dependencies = [ "path-slash", "rayon", "regex", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "solang-parser", @@ -2586,9 +3074,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -2601,6 +3089,17 @@ dependencies = [ "bytes", ] +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + [[package]] name = "ff" version = "0.12.1" @@ -2608,31 +3107,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "bitvec", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", "byteorder", "ff_derive", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "ff_derive" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +checksum = "f10d12652036b0e99197587c6ba87a8fc3031986499973c030d8b44fcc151b60" dependencies = [ "addchain", - "cfg-if", "num-bigint 0.3.3", "num-integer", "num-traits", @@ -2641,12 +3139,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2654,7 +3146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -2667,9 +3159,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.35" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" dependencies = [ "crc32fast", "miniz_oxide", @@ -2683,9 +3175,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" @@ -2714,7 +3206,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -2748,6 +3240,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "funty" version = "2.0.0" @@ -2820,7 +3318,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -2863,6 +3361,12 @@ dependencies = [ "slab", ] +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + [[package]] name = "fxhash" version = "0.2.1" @@ -2878,6 +3382,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" +[[package]] +name = "gen_ops" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "304de19db7028420975a296ab0fcbbc8e69438c4ed254a1e41e2a7f37d5f0e0a" + [[package]] name = "generic-array" version = "0.14.7" @@ -2891,9 +3401,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.1.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb8bc4c28d15ade99c7e90b219f30da4be5c88e586277e8cbe886beeb868ab2" +checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" dependencies = [ "serde", "typenum", @@ -2908,34 +3418,35 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "git2" -version = "0.19.0" +name = "getrandom" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ - "bitflags 2.6.0", + "cfg-if", + "js-sys", "libc", - "libgit2-sys", - "log", - "url", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-timers" @@ -2969,7 +3480,7 @@ checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", "memuse", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2979,8 +3490,8 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", - "rand_core", + "ff 0.13.1", + "rand_core 0.6.4", "subtle", ] @@ -2996,7 +3507,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -3005,17 +3516,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.2.0", - "indexmap", + "http 1.3.1", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -3024,9 +3535,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" dependencies = [ "cfg-if", "crunchy", @@ -3051,10 +3562,16 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pasta_curves 0.4.1", - "rand_core", + "rand_core 0.6.4", "rayon", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.13.2" @@ -3084,6 +3601,7 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash", + "serde", ] [[package]] @@ -3142,6 +3660,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-literal" @@ -3160,11 +3681,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3180,9 +3701,9 @@ dependencies = [ [[package]] name = "http" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -3207,27 +3728,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.2.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -3235,17 +3756,11 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" -version = "0.14.31" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -3267,15 +3782,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.7", - "http 1.2.0", + "h2 0.4.8", + "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", @@ -3294,43 +3809,44 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "log", "rustls 0.21.12", - "rustls-native-certs", + "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", ] [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.2.0", - "hyper 1.5.1", + "http 1.3.1", + "hyper 1.6.0", "hyper-util", - "rustls 0.23.19", + "rustls 0.23.25", + "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tower-service", - "webpki-roots 0.26.7", + "webpki-roots 0.26.8", ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-timeout" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "bytes", - "hyper 0.14.31", - "native-tls", + "hyper 1.6.0", + "hyper-util", + "pin-project-lite", "tokio", - "tokio-native-tls", + "tower-service", ] [[package]] @@ -3341,7 +3857,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "hyper-util", "native-tls", "tokio", @@ -3358,9 +3874,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", - "hyper 1.5.1", + "hyper 1.6.0", "pin-project-lite", "socket2", "tokio", @@ -3368,6 +3884,29 @@ dependencies = [ "tracing", ] +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "icu_collections" version = "1.5.0" @@ -3483,7 +4022,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -3542,7 +4081,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -3553,32 +4092,43 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.7.0" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", "hashbrown 0.15.2", + "serde", ] [[package]] name = "indicatif" -version = "0.17.9" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ "console", "number_prefix", "portable-atomic", - "unicode-width 0.2.0", + "unicode-width", "web-time", ] [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array 0.14.7", ] @@ -3594,9 +4144,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -3640,11 +4190,44 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d699bc6dfc879fb1bf9bdff0d4c56f0884fc6f0d0eb0fba397a6d00cd9a6b85e" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "8d16e75759ee0aa64c57a56acbf43916987b20c77373cb7e808979e02b93c9f9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] [[package]] name = "jobserver" @@ -3657,9 +4240,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -3689,7 +4272,7 @@ dependencies = [ "bls12_381", "ff 0.12.1", "group 0.12.1", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3733,7 +4316,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" dependencies = [ "ascii-canvas", - "bit-set", + "bit-set 0.5.3", "ena", "itertools 0.11.0", "lalrpop-util", @@ -3778,9 +4361,9 @@ dependencies = [ [[package]] name = "lazy-regex" -version = "3.3.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8e41c97e6bc7ecb552016274b99fbb5d035e8de288c582d9b933af6677bfda" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" dependencies = [ "lazy-regex-proc_macros", "once_cell", @@ -3789,14 +4372,14 @@ dependencies = [ [[package]] name = "lazy-regex-proc_macros" -version = "3.3.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e1d8b05d672c53cb9c7b920bbba8783845ae4f0b076e02a3db1d02c81b4163" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -3809,22 +4392,16 @@ dependencies = [ ] [[package]] -name = "libc" -version = "0.2.167" +name = "lazycell" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] +name = "libc" +version = "0.2.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -3848,33 +4425,27 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "libc", ] [[package]] -name = "libz-sys" -version = "1.1.20" +name = "linux-raw-sys" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" [[package]] name = "litemap" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "lock_api" @@ -3888,9 +4459,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" [[package]] name = "lru" @@ -3901,6 +4472,17 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -3933,7 +4515,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -3954,9 +4536,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memuse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" +checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" [[package]] name = "metal" @@ -3964,7 +4546,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block", "core-graphics-types", "foreign-types 0.5.0", @@ -3997,9 +4579,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", ] @@ -4011,7 +4593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -4035,9 +4617,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -4045,7 +4627,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -4056,6 +4638,18 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.9.0", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -4243,19 +4837,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.90", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", + "syn 2.0.100", ] [[package]] @@ -4264,6 +4849,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "const-hex", + "serde", + "smallvec", +] + [[package]] name = "objc" version = "0.2.7" @@ -4275,18 +4871,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "open-fastrlp" @@ -4315,11 +4911,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cfg-if", "foreign-types 0.3.2", "libc", @@ -4336,20 +4932,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" dependencies = [ "cc", "libc", @@ -4365,9 +4961,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "outref" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" +checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "overload" @@ -4386,11 +4982,23 @@ dependencies = [ "sha2", ] +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2", +] + [[package]] name = "p3-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066f571b2e645505ed5972dd0e1e252ba03352150830c9566769ca711c0f1e9b" +checksum = "02634a874a2286b73f3e0a121e79d6774e92ccbec648c5568f4a7479a4830858" dependencies = [ "p3-field", "p3-matrix", @@ -4398,49 +5006,39 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00f571044d299310d9659c6e51c98422de3bf94b8577f7f30cf59cf2043e40" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" dependencies = [ "num-bigint 0.4.6", "p3-field", "p3-mds", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] -[[package]] -name = "p3-blake3" -version = "0.1.4-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4cb69ae54a279bbbd477566d1bdb71aa879b528fd658d0fcfc36f54b00217c" -dependencies = [ - "blake3", - "p3-symmetric", -] - [[package]] name = "p3-bn254-fr" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf19917f986d45e9abb6d177e875824ced6eed096480d574fce16f2c45c721ea" +checksum = "f8c53da73873e24d751ec3bd9d8da034bb5f99c71f24f4903ff37190182bff10" dependencies = [ - "ff 0.13.0", + "ff 0.13.1", "num-bigint 0.4.6", "p3-field", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-challenger" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be7e4fbce4566a93091107eadfafa0b5374bd1ffd3e0f6b850da3ff72eb183f" +checksum = "0f5c497659a7d9a87882e30ee9a8d0e20c8dcd32cd10d432410e7d6f146ef103" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -4452,13 +5050,12 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a03eb0f99d68a712c41e658e9a7782a0705d4ffcfb6232a43bd3f1ef9591002" +checksum = "54ec340c5cb17739a7b9ee189378bdac8f0e684b9b5ce539476c26e77cd6a27d" dependencies = [ "itertools 0.12.1", "p3-challenger", - "p3-dft", "p3-field", "p3-matrix", "p3-util", @@ -4467,9 +5064,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1556de968523fbe5d804ab50600ea306fcceea3500cfd7601e40882480524664" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" dependencies = [ "p3-field", "p3-matrix", @@ -4480,23 +5077,23 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec2af6e1ac47a2035af5165e668d64612c4b9ccabd06df37fc1fd381fdf8a71" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", "num-traits", "p3-util", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-fri" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f351ee9f9d4256455164565cd91e3e6d2487cc2a5355515fa2b6d479269188dd" +checksum = "4ef838ff24d9b3de3d88d0ac984937d2aa2923bf25cb108ba9b2dc357e472197" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -4513,9 +5110,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24d0f2907a374ebe4545fcff3120d6376d9630cf0bef30feedcfc5908ea2c37" +checksum = "c806c3afb8d6acf1d3a78f4be1e9e8b026f13c01b0cdd5ae2e068b70a3ba6d80" dependencies = [ "p3-field", "p3-matrix", @@ -4524,9 +5121,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e66badd47cedf6570e91a0cabc389b80dfd53ba1a6e9a45a3923fd54b86122ff" +checksum = "b46cef7ee8ae1f7cb560e7b7c137e272f6ba75be98179b3aa18695705231e0fb" dependencies = [ "p3-air", "p3-field", @@ -4538,33 +5135,33 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa272f3ae77ed8d73478aa7c89e712efb15bda3ff4aff10fadfe11a012cd5389" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" dependencies = [ "itertools 0.12.1", "p3-field", "p3-maybe-rayon", "p3-util", - "rand", + "rand 0.8.5", "serde", "tracing", ] [[package]] name = "p3-maybe-rayon" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eecad6292021858f282d643d9d1284ab112a200494d589863a9c4080e578ef0" +checksum = "fd9ac6f1d11ad4d3c13cc496911109d6282315e64f851a666ed80ad4d77c0983" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716c4dbe68a02f1541eb09149d07b8663a3a5951b1864a31cd67ff3bb0826e57" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -4572,14 +5169,14 @@ dependencies = [ "p3-matrix", "p3-symmetric", "p3-util", - "rand", + "rand 0.8.5", ] [[package]] name = "p3-merkle-tree" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7ebab52a03c26025988663a135aed62f5084a2e2ea262176dc8748efb593e5" +checksum = "1f4ced385da80dd6b3fd830eaa452c9fa899f2dc3f6463aceba00620d5f071ec" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -4594,23 +5191,23 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c042efa15beab7a8c4d0ca9b9e4cbda7582be0c08e121e830fec45f082935b" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" dependencies = [ "gcd", "p3-field", "p3-mds", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-symmetric" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9896a831f5b688adc13f6fbe1dcf66ecfaa4622a500f81aa745610e777acb72" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" dependencies = [ "itertools 0.12.1", "p3-field", @@ -4619,9 +5216,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437ebcd060c8a5479898030b114a93da8a86eb4c2e5f313d9eeaaf40c6e6f61" +checksum = "83ceaeef06b0bc97e5af2d220cd340b0b3a72bdf37e4584b73b3bc357cfc9ed3" dependencies = [ "itertools 0.12.1", "p3-air", @@ -4638,9 +5235,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dedb9d27ba47ac314c6fac4ca54e55c3e486c864d51ec5ba55dbe47b75121157" +checksum = "e1b84d324cd4ac09194a9d0e8ab1834e67a0e47dec477c28fcf9d68b2824c1fe" dependencies = [ "serde", ] @@ -4656,28 +5253,30 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -4710,7 +5309,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -4724,7 +5323,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -4736,10 +5335,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" dependencies = [ "blake2b_simd", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -4756,6 +5355,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + [[package]] name = "pbkdf2" version = "0.11.0" @@ -4787,6 +5392,15 @@ dependencies = [ "base64 0.13.1", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -4795,12 +5409,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.69", + "thiserror 2.0.12", "ucd-trie", ] @@ -4811,7 +5425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 2.8.0", ] [[package]] @@ -4826,80 +5440,71 @@ dependencies = [ [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", - "phf_shared 0.11.2", + "phf_shared", ] [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared 0.11.2", - "rand", + "phf_shared", + "rand 0.8.5", ] [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", - "phf_shared 0.11.2", + "phf_shared", "proc-macro2", "quote", - "syn 2.0.90", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", + "syn 2.0.100", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -4929,15 +5534,24 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.10.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] [[package]] name = "powerfmt" @@ -4947,11 +5561,11 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy", + "zerocopy 0.8.23", ] [[package]] @@ -4962,12 +5576,21 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" -version = "0.2.25" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" dependencies = [ "proc-macro2", - "syn 2.0.90", + "syn 2.0.100", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve 0.13.8", ] [[package]] @@ -4986,13 +5609,13 @@ dependencies = [ [[package]] name = "priority-queue" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714c75db297bc88a63783ffc6ab9f830698a6705aa0201416931759ef4c8183d" +checksum = "6af7c37f3487fd85d8e576b32095e1fe8c4860472f035d25472f1223b5026c88" dependencies = [ "autocfg", "equivalent", - "indexmap", + "indexmap 2.8.0", ] [[package]] @@ -5007,11 +5630,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] @@ -5038,11 +5661,33 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] @@ -5053,11 +5698,11 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "hex", "lazy_static", "procfs-core", - "rustix", + "rustix 0.38.44", ] [[package]] @@ -5066,7 +5711,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "hex", ] @@ -5089,17 +5734,17 @@ dependencies = [ [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ - "bit-set", - "bit-vec", - "bitflags 2.6.0", + "bit-set 0.8.0", + "bit-vec 0.8.0", + "bitflags 2.9.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", "rusty-fork", @@ -5109,9 +5754,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", "prost-derive", @@ -5119,15 +5764,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -5144,37 +5789,39 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", - "rustls 0.23.19", + "rustc-hash 2.1.1", + "rustls 0.23.25", "socket2", - "thiserror 2.0.4", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "getrandom", - "rand", - "ring 0.17.8", - "rustc-hash 2.1.0", - "rustls 0.23.19", + "getrandom 0.3.2", + "rand 0.9.0", + "ring 0.17.14", + "rustc-hash 2.1.1", + "rustls 0.23.25", "rustls-pki-types", "slab", - "thiserror 2.0.4", + "thiserror 2.0.12", "tinyvec", "tracing", "web-time", @@ -5182,9 +5829,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ "cfg_aliases", "libc", @@ -5196,13 +5843,19 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -5216,8 +5869,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", ] [[package]] @@ -5227,7 +5892,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -5236,7 +5911,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", ] [[package]] @@ -5245,7 +5929,19 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "range-set-blaze" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8421b5d459262eabbe49048d362897ff3e3830b44eac6cfe341d6acb2f0f13d2" +dependencies = [ + "gen_ops", + "itertools 0.12.1", + "num-integer", + "num-traits", ] [[package]] @@ -5279,11 +5975,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] [[package]] @@ -5292,7 +5988,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] @@ -5361,14 +6057,12 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "hyper-rustls 0.24.2", - "hyper-tls 0.5.0", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -5380,7 +6074,6 @@ dependencies = [ "sync_wrapper 0.1.2", "system-configuration 0.5.1", "tokio", - "tokio-native-tls", "tokio-rustls 0.24.1", "tower-service", "url", @@ -5393,9 +6086,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", @@ -5403,13 +6096,13 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.7", - "http 1.2.0", + "h2 0.4.8", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.5.1", - "hyper-rustls 0.27.3", - "hyper-tls 0.6.0", + "hyper 1.6.0", + "hyper-rustls 0.27.5", + "hyper-tls", "hyper-util", "ipnet", "js-sys", @@ -5420,7 +6113,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.19", + "rustls 0.23.25", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -5430,15 +6123,16 @@ dependencies = [ "system-configuration 0.6.1", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.7", + "webpki-roots 0.26.8", "windows-registry", ] @@ -5450,8 +6144,8 @@ checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", - "http 1.2.0", - "reqwest 0.12.9", + "http 1.3.1", + "reqwest 0.12.15", "serde", "thiserror 1.0.69", "tower-service", @@ -5495,15 +6189,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", - "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] @@ -5584,7 +6277,7 @@ version = "1.1.2" source = "git+https://github.com/risc0/risc0?tag=v1.1.2#2ba504fddd84376235d335ec4db6b2353d967fc9" dependencies = [ "bytemuck", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -5621,7 +6314,7 @@ dependencies = [ "hex-literal", "metal", "paste", - "rand_core", + "rand_core 0.6.4", "risc0-core", "risc0-zkvm-platform", "serde", @@ -5640,7 +6333,7 @@ dependencies = [ "borsh", "bytemuck", "bytes", - "getrandom", + "getrandom 0.2.15", "hex", "lazy-regex", "prost", @@ -5653,7 +6346,7 @@ dependencies = [ "risc0-zkp", "risc0-zkvm-platform", "rrs-lib", - "semver 1.0.23", + "semver 1.0.26", "serde", "sha2", "stability", @@ -5667,7 +6360,7 @@ version = "1.1.2" source = "git+https://github.com/risc0/risc0?tag=v1.1.2#2ba504fddd84376235d335ec4db6b2353d967fc9" dependencies = [ "bytemuck", - "getrandom", + "getrandom 0.2.15", "libm", "stability", ] @@ -5738,21 +6431,23 @@ dependencies = [ [[package]] name = "ruint" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint 0.4.6", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", "rlp", "ruint-macro", "serde", @@ -5780,9 +6475,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -5805,20 +6500,33 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.26", ] [[package]] name = "rustix" -version = "0.38.41" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +dependencies = [ + "bitflags 2.9.0", + "errno", + "libc", + "linux-raw-sys 0.9.3", + "windows-sys 0.59.0", ] [[package]] @@ -5828,21 +6536,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.8", + "ring 0.17.14", "rustls-webpki 0.101.7", "sct", ] [[package]] name = "rustls" -version = "0.23.19" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ + "aws-lc-rs", + "log", "once_cell", - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.0", "subtle", "zeroize", ] @@ -5856,7 +6566,19 @@ dependencies = [ "openssl-probe", "rustls-pemfile 1.0.4", "schannel", - "security-framework", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.2.0", ] [[package]] @@ -5879,9 +6601,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -5892,26 +6614,27 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ - "ring 0.17.8", + "aws-lc-rs", + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "rusty-fork" @@ -5927,9 +6650,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salsa20" @@ -5967,17 +6690,17 @@ version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "scc" -version = "2.2.5" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b202022bb57c049555430e11fc22fea12909276a80a4c3d368da36ac1d88ed" +checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" dependencies = [ "sdd", ] @@ -6021,15 +6744,15 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] [[package]] name = "sdd" -version = "3.0.4" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c1eeaf4b6a87c7479688c6d52b9f1153cedd3c489300564f932b065c6eab95" +checksum = "584e070911c7017da6cb2eb0788d09f43d789029b5877d3e5ecc8acf86ceee21" [[package]] name = "sec1" @@ -6065,8 +6788,21 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.9.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +dependencies = [ + "bitflags 2.9.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -6074,9 +6810,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -6093,9 +6829,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -6123,29 +6859,29 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.215" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -6155,9 +6891,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ "itoa", "serde", @@ -6165,13 +6901,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -6201,7 +6937,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap", + "indexmap 2.8.0", "itoa", "ryu", "serde", @@ -6230,7 +6966,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -6312,7 +7048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -6322,26 +7058,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "simple_asn1" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint 0.4.6", "num-traits", - "thiserror 1.0.69", + "thiserror 2.0.12", "time", ] [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "size" @@ -6360,9 +7096,12 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] [[package]] name = "snowbridge-amcl" @@ -6398,13 +7137,26 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "sp1-build" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "anyhow", + "cargo_metadata", + "chrono", + "clap", + "dirs", +] + [[package]] name = "sp1-core-executor" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "bytemuck", + "clap", "elf", "enum-map", "eyre", @@ -6414,16 +7166,21 @@ dependencies = [ "log", "nohash-hasher", "num", + "p3-baby-bear", "p3-field", "p3-maybe-rayon", - "rand", + "p3-util", + "rand 0.8.5", + "range-set-blaze", "rrs-succinct", "serde", + "serde_json", "sp1-curves", "sp1-primitives", "sp1-stark", "strum", "strum_macros", + "subenum", "thiserror 1.0.69", "tiny-keccak", "tracing", @@ -6433,13 +7190,16 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", + "cbindgen", + "cc", "cfg-if", "elliptic-curve 0.13.8", - "generic-array 1.1.1", + "generic-array 1.1.0", + "glob", "hashbrown 0.14.5", "hex", "itertools 0.13.0", @@ -6447,18 +7207,24 @@ dependencies = [ "log", "num", "num_cpus", + "p256 0.13.2", "p3-air", "p3-baby-bear", - "p3-blake3", "p3-challenger", "p3-field", "p3-keccak-air", "p3-matrix", "p3-maybe-rayon", + "p3-poseidon2", + "p3-symmetric", "p3-uni-stark", "p3-util", - "rand", + "pathdiff", + "rand 0.8.5", + "rayon", + "rayon-scan", "serde", + "serde_json", "size", "snowbridge-amcl", "sp1-core-executor", @@ -6478,19 +7244,35 @@ dependencies = [ "web-time", ] +[[package]] +name = "sp1-cuda" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "serde", + "sp1-core-machine", + "sp1-prover", + "tokio", + "tracing", + "twirp-rs", +] + [[package]] name = "sp1-curves" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "cfg-if", - "curve25519-dalek", "dashu", "elliptic-curve 0.13.8", - "generic-array 1.1.1", + "generic-array 1.1.0", "itertools 0.13.0", "k256", "num", + "p256 0.13.2", "p3-field", "serde", "snowbridge-amcl", @@ -6501,8 +7283,8 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -6510,8 +7292,8 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "hex", @@ -6527,16 +7309,19 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", "clap", "dirs", + "downloader", + "enum-map", "eyre", + "hashbrown 0.14.5", + "hex", "itertools 0.13.0", - "lazy_static", "lru", "num-bigint 0.4.6", "p3-baby-bear", @@ -6546,11 +7331,12 @@ dependencies = [ "p3-field", "p3-matrix", "p3-symmetric", + "p3-util", "rayon", - "reqwest 0.11.27", "serde", "serde_json", "serial_test", + "sha2", "sp1-core-executor", "sp1-core-machine", "sp1-primitives", @@ -6559,17 +7345,16 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", - "subtle-encoding", - "tempfile", "thiserror 1.0.69", "tracing", + "tracing-appender", "tracing-subscriber 0.3.19", ] [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -6584,8 +7369,9 @@ dependencies = [ "p3-fri", "p3-matrix", "p3-symmetric", + "p3-uni-stark", "p3-util", - "rand", + "rand 0.8.5", "rayon", "serde", "sp1-core-executor", @@ -6601,8 +7387,8 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", "itertools 0.13.0", @@ -6622,13 +7408,18 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", - "ff 0.13.0", + "cbindgen", + "cc", + "cfg-if", + "ff 0.13.1", + "glob", "hashbrown 0.14.5", "itertools 0.13.0", + "num_cpus", "p3-air", "p3-baby-bear", "p3-bn254-fr", @@ -6643,6 +7434,8 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "pathdiff", + "rand 0.8.5", "serde", "sp1-core-machine", "sp1-derive", @@ -6657,8 +7450,8 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -6666,12 +7459,12 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", - "bindgen", + "bindgen 0.70.1", "cc", "cfg-if", "hex", @@ -6691,16 +7484,19 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", "alloy-sol-types", "anyhow", "async-trait", + "backoff", "bincode", "cfg-if", "dirs", - "ethers", "futures", "hashbrown 0.14.5", "hex", @@ -6711,11 +7507,14 @@ dependencies = [ "p3-field", "p3-fri", "prost", - "reqwest 0.12.9", + "reqwest 0.12.15", "reqwest-middleware", "serde", + "serde_json", + "sp1-build", "sp1-core-executor", "sp1-core-machine", + "sp1-cuda", "sp1-primitives", "sp1-prover", "sp1-stark", @@ -6724,20 +7523,20 @@ dependencies = [ "tempfile", "thiserror 1.0.69", "tokio", + "tonic", "tracing", "twirp-rs", - "vergen", ] [[package]] name = "sp1-stark" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "arrayref", - "getrandom", "hashbrown 0.14.5", "itertools 0.13.0", + "num-bigint 0.4.6", "num-traits", "p3-air", "p3-baby-bear", @@ -6760,7 +7559,6 @@ dependencies = [ "strum", "strum_macros", "sysinfo", - "thiserror 1.0.69", "tracing", ] @@ -6803,7 +7601,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -6820,14 +7618,13 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "string_cache" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe" dependencies = [ "new_debug_unreachable", - "once_cell", "parking_lot", - "phf_shared 0.10.0", + "phf_shared", "precomputed-hash", ] @@ -6856,23 +7653,26 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] -name = "subtle" -version = "2.6.1" +name = "subenum" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "4f5d5dfb8556dd04017db5e318bbeac8ab2b0c67b76bf197bfb79e9b29f18ecf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "subtle-encoding" -version = "0.5.1" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "svm-rs" @@ -6885,7 +7685,7 @@ dependencies = [ "hex", "once_cell", "reqwest 0.11.27", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", "sha2", @@ -6907,9 +7707,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -6918,14 +7718,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +checksum = "d975606bae72d8aad5b07d9342465e123a2cccf53a5a735aedf81ca92a709ecb" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -6951,7 +7751,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -6976,7 +7776,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys 0.5.0", ] @@ -6986,8 +7786,8 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.9.0", + "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -7038,14 +7838,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.14.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", "fastrand", + "getrandom 0.3.2", "once_cell", - "rustix", + "rustix 1.0.3", "windows-sys 0.59.0", ] @@ -7071,11 +7871,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.4" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.4", + "thiserror-impl 2.0.12", ] [[package]] @@ -7086,18 +7886,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "2.0.4" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -7110,17 +7910,24 @@ dependencies = [ "once_cell", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + [[package]] name = "time" -version = "0.3.37" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -7129,15 +7936,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -7164,9 +7971,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -7179,9 +7986,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.42.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -7197,13 +8004,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -7228,11 +8035,22 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.1" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls 0.23.25", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ - "rustls 0.23.19", + "futures-core", + "pin-project-lite", "tokio", ] @@ -7272,13 +8090,13 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.19", + "rustls 0.23.25", "rustls-pki-types", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tungstenite 0.23.0", - "webpki-roots 0.26.7", + "webpki-roots 0.26.8", ] [[package]] @@ -7290,20 +8108,20 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.19", + "rustls 0.23.25", "rustls-pki-types", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tungstenite 0.24.0", - "webpki-roots 0.26.7", + "webpki-roots 0.26.8", ] [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -7314,14 +8132,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] @@ -7339,34 +8157,87 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap", + "indexmap 2.8.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.20", + "winnow 0.7.4", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.22.1", + "bytes", + "h2 0.4.8", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.6.0", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "rustls-native-certs 0.8.1", + "rustls-pemfile 2.2.0", + "socket2", + "tokio", + "tokio-rustls 0.26.2", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", ] [[package]] name = "tower" -version = "0.5.1" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "indexmap 1.9.3", + "pin-project", "pin-project-lite", - "sync_wrapper 0.1.2", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", "tokio", "tower-layer", "tower-service", @@ -7397,6 +8268,18 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber 0.3.19", +] + [[package]] name = "tracing-attributes" version = "0.1.28" @@ -7405,7 +8288,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -7497,7 +8380,7 @@ dependencies = [ "http 0.2.12", "httparse", "log", - "rand", + "rand 0.8.5", "rustls 0.21.12", "sha1", "thiserror 1.0.69", @@ -7514,10 +8397,10 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.2.0", + "http 1.3.1", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", "thiserror 1.0.69", "url", @@ -7533,12 +8416,12 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.2.0", + "http 1.3.1", "httparse", "log", "native-tls", - "rand", - "rustls 0.23.19", + "rand 0.8.5", + "rustls 0.23.25", "rustls-pki-types", "sha1", "thiserror 1.0.69", @@ -7554,12 +8437,12 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.2.0", + "http 1.3.1", "httparse", "log", "native-tls", - "rand", - "rustls 0.23.19", + "rand 0.8.5", + "rustls 0.23.25", "rustls-pki-types", "sha1", "thiserror 1.0.69", @@ -7575,24 +8458,24 @@ dependencies = [ "async-trait", "axum", "futures", - "http 1.2.0", + "http 1.3.1", "http-body-util", - "hyper 1.5.1", + "hyper 1.6.0", "prost", - "reqwest 0.12.9", + "reqwest 0.12.15", "serde", "serde_json", "thiserror 1.0.69", "tokio", - "tower", + "tower 0.5.2", "url", ] [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -7620,21 +8503,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" - -[[package]] -name = "unicode-width" -version = "0.1.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-width" @@ -7713,21 +8590,21 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom", + "getrandom 0.2.15", "serde", ] [[package]] name = "uuid" -version = "1.11.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -7744,19 +8621,6 @@ dependencies = [ "serde", ] -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "git2", - "rustversion", - "time", -] - [[package]] name = "version_check" version = "0.9.5" @@ -7771,9 +8635,9 @@ checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -7808,7 +8672,7 @@ dependencies = [ "futures-util", "headers", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "log", "mime", "mime_guess", @@ -7832,37 +8696,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.47" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -7873,9 +8746,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7883,22 +8756,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" @@ -7915,9 +8791,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -7941,13 +8817,25 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.44", +] + [[package]] name = "winapi" version = "0.3.9" @@ -7998,34 +8886,39 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", "windows-strings", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -8079,13 +8972,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -8098,6 +9007,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -8110,6 +9025,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -8122,12 +9043,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -8140,6 +9073,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -8152,6 +9091,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -8164,6 +9109,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -8176,6 +9127,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -8187,9 +9144,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.20" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] @@ -8204,6 +9161,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -8276,7 +9242,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "synstructure", ] @@ -8286,8 +9252,16 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", ] [[package]] @@ -8298,27 +9272,38 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", "synstructure", ] @@ -8339,7 +9324,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -8361,7 +9346,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.100", ] [[package]] @@ -8404,7 +9389,7 @@ dependencies = [ "jubjub", "lazy_static", "pasta_curves 0.5.1", - "rand", + "rand 0.8.5", "serde", "sha2", "sha3", @@ -8432,9 +9417,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/batcher/aligned-batcher/Cargo copy.toml b/batcher/aligned-batcher/Cargo copy.toml new file mode 100644 index 0000000000..6bb6ab28b9 --- /dev/null +++ b/batcher/aligned-batcher/Cargo copy.toml @@ -0,0 +1,36 @@ +[package] +name = "aligned-batcher" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio-tungstenite = "0.21.0" +futures-util = "0.3.30" +tokio = { version = "1.37.0", features = ["rt", "rt-multi-thread", "macros"] } +log = "0.4.21" +env_logger = "0.11.3" +serde_json = "1.0.117" +serde = { version = "1.0.201", features = ["derive"] } +clap = { version = "4.5.4", features = ["derive"] } +sha3 = "0.10.8" +aws-config = "1.4.0" +aws-sdk-s3 = "1.29.0" +bytes = "1.7.1" +hex = "0.4.3" +dotenvy = "0.15.0" +anyhow = "1.0.83" +ethers = { version = "2.0", features = ["ws", "rustls"] } +lambdaworks-crypto = { git = "https://github.com/lambdaclass/lambdaworks.git", rev = "efd46f0b0aea3aa95d94bba7de86cb96611b40d3", features = ["serde"] } +serde_yaml = "0.9.34" +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } +risc0-zkvm = { git = "https://github.com/risc0/risc0", tag = "v1.1.2" } +bincode = "1.3.3" +aligned-sdk = { path = "../aligned-sdk" } +ciborium = "=0.2.2" +priority-queue = "2.1.0" +reqwest = { version = "0.12", features = ["json"] } + +once_cell = "1.20.2" +warp = "0.3.7" +prometheus = { version = "0.13.4", features = ["process"] } +backon = "1.2.0" diff --git a/batcher/aligned-batcher/Cargo.toml b/batcher/aligned-batcher/Cargo.toml index 8aeb70541f..6bb6ab28b9 100644 --- a/batcher/aligned-batcher/Cargo.toml +++ b/batcher/aligned-batcher/Cargo.toml @@ -22,7 +22,7 @@ anyhow = "1.0.83" ethers = { version = "2.0", features = ["ws", "rustls"] } lambdaworks-crypto = { git = "https://github.com/lambdaclass/lambdaworks.git", rev = "efd46f0b0aea3aa95d94bba7de86cb96611b40d3", features = ["serde"] } serde_yaml = "0.9.34" -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } risc0-zkvm = { git = "https://github.com/risc0/risc0", tag = "v1.1.2" } bincode = "1.3.3" aligned-sdk = { path = "../aligned-sdk" } diff --git a/batcher/aligned-batcher/rust-toolchain b/batcher/aligned-batcher/rust-toolchain index 989860f406..9397b95266 100644 --- a/batcher/aligned-batcher/rust-toolchain +++ b/batcher/aligned-batcher/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-04-17" +channel = "stable" components = ["llvm-tools", "rustc-dev"] diff --git a/batcher/aligned-batcher/src/sp1/mod.rs b/batcher/aligned-batcher/src/sp1/mod.rs index 303c08a62d..ade4f0ac07 100644 --- a/batcher/aligned-batcher/src/sp1/mod.rs +++ b/batcher/aligned-batcher/src/sp1/mod.rs @@ -1,8 +1,8 @@ use log::{debug, error, warn}; -use sp1_sdk::ProverClient; +use sp1_sdk::{EnvProver, ProverClient}; use std::sync::OnceLock; -static SP1_PROVER_CLIENT: OnceLock = OnceLock::new(); +static SP1_PROVER_CLIENT: OnceLock = OnceLock::new(); pub fn verify_sp1_proof(proof: &[u8], elf: &[u8]) -> bool { if proof.is_empty() || elf.is_empty() { @@ -11,10 +11,11 @@ pub fn verify_sp1_proof(proof: &[u8], elf: &[u8]) -> bool { } debug!("Verifying SP1 proof"); - let prover_client = SP1_PROVER_CLIENT.get_or_init(ProverClient::new); + let prover_client = SP1_PROVER_CLIENT.get_or_init(ProverClient::from_env); let (_pk, vk) = prover_client.setup(elf); if let Ok(proof) = bincode::deserialize(proof) { + //client.verify(&proof, &vk).expect("failed to verify proof"); let res = prover_client.verify(&proof, &vk).is_ok(); debug!("SP1 proof is valid: {}", res); if res { diff --git a/batcher/aligned/rust-toolchain b/batcher/aligned/rust-toolchain index 989860f406..9397b95266 100644 --- a/batcher/aligned/rust-toolchain +++ b/batcher/aligned/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-04-17" +channel = "stable" components = ["llvm-tools", "rustc-dev"] diff --git a/examples/validating-public-input/sp1/fibonacci/program/Cargo.toml b/examples/validating-public-input/sp1/fibonacci/program/Cargo.toml index 3ef630f607..f8669296d7 100644 --- a/examples/validating-public-input/sp1/fibonacci/program/Cargo.toml +++ b/examples/validating-public-input/sp1/fibonacci/program/Cargo.toml @@ -4,4 +4,4 @@ name = "fibonacci-program" edition = "2021" [dependencies] -sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } diff --git a/examples/validating-public-input/sp1/fibonacci/script/Cargo.toml b/examples/validating-public-input/sp1/fibonacci/script/Cargo.toml index dbc34b7f75..a2b9eddd0f 100644 --- a/examples/validating-public-input/sp1/fibonacci/script/Cargo.toml +++ b/examples/validating-public-input/sp1/fibonacci/script/Cargo.toml @@ -9,7 +9,7 @@ name = "fibonacci" path = "src/main.rs" [dependencies] -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } serde = { version = "1.0", default-features = false, features = ["derive"] } clap = { version = "4.0", features = ["derive", "env"] } @@ -19,5 +19,5 @@ alloy-sol-types = { workspace = true } bincode = "1.3.3" [build-dependencies] -sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } sp1-build = "3.0.0" diff --git a/examples/validating-public-input/sp1/fibonacci/script/src/main.rs b/examples/validating-public-input/sp1/fibonacci/script/src/main.rs index 6f2200065b..70b8cb2a37 100644 --- a/examples/validating-public-input/sp1/fibonacci/script/src/main.rs +++ b/examples/validating-public-input/sp1/fibonacci/script/src/main.rs @@ -8,7 +8,7 @@ fn main() { sp1_sdk::utils::setup_logger(); // Setup the prover client. - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Setup the inputs. let n = 500; diff --git a/examples/zkquiz/quiz/program/Cargo.toml b/examples/zkquiz/quiz/program/Cargo.toml index a240fc3167..e6ce2a43ee 100644 --- a/examples/zkquiz/quiz/program/Cargo.toml +++ b/examples/zkquiz/quiz/program/Cargo.toml @@ -5,7 +5,7 @@ name = "quiz-program" edition = "2021" [dependencies] -sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } tiny-keccak = { git = "https://github.com/sp1-patches/tiny-keccak", branch = "patch-v2.0.2", features = [ "sha3", ] } diff --git a/examples/zkquiz/quiz/script/Cargo.toml b/examples/zkquiz/quiz/script/Cargo.toml index 3e2a7d332b..36ecca237e 100644 --- a/examples/zkquiz/quiz/script/Cargo.toml +++ b/examples/zkquiz/quiz/script/Cargo.toml @@ -5,7 +5,7 @@ name = "quiz-script" edition = "2021" [dependencies] -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } aligned-sdk = { path = "../../../../batcher/aligned-sdk" } ethers = { version = "2.0", features = ["ws", "rustls"] } @@ -19,4 +19,4 @@ hex = "0.4.3" dialoguer = "0.11.0" [build-dependencies] -sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } diff --git a/examples/zkquiz/quiz/script/src/main.rs b/examples/zkquiz/quiz/script/src/main.rs index dd4885cd5a..e62535b188 100644 --- a/examples/zkquiz/quiz/script/src/main.rs +++ b/examples/zkquiz/quiz/script/src/main.rs @@ -178,7 +178,7 @@ async fn main() { println!("Generating Proof "); - let client = ProverClient::new(); + let client = ProverClient::from_env(); let (pk, vk) = client.setup(ELF); let Ok(proof) = client.prove(&pk, stdin).run() else { diff --git a/operator/sp1/lib/Cargo.lock b/operator/sp1/lib/Cargo.lock index c7c5a2d3bd..bf158ebd7f 100644 --- a/operator/sp1/lib/Cargo.lock +++ b/operator/sp1/lib/Cargo.lock @@ -2,16 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "addchain" version = "0.2.0" @@ -38,17 +28,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "ahash" version = "0.8.11" @@ -58,7 +37,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -72,99 +51,358 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "alloy-consensus" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-eip2124" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eips" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "762414662d793d7aaa36ee3af6928b6be23227df1681ce9c039f6f11daadef64" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be03f2ebc00cf88bd06d3c6caf387dceaa9c7e6b268216779fa68a9bf8ab4e6" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] [[package]] name = "alloy-primitives" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +checksum = "eacedba97e65cdc7ab592f2b22ef5d3ab8d60b2056bc3a6e6363577e8270ec6f" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 0.99.18", - "hex-literal", + "derive_more 2.0.1", + "foldhash", + "hashbrown 0.15.2", + "indexmap 2.8.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", - "rand", + "rand 0.8.5", "ruint", + "rustc-hash 2.1.1", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-rlp" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" +checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" dependencies = [ + "alloy-rlp-derive", "arrayvec", "bytes", ] +[[package]] +name = "alloy-rlp-derive" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "318ae46dd12456df42527c3b94c1ae9001e1ceb707f7afe2c7807ac4e49ebad9" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4dbee4d82f8a22dde18c28257bed759afeae7ba73da4a1479a039fd1445d04" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-serde" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f96b3526fdd779a4bd0f37319cfb4172db52a7ac24cdbb8804b72091c18e1701" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-signer-local" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe8f78cd6b7501c7e813a1eb4a087b72d23af51f5bb66d4e948dc840bdd207d8" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand 0.8.5", + "thiserror 2.0.12", +] + [[package]] name = "alloy-sol-macro" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +checksum = "3637022e781bc73a9e300689cd91105a0e6be00391dd4e2110a71cc7e9f20a94" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +checksum = "3b9bd22d0bba90e40f40c625c33d39afb7d62b22192476a2ce1dcf8409dce880" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", - "indexmap", - "proc-macro-error", + "heck 0.5.0", + "indexmap 2.8.0", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +checksum = "05ae4646e8123ec2fd10f9c22e361ffe4365c42811431829c2eabae528546bcc" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", + "macro-string", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "syn-solidity", ] [[package]] name = "alloy-sol-types" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +checksum = "767957235807b021126dca1598ac3ef477007eace07961607dc5f490550909c7" dependencies = [ "alloy-primitives", "alloy-sol-macro", "const-hex", +] + +[[package]] +name = "alloy-trie" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 1.0.0", + "nybbles", "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", ] [[package]] @@ -178,9 +416,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.17" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -193,9 +431,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" @@ -217,19 +455,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "ark-ff" @@ -342,7 +581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -352,7 +591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -366,27 +605,41 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] -name = "async-trait" -version = "0.1.83" +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "async_io_stream" -version = "0.3.3" +name = "async-trait" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ - "futures", - "pharos", - "rustc_version 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -397,13 +650,13 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -414,18 +667,18 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axum" -version = "0.7.7" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", "bytes", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-util", "itoa", "matchit", @@ -438,9 +691,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper", "tokio", - "tower", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -455,18 +708,32 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 1.0.1", + "sync_wrapper", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -489,18 +756,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -509,15 +764,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bech32" -version = "0.9.1" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bincode" @@ -534,7 +783,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags", "cexpr", "clang-sys", "itertools 0.13.0", @@ -545,35 +794,29 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bitvec" @@ -598,25 +841,12 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.5.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", - "cc", - "cfg-if", "constant_time_eq", ] @@ -638,37 +868,39 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pairing", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] -name = "bs58" -version = "0.5.1" +name = "blst" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" dependencies = [ - "sha2", - "tinyvec", -] - + "cc", + "glob", + "threadpool", + "zeroize", +] + [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" [[package]] name = "byteorder" @@ -678,10 +910,25 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", "serde", ] @@ -696,9 +943,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -711,20 +958,37 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck 0.4.1", + "indexmap 2.8.0", + "log", + "proc-macro2", + "quote", "serde", "serde_json", - "thiserror", + "syn 2.0.100", + "tempfile", + "toml", ] [[package]] name = "cc" -version = "1.1.31" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -744,22 +1008,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chrono" -version = "0.4.38" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "num-traits", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] -name = "cipher" -version = "0.4.4" +name = "chrono" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ - "crypto-common", - "inout", + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-link", ] [[package]] @@ -775,9 +1038,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" dependencies = [ "clap_builder", "clap_derive", @@ -785,9 +1048,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" dependencies = [ "anstream", "anstyle", @@ -797,73 +1060,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core", - "digest 0.10.7", - "hmac", - "k256", - "serde", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-core" -version = "0.8.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array 0.14.7", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2", - "sha3", - "thiserror", -] +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "colorchoice" @@ -873,22 +1084,22 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", + "once_cell", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -904,22 +1115,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "constant_time_eq" -version = "0.3.1" +name = "const_format" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] [[package]] -name = "convert_case" -version = "0.4.0" +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -933,18 +1158,42 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -961,15 +1210,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -978,7 +1227,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -994,38 +1243,13 @@ dependencies = [ ] [[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "fiat-crypto", - "rustc_version 0.4.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.85", + "nix", + "windows-sys 0.59.0", ] [[package]] @@ -1113,14 +1337,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -1138,24 +1363,20 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.1", - "syn 2.0.85", + "derive_more-impl 1.0.0", ] [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl", + "derive_more-impl 2.0.1", ] [[package]] @@ -1166,7 +1387,19 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "unicode-xid", ] [[package]] @@ -1211,12 +1444,37 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downloader" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" +dependencies = [ + "digest 0.10.7", + "futures", + "rand 0.8.5", + "reqwest", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "dunce" version = "1.0.5" @@ -1239,9 +1497,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elf" @@ -1258,11 +1516,12 @@ dependencies = [ "base16ct", "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "generic-array 0.14.7", "group 0.13.0", + "pem-rfc7468", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -1270,36 +1529,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enr" -version = "0.10.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" -dependencies = [ - "base64 0.21.7", - "bytes", - "hex", - "k256", - "log", - "rand", - "rlp", - "serde", - "sha3", - "zeroize", -] +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enum-map" @@ -1319,348 +1551,94 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] -name = "eth-keystore" -version = "0.5.0" +name = "eyre" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ - "aes", - "ctr", - "digest 0.10.7", - "hex", - "hmac", - "pbkdf2 0.11.0", - "rand", - "scrypt", - "serde", - "serde_json", - "sha2", - "sha3", - "thiserror", - "uuid", + "indenter", + "once_cell", ] [[package]] -name = "ethabi" -version = "18.0.0" +name = "fastrand" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" -dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror", - "uint", -] +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] -name = "ethbloom" -version = "0.13.0" +name = "fastrlp" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] -name = "ethereum-types" -version = "0.14.1" +name = "fastrlp" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] -name = "ethers" -version = "2.0.14" +name = "ff" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-middleware", - "ethers-providers", - "ethers-signers", + "bitvec", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "ethers-addressbook" -version = "2.0.14" +name = "ff" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" -dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", -] - -[[package]] -name = "ethers-contract" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" -dependencies = [ - "const-hex", - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" -dependencies = [ - "Inflector", - "const-hex", - "dunce", - "ethers-core", - "eyre", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.85", - "toml", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" -dependencies = [ - "Inflector", - "const-hex", - "ethers-contract-abigen", - "ethers-core", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.85", -] - -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec", - "bytes", - "cargo_metadata", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array 0.14.7", - "k256", - "num_enum 0.7.3", - "once_cell", - "open-fastrlp", - "rand", - "rlp", - "serde", - "serde_json", - "strum", - "syn 2.0.85", - "tempfile", - "thiserror", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.7", - "bytes", - "const-hex", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "http 0.2.12", - "instant", - "jsonwebtoken", - "once_cell", - "pin-project", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" -dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "const-hex", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "rand", - "sha2", - "thiserror", - "tracing", -] - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "fastrlp" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", "byteorder", "ff_derive", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "ff_derive" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +checksum = "f10d12652036b0e99197587c6ba87a8fc3031986499973c030d8b44fcc151b60" dependencies = [ "addchain", - "cfg-if", "num-bigint 0.3.3", "num-integer", "num-traits", @@ -1669,12 +1647,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fixed-hash" version = "0.8.0" @@ -1682,7 +1654,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -1695,24 +1667,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "form_urlencoded" @@ -1777,16 +1734,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-locks" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" -dependencies = [ - "futures-channel", - "futures-task", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -1795,7 +1742,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -1810,16 +1757,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - [[package]] name = "futures-util" version = "0.3.31" @@ -1839,13 +1776,10 @@ dependencies = [ ] [[package]] -name = "fxhash" -version = "0.2.1" +name = "futures-utils-wasm" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" [[package]] name = "gcd" @@ -1853,6 +1787,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" +[[package]] +name = "gen_ops" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "304de19db7028420975a296ab0fcbbc8e69438c4ed254a1e41e2a7f37d5f0e0a" + [[package]] name = "generic-array" version = "0.14.7" @@ -1881,46 +1821,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "git2" -version = "0.19.0" +name = "getrandom" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ - "bitflags 2.6.0", + "cfg-if", + "js-sys", "libc", - "libgit2-sys", - "log", - "url", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] -name = "glob" -version = "0.3.1" +name = "gimli" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] -name = "gloo-timers" -version = "0.2.6" +name = "glob" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "group" @@ -1930,7 +1861,7 @@ checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", "memuse", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -1940,43 +1871,24 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", - "rand_core", + "ff 0.13.1", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap", + "http", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -2002,10 +1914,16 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pasta_curves 0.4.1", - "rand_core", + "rand_core 0.6.4", "rayon", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -2019,23 +1937,21 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", "foldhash", + "serde", ] [[package]] -name = "hashers" -version = "1.0.1" +name = "heck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "heck" @@ -2054,12 +1970,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +dependencies = [ + "serde", +] [[package]] name = "hmac" @@ -2072,37 +1985,15 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -2110,27 +2001,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "futures-core", + "http", + "http-body", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -2140,40 +2031,16 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "httparse", "httpdate", "itoa", @@ -2185,13 +2052,13 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.5.0", + "http", + "hyper", "hyper-util", "rustls", "rustls-pki-types", @@ -2202,46 +2069,30 @@ dependencies = [ ] [[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper 0.14.31", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" +name = "hyper-timeout" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "bytes", - "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-util", - "native-tls", + "pin-project-lite", "tokio", - "tokio-native-tls", "tower-service", ] [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "hyper 1.5.0", + "http", + "http-body", + "hyper", "pin-project-lite", "socket2", "tokio", @@ -2250,51 +2101,185 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.5.0" +name = "iana-time-zone" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", ] [[package]] -name = "impl-codec" -version = "0.6.0" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "parity-scale-codec", + "cc", ] [[package]] -name = "impl-rlp" -version = "0.3.0" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "rlp", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "icu_locid" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ - "serde", + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", ] [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -2305,34 +2290,36 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.6.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", + "serde", ] [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ "console", - "instant", "number_prefix", "portable-atomic", "unicode-width", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.7", + "web-time", ] [[package]] @@ -2346,9 +2333,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -2384,41 +2371,28 @@ dependencies = [ ] [[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.32" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ - "libc", + "either", ] [[package]] -name = "js-sys" -version = "0.3.72" +name = "itoa" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" -dependencies = [ - "wasm-bindgen", -] +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "jsonwebtoken" -version = "8.3.0" +name = "js-sys" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ - "base64 0.21.7", - "pem", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", + "once_cell", + "wasm-bindgen", ] [[package]] @@ -2431,7 +2405,7 @@ dependencies = [ "bls12_381", "ff 0.12.1", "group 0.12.1", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2474,32 +2448,20 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.9.8", + "spin", ] [[package]] name = "libc" -version = "0.2.161" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" - -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -2507,9 +2469,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -2517,27 +2479,21 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", ] [[package]] -name = "libz-sys" -version = "1.1.20" +name = "linux-raw-sys" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" [[package]] -name = "linux-raw-sys" -version = "0.4.14" +name = "litemap" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "lock_api" @@ -2551,9 +2507,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" [[package]] name = "lru" @@ -2561,7 +2517,18 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.0", + "hashbrown 0.15.2", +] + +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -2587,9 +2554,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memuse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" +checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" [[package]] name = "mime" @@ -2605,40 +2572,34 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] [[package]] -name = "native-tls" -version = "0.2.12" +name = "nix" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", ] [[package]] @@ -2798,16 +2759,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive 0.7.3", + "num_enum_derive", ] [[package]] @@ -2822,27 +2774,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "num_enum_derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.85", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "number_prefix" version = "0.4.0" @@ -2850,88 +2781,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "object" -version = "0.36.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] - -[[package]] -name = "open-fastrlp-derive" -version = "0.1.1" +name = "nybbles" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", + "const-hex", + "serde", + "smallvec", ] [[package]] -name = "openssl" -version = "0.10.68" +name = "object" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "memchr", ] [[package]] -name = "openssl-macros" -version = "0.1.1" +name = "once_cell" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.85", -] +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.104" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "option-ext" @@ -2945,11 +2824,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "p3-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066f571b2e645505ed5972dd0e1e252ba03352150830c9566769ca711c0f1e9b" +checksum = "02634a874a2286b73f3e0a121e79d6774e92ccbec648c5568f4a7479a4830858" dependencies = [ "p3-field", "p3-matrix", @@ -2957,49 +2848,39 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00f571044d299310d9659c6e51c98422de3bf94b8577f7f30cf59cf2043e40" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" dependencies = [ "num-bigint 0.4.6", "p3-field", "p3-mds", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] -[[package]] -name = "p3-blake3" -version = "0.1.4-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4cb69ae54a279bbbd477566d1bdb71aa879b528fd658d0fcfc36f54b00217c" -dependencies = [ - "blake3", - "p3-symmetric", -] - [[package]] name = "p3-bn254-fr" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf19917f986d45e9abb6d177e875824ced6eed096480d574fce16f2c45c721ea" +checksum = "f8c53da73873e24d751ec3bd9d8da034bb5f99c71f24f4903ff37190182bff10" dependencies = [ - "ff 0.13.0", + "ff 0.13.1", "num-bigint 0.4.6", "p3-field", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-challenger" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be7e4fbce4566a93091107eadfafa0b5374bd1ffd3e0f6b850da3ff72eb183f" +checksum = "0f5c497659a7d9a87882e30ee9a8d0e20c8dcd32cd10d432410e7d6f146ef103" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -3011,13 +2892,12 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a03eb0f99d68a712c41e658e9a7782a0705d4ffcfb6232a43bd3f1ef9591002" +checksum = "54ec340c5cb17739a7b9ee189378bdac8f0e684b9b5ce539476c26e77cd6a27d" dependencies = [ "itertools 0.12.1", "p3-challenger", - "p3-dft", "p3-field", "p3-matrix", "p3-util", @@ -3026,9 +2906,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1556de968523fbe5d804ab50600ea306fcceea3500cfd7601e40882480524664" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" dependencies = [ "p3-field", "p3-matrix", @@ -3039,23 +2919,23 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec2af6e1ac47a2035af5165e668d64612c4b9ccabd06df37fc1fd381fdf8a71" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", "num-traits", "p3-util", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-fri" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f351ee9f9d4256455164565cd91e3e6d2487cc2a5355515fa2b6d479269188dd" +checksum = "4ef838ff24d9b3de3d88d0ac984937d2aa2923bf25cb108ba9b2dc357e472197" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -3072,9 +2952,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24d0f2907a374ebe4545fcff3120d6376d9630cf0bef30feedcfc5908ea2c37" +checksum = "c806c3afb8d6acf1d3a78f4be1e9e8b026f13c01b0cdd5ae2e068b70a3ba6d80" dependencies = [ "p3-field", "p3-matrix", @@ -3083,9 +2963,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e66badd47cedf6570e91a0cabc389b80dfd53ba1a6e9a45a3923fd54b86122ff" +checksum = "b46cef7ee8ae1f7cb560e7b7c137e272f6ba75be98179b3aa18695705231e0fb" dependencies = [ "p3-air", "p3-field", @@ -3097,33 +2977,33 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa272f3ae77ed8d73478aa7c89e712efb15bda3ff4aff10fadfe11a012cd5389" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" dependencies = [ "itertools 0.12.1", "p3-field", "p3-maybe-rayon", "p3-util", - "rand", + "rand 0.8.5", "serde", "tracing", ] [[package]] name = "p3-maybe-rayon" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eecad6292021858f282d643d9d1284ab112a200494d589863a9c4080e578ef0" +checksum = "fd9ac6f1d11ad4d3c13cc496911109d6282315e64f851a666ed80ad4d77c0983" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716c4dbe68a02f1541eb09149d07b8663a3a5951b1864a31cd67ff3bb0826e57" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -3131,14 +3011,14 @@ dependencies = [ "p3-matrix", "p3-symmetric", "p3-util", - "rand", + "rand 0.8.5", ] [[package]] name = "p3-merkle-tree" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7ebab52a03c26025988663a135aed62f5084a2e2ea262176dc8748efb593e5" +checksum = "1f4ced385da80dd6b3fd830eaa452c9fa899f2dc3f6463aceba00620d5f071ec" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -3153,23 +3033,23 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c042efa15beab7a8c4d0ca9b9e4cbda7582be0c08e121e830fec45f082935b" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" dependencies = [ "gcd", "p3-field", "p3-mds", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-symmetric" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9896a831f5b688adc13f6fbe1dcf66ecfaa4622a500f81aa745610e777acb72" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" dependencies = [ "itertools 0.12.1", "p3-field", @@ -3178,9 +3058,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437ebcd060c8a5479898030b114a93da8a86eb4c2e5f313d9eeaaf40c6e6f61" +checksum = "83ceaeef06b0bc97e5af2d220cd340b0b3a72bdf37e4584b73b3bc357cfc9ed3" dependencies = [ "itertools 0.12.1", "p3-air", @@ -3197,9 +3077,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dedb9d27ba47ac314c6fac4ca54e55c3e486c864d51ec5ba55dbe47b75121157" +checksum = "e1b84d324cd4ac09194a9d0e8ab1834e67a0e47dec477c28fcf9d68b2824c1fe" dependencies = [ "serde", ] @@ -3215,28 +3095,30 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -3272,7 +3154,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -3284,10 +3166,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" dependencies = [ "blake2b_simd", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -3299,31 +3181,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" +name = "pathdiff" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] -name = "pem" -version = "1.1.1" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "base64 0.13.1", + "base64ct", ] [[package]] @@ -3334,50 +3203,40 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror", + "thiserror 2.0.12", "ucd-trie", ] -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures", - "rustc_version 0.4.1", -] - [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3395,17 +3254,11 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" - [[package]] name = "portable-atomic" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" [[package]] name = "powerfmt" @@ -3415,21 +3268,30 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy", + "zerocopy 0.8.23", ] [[package]] name = "prettyplease" -version = "0.2.25" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" dependencies = [ "proc-macro2", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", ] [[package]] @@ -3440,9 +3302,6 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", "uint", ] @@ -3458,59 +3317,57 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", - "version_check", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ + "proc-macro-error-attr2", "proc-macro2", "quote", - "version_check", + "syn 2.0.100", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", "rusty-fork", @@ -3520,9 +3377,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", "prost-derive", @@ -3530,15 +3387,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -3549,45 +3406,51 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.0.0", + "rustc-hash 2.1.1", "rustls", "socket2", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.8" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "rand", - "ring 0.17.8", - "rustc-hash 2.0.0", + "getrandom 0.3.2", + "rand 0.9.0", + "ring", + "rustc-hash 2.1.1", "rustls", + "rustls-pki-types", "slab", - "thiserror", + "thiserror 2.0.12", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", @@ -3597,13 +3460,19 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -3617,8 +3486,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", ] [[package]] @@ -3628,7 +3509,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3637,7 +3528,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", ] [[package]] @@ -3646,7 +3546,19 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "range-set-blaze" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8421b5d459262eabbe49048d362897ff3e3830b44eac6cfe341d6acb2f0f13d2" +dependencies = [ + "gen_ops", + "itertools 0.12.1", + "num-integer", + "num-traits", ] [[package]] @@ -3680,11 +3592,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -3693,9 +3605,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3706,7 +3618,7 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -3721,9 +3633,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -3744,84 +3656,39 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.31", - "hyper-tls 0.5.0", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration 0.5.1", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "reqwest" -version = "0.12.8" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ - "base64 0.22.1", + "base64", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-rustls", - "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-pemfile 2.2.0", + "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration 0.6.1", + "sync_wrapper", "tokio", - "tokio-native-tls", "tokio-rustls", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -3840,62 +3707,37 @@ checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", - "http 1.1.0", - "reqwest 0.12.8", + "http", + "reqwest", "serde", - "thiserror", + "thiserror 1.0.69", "tower-service", ] [[package]] name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "ring" -version = "0.16.20" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", + "hmac", + "subtle", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", - "spin 0.9.8", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "rlp" version = "0.5.2" @@ -3903,21 +3745,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", - "rlp-derive", "rustc-hex", ] -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rrs-succinct" version = "0.1.0" @@ -3925,27 +3755,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3372685893a9f67d18e98e792d690017287fd17379a83d798d958e517d380fa9" dependencies = [ "downcast-rs", - "num_enum 0.5.11", + "num_enum", "paste", ] [[package]] name = "ruint" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint 0.4.6", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", "rlp", "ruint-macro", "serde", @@ -3973,9 +3805,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -3998,30 +3830,31 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.26", ] [[package]] name = "rustix" -version = "0.38.37" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ + "log", "once_cell", - "ring 0.17.8", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -4029,12 +3862,15 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "1.0.4" +name = "rustls-native-certs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ - "base64 0.21.7", + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", ] [[package]] @@ -4048,26 +3884,29 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ - "ring 0.17.8", + "ring", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "rusty-fork" @@ -4083,33 +3922,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "scale-info" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", "derive_more 1.0.0", @@ -4119,30 +3940,30 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "scc" -version = "2.2.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c1f7fc6deb21665a9060dfc7d271be784669295a31babdcd4dd2c79ae8cbfb" +checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -4153,23 +3974,11 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scrypt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" -dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2", -] - [[package]] name = "sdd" -version = "3.0.4" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c1eeaf4b6a87c7479688c6d52b9f1153cedd3c489300564f932b065c6eab95" +checksum = "584e070911c7017da6cb2eb0788d09f43d789029b5877d3e5ecc8acf86ceee21" [[package]] name = "sec1" @@ -4187,11 +3996,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.6.0", + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -4200,9 +4009,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -4219,59 +4028,47 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "serde" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -4281,9 +4078,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ "itoa", "serde", @@ -4312,9 +4109,9 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ "futures", "log", @@ -4326,13 +4123,13 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -4397,19 +4194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", -] - -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror", - "time", + "rand_core 0.6.4", ] [[package]] @@ -4429,9 +4214,12 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] [[package]] name = "snowbridge-amcl" @@ -4445,21 +4233,34 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", ] +[[package]] +name = "sp1-build" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "anyhow", + "cargo_metadata", + "chrono", + "clap", + "dirs", +] + [[package]] name = "sp1-core-executor" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "bytemuck", + "clap", "elf", "enum-map", "eyre", @@ -4469,17 +4270,22 @@ dependencies = [ "log", "nohash-hasher", "num", + "p3-baby-bear", "p3-field", "p3-maybe-rayon", - "rand", + "p3-util", + "rand 0.8.5", + "range-set-blaze", "rrs-succinct", "serde", + "serde_json", "sp1-curves", "sp1-primitives", "sp1-stark", "strum", "strum_macros", - "thiserror", + "subenum", + "thiserror 1.0.69", "tiny-keccak", "tracing", "typenum", @@ -4488,13 +4294,16 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", + "cbindgen", + "cc", "cfg-if", "elliptic-curve", "generic-array 1.1.0", + "glob", "hashbrown 0.14.5", "hex", "itertools 0.13.0", @@ -4502,18 +4311,24 @@ dependencies = [ "log", "num", "num_cpus", + "p256", "p3-air", "p3-baby-bear", - "p3-blake3", "p3-challenger", "p3-field", "p3-keccak-air", "p3-matrix", "p3-maybe-rayon", + "p3-poseidon2", + "p3-symmetric", "p3-uni-stark", "p3-util", - "rand", + "pathdiff", + "rand 0.8.5", + "rayon", + "rayon-scan", "serde", + "serde_json", "size", "snowbridge-amcl", "sp1-core-executor", @@ -4525,7 +4340,7 @@ dependencies = [ "strum", "strum_macros", "tempfile", - "thiserror", + "thiserror 1.0.69", "tracing", "tracing-forest", "tracing-subscriber", @@ -4533,19 +4348,35 @@ dependencies = [ "web-time", ] +[[package]] +name = "sp1-cuda" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "serde", + "sp1-core-machine", + "sp1-prover", + "tokio", + "tracing", + "twirp-rs", +] + [[package]] name = "sp1-curves" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "cfg-if", - "curve25519-dalek", "dashu", "elliptic-curve", "generic-array 1.1.0", "itertools 0.13.0", "k256", "num", + "p256", "p3-field", "serde", "snowbridge-amcl", @@ -4556,8 +4387,8 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -4565,8 +4396,8 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "hex", @@ -4582,16 +4413,19 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", "clap", "dirs", + "downloader", + "enum-map", "eyre", + "hashbrown 0.14.5", + "hex", "itertools 0.13.0", - "lazy_static", "lru", "num-bigint 0.4.6", "p3-baby-bear", @@ -4601,11 +4435,12 @@ dependencies = [ "p3-field", "p3-matrix", "p3-symmetric", + "p3-util", "rayon", - "reqwest 0.11.27", "serde", "serde_json", "serial_test", + "sha2", "sp1-core-executor", "sp1-core-machine", "sp1-primitives", @@ -4614,17 +4449,16 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", - "subtle-encoding", - "tempfile", - "thiserror", + "thiserror 1.0.69", "tracing", + "tracing-appender", "tracing-subscriber", ] [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -4639,8 +4473,9 @@ dependencies = [ "p3-fri", "p3-matrix", "p3-symmetric", + "p3-uni-stark", "p3-util", - "rand", + "rand 0.8.5", "rayon", "serde", "sp1-core-executor", @@ -4656,8 +4491,8 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", "itertools 0.13.0", @@ -4677,13 +4512,18 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", - "ff 0.13.0", + "cbindgen", + "cc", + "cfg-if", + "ff 0.13.1", + "glob", "hashbrown 0.14.5", "itertools 0.13.0", + "num_cpus", "p3-air", "p3-baby-bear", "p3-bn254-fr", @@ -4698,13 +4538,15 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "pathdiff", + "rand 0.8.5", "serde", "sp1-core-machine", "sp1-derive", "sp1-primitives", "sp1-stark", "static_assertions", - "thiserror", + "thiserror 1.0.69", "tracing", "vec_map", "zkhash", @@ -4712,8 +4554,8 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -4721,8 +4563,8 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", @@ -4746,16 +4588,19 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", "alloy-sol-types", "anyhow", "async-trait", + "backoff", "bincode", "cfg-if", "dirs", - "ethers", "futures", "hashbrown 0.14.5", "hex", @@ -4766,33 +4611,36 @@ dependencies = [ "p3-field", "p3-fri", "prost", - "reqwest 0.12.8", + "reqwest", "reqwest-middleware", "serde", + "serde_json", + "sp1-build", "sp1-core-executor", "sp1-core-machine", + "sp1-cuda", "sp1-primitives", "sp1-prover", "sp1-stark", "strum", "strum_macros", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", + "tonic", "tracing", "twirp-rs", - "vergen", ] [[package]] name = "sp1-stark" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "arrayref", - "getrandom", "hashbrown 0.14.5", "itertools 0.13.0", + "num-bigint 0.4.6", "num-traits", "p3-air", "p3-baby-bear", @@ -4815,7 +4663,6 @@ dependencies = [ "strum", "strum_macros", "sysinfo", - "thiserror", "tracing", ] @@ -4829,12 +4676,6 @@ dependencies = [ "sp1-sdk", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -4851,6 +4692,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4878,27 +4725,30 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "subtle" -version = "2.6.1" +name = "subenum" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "4f5d5dfb8556dd04017db5e318bbeac8ab2b0c67b76bf197bfb79e9b29f18ecf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "subtle-encoding" -version = "0.5.1" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -4913,9 +4763,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -4924,29 +4774,34 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +checksum = "d975606bae72d8aad5b07d9342465e123a2cccf53a5a735aedf81ca92a709ecb" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] -name = "sync_wrapper" -version = "1.0.1" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ - "futures-core", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -4965,84 +4820,62 @@ dependencies = [ ] [[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys 0.5.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "system-configuration-sys 0.6.0", -] +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] -name = "system-configuration-sys" -version = "0.5.0" +name = "tempfile" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "core-foundation-sys", - "libc", + "fastrand", + "getrandom 0.3.2", + "once_cell", + "rustix", + "windows-sys 0.59.0", ] [[package]] -name = "system-configuration-sys" -version = "0.6.0" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "core-foundation-sys", - "libc", + "thiserror-impl 1.0.69", ] [[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.13.0" +name = "thiserror" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", + "thiserror-impl 2.0.12", ] [[package]] -name = "thiserror" -version = "1.0.65" +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "thiserror-impl", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -5055,17 +4888,24 @@ dependencies = [ "once_cell", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + [[package]] name = "time" -version = "0.3.36" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -5074,15 +4914,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -5097,11 +4937,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -5114,9 +4964,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -5132,41 +4982,41 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "tokio-native-tls" -version = "0.3.1" +name = "tokio-rustls" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "native-tls", + "rustls", "tokio", ] [[package]] -name = "tokio-rustls" -version = "0.26.0" +name = "tokio-stream" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls", - "rustls-pki-types", +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", "tokio", ] [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -5177,14 +5027,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] @@ -5202,34 +5052,87 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap", + "indexmap 2.8.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.20", + "winnow 0.7.4", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "rustls-native-certs", + "rustls-pemfile", + "socket2", + "tokio", + "tokio-rustls", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", ] [[package]] name = "tower" -version = "0.5.1" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 0.1.2", + "sync_wrapper", "tokio", "tower-layer", "tower-service", @@ -5250,9 +5153,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -5260,22 +5163,34 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber", +] + [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -5289,21 +5204,11 @@ checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" dependencies = [ "ansi_term", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "tracing-subscriber", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -5317,9 +5222,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -5348,24 +5253,24 @@ dependencies = [ "async-trait", "axum", "futures", - "http 1.1.0", + "http", "http-body-util", - "hyper 1.5.0", + "hyper", "prost", - "reqwest 0.12.8", + "reqwest", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", - "tower", + "tower 0.5.2", "url", ] [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -5391,32 +5296,17 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-width" -version = "0.1.14" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" @@ -5424,12 +5314,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -5438,9 +5322,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -5448,32 +5332,28 @@ dependencies = [ ] [[package]] -name = "utf8parse" -version = "0.2.2" +name = "utf16_iter" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" [[package]] -name = "uuid" -version = "0.8.2" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", - "serde", -] +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] -name = "valuable" -version = "0.1.0" +name = "utf8parse" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] -name = "vcpkg" -version = "0.2.15" +name = "valuable" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vec_map" @@ -5484,19 +5364,6 @@ dependencies = [ "serde", ] -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "git2", - "rustversion", - "time", -] - [[package]] name = "version_check" version = "0.9.5" @@ -5505,23 +5372,13 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -5537,49 +5394,59 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5587,28 +5454,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -5619,9 +5489,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -5639,9 +5509,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -5662,15 +5532,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -5696,34 +5557,39 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", "windows-strings", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -5777,13 +5643,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -5796,6 +5678,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -5808,6 +5696,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -5820,12 +5714,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -5838,6 +5744,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -5850,6 +5762,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -5862,6 +5780,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -5874,6 +5798,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -5885,41 +5815,33 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.20" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] [[package]] -name = "winreg" -version = "0.50.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "bitflags", ] [[package]] -name = "ws_stream_wasm" -version = "0.7.4" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version 0.4.1", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "wyz" @@ -5930,14 +5852,46 @@ dependencies = [ "tap", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", ] [[package]] @@ -5948,7 +5902,39 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure", ] [[package]] @@ -5968,7 +5954,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -5991,7 +5999,7 @@ dependencies = [ "jubjub", "lazy_static", "pasta_curves 0.5.1", - "rand", + "rand 0.8.5", "serde", "sha2", "sha3", diff --git a/operator/sp1/lib/Cargo.toml b/operator/sp1/lib/Cargo.toml index e5c985ef31..b9f2445e93 100644 --- a/operator/sp1/lib/Cargo.toml +++ b/operator/sp1/lib/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] bincode = "1.3.3" lazy_static = "1.4.0" -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } log = "0.4.21" [lib] diff --git a/operator/sp1/lib/rust-toolchain b/operator/sp1/lib/rust-toolchain index 989860f406..9397b95266 100644 --- a/operator/sp1/lib/rust-toolchain +++ b/operator/sp1/lib/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-04-17" +channel = "stable" components = ["llvm-tools", "rustc-dev"] diff --git a/operator/sp1/lib/src/lib.rs b/operator/sp1/lib/src/lib.rs index 266d9e0bea..d18f7db4ac 100644 --- a/operator/sp1/lib/src/lib.rs +++ b/operator/sp1/lib/src/lib.rs @@ -1,9 +1,9 @@ use lazy_static::lazy_static; use log::error; -use sp1_sdk::ProverClient; +use sp1_sdk::{ProverClient, EnvProver}; lazy_static! { - static ref PROVER_CLIENT: ProverClient = ProverClient::new(); + static ref PROVER_CLIENT: EnvProver = ProverClient::from_env(); } fn inner_verify_sp1_proof_ffi( diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml index 19856c71a2..70ecdec3ce 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml +++ b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml @@ -5,4 +5,4 @@ name = "fibonacci_proof_generator-program" edition = "2021" [dependencies] -sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.toml b/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.toml index 00a8b9b751..edc21bca8b 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.toml +++ b/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.toml @@ -5,7 +5,7 @@ name = "fibonacci_proof_generator-script" edition = "2021" [dependencies] -sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } [build-dependencies] -sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v3.0.0" } +sp1-helper = { git = "https://github.com/succinctlabs/sp1.git", rev = "v4.1.3" } diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs b/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs index a8eb14654f..ddf4d78d1b 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs +++ b/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs @@ -15,7 +15,7 @@ fn main() { stdin.write(&n); // Generate the proof for the given program and input. - let client = ProverClient::new(); + let client = ProverClient::from_env(); let (pk, vk) = client.setup(ELF); let mut proof = client.prove(&pk, stdin).compressed().run().unwrap(); From 52d190317f2024f9f6fb2d3171783b8670fd0785 Mon Sep 17 00:00:00 2001 From: MauroFab Date: Thu, 20 Mar 2025 18:31:03 -0300 Subject: [PATCH 3/9] Fix sp1 proof generation script --- .../program/Cargo.lock | 306 +- .../program/Cargo.toml | 2 +- .../script/Cargo.lock | 3521 ++++++++--------- .../script/rust-toolchain | 2 +- .../script/src/main.rs | 11 +- scripts/test_files/sp1/sp1_fibonacci.elf | Bin 121132 -> 0 bytes scripts/test_files/sp1/sp1_fibonacci.proof | Bin 1274775 -> 0 bytes .../test_files/sp1/sp1_fibonacci_4_1_3.elf | Bin 0 -> 120220 bytes .../test_files/sp1/sp1_fibonacci_4_1_3.proof | Bin 0 -> 1315546 bytes scripts/test_files/sp1/sp1_fibonacci_old.elf | Bin 125840 -> 0 bytes .../test_files/sp1/sp1_fibonacci_old.proof | Bin 1644337 -> 0 bytes 11 files changed, 2013 insertions(+), 1829 deletions(-) delete mode 100755 scripts/test_files/sp1/sp1_fibonacci.elf delete mode 100644 scripts/test_files/sp1/sp1_fibonacci.proof create mode 100644 scripts/test_files/sp1/sp1_fibonacci_4_1_3.elf create mode 100644 scripts/test_files/sp1/sp1_fibonacci_4_1_3.proof delete mode 100644 scripts/test_files/sp1/sp1_fibonacci_old.elf delete mode 100644 scripts/test_files/sp1/sp1_fibonacci_old.proof diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.lock b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.lock index 05b60f2f2c..3952245415 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.lock +++ b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.lock @@ -1,6 +1,12 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "bincode" @@ -20,12 +26,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "cfg-if" version = "1.0.0" @@ -34,9 +34,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -62,12 +62,24 @@ dependencies = [ ] [[package]] -name = "fibonacci_proof_generator-program" +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "fibonacci-program" version = "0.1.0" dependencies = [ "sp1-zkvm", ] +[[package]] +name = "gcd" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" + [[package]] name = "generic-array" version = "0.14.7" @@ -89,6 +101,21 @@ dependencies = [ "wasi", ] +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -97,39 +124,191 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" + +[[package]] +name = "p3-baby-bear" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" +dependencies = [ + "num-bigint", + "p3-field", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-dft" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" +dependencies = [ + "itertools", + "num-bigint", + "num-traits", + "p3-util", + "rand", + "serde", +] + +[[package]] +name = "p3-matrix" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" +dependencies = [ + "itertools", + "p3-field", + "p3-maybe-rayon", + "p3-util", + "rand", + "serde", + "tracing", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3925562a4c03183eafc92fd07b19f65ac6cb4b48d68c3920ce58d9bee6efe362" + +[[package]] +name = "p3-mds" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" +dependencies = [ + "itertools", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", + "rand", +] + +[[package]] +name = "p3-poseidon2" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" +dependencies = [ + "gcd", + "p3-field", + "p3-mds", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-symmetric" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" +dependencies = [ + "itertools", + "p3-field", + "serde", +] + +[[package]] +name = "p3-util" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88dd5ca3eb6ff33cb20084778c32a6d68064a1913b4632437408c5a1098408b3" +dependencies = [ + "serde", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] @@ -166,18 +345,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -197,17 +376,35 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "serde", + "sp1-primitives", +] + +[[package]] +name = "sp1-primitives" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "bincode", + "hex", + "lazy_static", + "num-bigint", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "serde", + "sha2", ] [[package]] name = "sp1-zkvm" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "cfg-if", "getrandom", @@ -216,30 +413,62 @@ dependencies = [ "rand", "sha2", "sp1-lib", + "sp1-primitives", ] [[package]] name = "syn" -version = "2.0.85" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "version_check" @@ -255,19 +484,18 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" dependencies = [ "proc-macro2", "quote", diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml index 70ecdec3ce..632d51e386 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml +++ b/scripts/test_files/sp1/fibonacci_proof_generator/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] version = "0.1.0" -name = "fibonacci_proof_generator-program" +name = "fibonacci-program" edition = "2021" [dependencies] diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.lock b/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.lock index 1afd173298..ff08d1c2b7 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.lock +++ b/scripts/test_files/sp1/fibonacci_proof_generator/script/Cargo.lock @@ -1,16 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] +version = 4 [[package]] name = "addchain" @@ -38,17 +28,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "ahash" version = "0.8.11" @@ -58,7 +37,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -72,99 +51,343 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "alloy-consensus" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-eip2124" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eips" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "762414662d793d7aaa36ee3af6928b6be23227df1681ce9c039f6f11daadef64" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be03f2ebc00cf88bd06d3c6caf387dceaa9c7e6b268216779fa68a9bf8ab4e6" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] [[package]] name = "alloy-primitives" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +checksum = "eacedba97e65cdc7ab592f2b22ef5d3ab8d60b2056bc3a6e6363577e8270ec6f" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 0.99.18", - "hex-literal", + "derive_more 2.0.1", + "foldhash", + "hashbrown 0.15.2", + "indexmap 2.8.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", - "rand", + "rand 0.8.5", "ruint", + "rustc-hash 2.1.1", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-rlp" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" +checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" dependencies = [ + "alloy-rlp-derive", "arrayvec", "bytes", ] +[[package]] +name = "alloy-rlp-derive" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "318ae46dd12456df42527c3b94c1ae9001e1ceb707f7afe2c7807ac4e49ebad9" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4dbee4d82f8a22dde18c28257bed759afeae7ba73da4a1479a039fd1445d04" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-serde" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f96b3526fdd779a4bd0f37319cfb4172db52a7ac24cdbb8804b72091c18e1701" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-signer-local" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe8f78cd6b7501c7e813a1eb4a087b72d23af51f5bb66d4e948dc840bdd207d8" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand 0.8.5", + "thiserror 2.0.12", +] + [[package]] name = "alloy-sol-macro" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +checksum = "3637022e781bc73a9e300689cd91105a0e6be00391dd4e2110a71cc7e9f20a94" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +checksum = "3b9bd22d0bba90e40f40c625c33d39afb7d62b22192476a2ce1dcf8409dce880" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", - "indexmap", - "proc-macro-error", + "heck 0.5.0", + "indexmap 2.8.0", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +checksum = "05ae4646e8123ec2fd10f9c22e361ffe4365c42811431829c2eabae528546bcc" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", + "macro-string", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "syn-solidity", ] [[package]] name = "alloy-sol-types" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +checksum = "767957235807b021126dca1598ac3ef477007eace07961607dc5f490550909c7" dependencies = [ "alloy-primitives", "alloy-sol-macro", "const-hex", +] + +[[package]] +name = "alloy-trie" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 1.0.0", + "nybbles", "serde", + "smallvec", + "tracing", ] [[package]] @@ -193,9 +416,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.17" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -208,9 +431,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" @@ -232,19 +455,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "ark-ff" @@ -357,7 +581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -367,7 +591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -381,27 +605,41 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] -name = "async-trait" -version = "0.1.83" +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "async_io_stream" -version = "0.3.3" +name = "async-trait" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ - "futures", - "pharos", - "rustc_version 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -412,13 +650,13 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -429,18 +667,18 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axum" -version = "0.7.7" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", "bytes", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-util", "itoa", "matchit", @@ -453,9 +691,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper", "tokio", - "tower", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -470,18 +708,32 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 1.0.1", + "sync_wrapper", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -504,18 +756,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -524,15 +764,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bech32" -version = "0.9.1" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bincode" @@ -549,7 +783,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags", "cexpr", "clang-sys", "itertools 0.13.0", @@ -560,35 +794,29 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bitvec" @@ -613,25 +841,12 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.5.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", - "cc", - "cfg-if", "constant_time_eq", ] @@ -653,37 +868,39 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pairing", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] -name = "bs58" -version = "0.5.1" +name = "blst" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" dependencies = [ - "sha2", - "tinyvec", + "cc", + "glob", + "threadpool", + "zeroize", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" [[package]] name = "byteorder" @@ -693,27 +910,42 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] [[package]] -name = "camino" -version = "1.1.9" +name = "c-kzg" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -726,20 +958,37 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck 0.4.1", + "indexmap 2.8.0", + "log", + "proc-macro2", + "quote", "serde", "serde_json", - "thiserror", + "syn 2.0.100", + "tempfile", + "toml", ] [[package]] name = "cc" -version = "1.1.31" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -758,26 +1007,22 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.52.6", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", + "windows-link", ] [[package]] @@ -793,9 +1038,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" dependencies = [ "clap_builder", "clap_derive", @@ -803,9 +1048,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" dependencies = [ "anstream", "anstyle", @@ -815,73 +1060,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core", - "digest 0.10.7", - "hmac", - "k256", - "serde", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-core" -version = "0.8.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array 0.14.7", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2", - "sha3", - "thiserror", -] +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "colorchoice" @@ -891,22 +1084,22 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", + "once_cell", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -922,22 +1115,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "constant_time_eq" -version = "0.3.1" +name = "const_format" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] [[package]] -name = "convert_case" -version = "0.4.0" +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -951,18 +1158,42 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -979,15 +1210,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -996,7 +1227,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1012,38 +1243,13 @@ dependencies = [ ] [[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "fiat-crypto", - "rustc_version 0.4.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.85", + "nix", + "windows-sys 0.59.0", ] [[package]] @@ -1131,14 +1337,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -1156,24 +1363,20 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.1", - "syn 2.0.85", + "derive_more-impl 1.0.0", ] [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl", + "derive_more-impl 2.0.1", ] [[package]] @@ -1184,7 +1387,19 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "unicode-xid", ] [[package]] @@ -1229,12 +1444,37 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downloader" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" +dependencies = [ + "digest 0.10.7", + "futures", + "rand 0.8.5", + "reqwest", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "dunce" version = "1.0.5" @@ -1257,9 +1497,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elf" @@ -1276,11 +1516,12 @@ dependencies = [ "base16ct", "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "generic-array 0.14.7", "group 0.13.0", + "pem-rfc7468", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -1288,36 +1529,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enr" -version = "0.10.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" -dependencies = [ - "base64 0.21.7", - "bytes", - "hex", - "k256", - "log", - "rand", - "rlp", - "serde", - "sha3", - "zeroize", -] +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enum-map" @@ -1337,348 +1551,94 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] -name = "eth-keystore" -version = "0.5.0" +name = "eyre" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ - "aes", - "ctr", - "digest 0.10.7", - "hex", - "hmac", - "pbkdf2 0.11.0", - "rand", - "scrypt", - "serde", - "serde_json", - "sha2", - "sha3", - "thiserror", - "uuid", + "indenter", + "once_cell", ] [[package]] -name = "ethabi" -version = "18.0.0" +name = "fastrand" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" -dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror", - "uint", -] +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] -name = "ethbloom" -version = "0.13.0" +name = "fastrlp" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] -name = "ethereum-types" -version = "0.14.1" +name = "fastrlp" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] -name = "ethers" -version = "2.0.14" +name = "ff" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-middleware", - "ethers-providers", - "ethers-signers", + "bitvec", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "ethers-addressbook" -version = "2.0.14" +name = "ff" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", + "bitvec", + "byteorder", + "ff_derive", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "ethers-contract" -version = "2.0.14" +name = "ff_derive" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" -dependencies = [ - "const-hex", - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" -dependencies = [ - "Inflector", - "const-hex", - "dunce", - "ethers-core", - "eyre", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.85", - "toml", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" -dependencies = [ - "Inflector", - "const-hex", - "ethers-contract-abigen", - "ethers-core", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.85", -] - -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec", - "bytes", - "cargo_metadata", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array 0.14.7", - "k256", - "num_enum 0.7.3", - "once_cell", - "open-fastrlp", - "rand", - "rlp", - "serde", - "serde_json", - "strum", - "syn 2.0.85", - "tempfile", - "thiserror", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.7", - "bytes", - "const-hex", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "http 0.2.12", - "instant", - "jsonwebtoken", - "once_cell", - "pin-project", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" -dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "const-hex", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "rand", - "sha2", - "thiserror", - "tracing", -] - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "fastrlp" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "bitvec", - "byteorder", - "ff_derive", - "rand_core", - "subtle", -] - -[[package]] -name = "ff_derive" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +checksum = "f10d12652036b0e99197587c6ba87a8fc3031986499973c030d8b44fcc151b60" dependencies = [ "addchain", - "cfg-if", "num-bigint 0.3.3", "num-integer", "num-traits", @@ -1687,12 +1647,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fibonacci_proof_generator-script" version = "0.1.0" @@ -1708,7 +1662,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -1721,24 +1675,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "form_urlencoded" @@ -1803,16 +1742,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-locks" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" -dependencies = [ - "futures-channel", - "futures-task", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -1821,7 +1750,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -1836,16 +1765,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - [[package]] name = "futures-util" version = "0.3.31" @@ -1865,13 +1784,10 @@ dependencies = [ ] [[package]] -name = "fxhash" -version = "0.2.1" +name = "futures-utils-wasm" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" [[package]] name = "gcd" @@ -1879,6 +1795,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" +[[package]] +name = "gen_ops" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "304de19db7028420975a296ab0fcbbc8e69438c4ed254a1e41e2a7f37d5f0e0a" + [[package]] name = "generic-array" version = "0.14.7" @@ -1907,46 +1829,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "git2" -version = "0.19.0" +name = "getrandom" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ - "bitflags 2.6.0", + "cfg-if", + "js-sys", "libc", - "libgit2-sys", - "log", - "url", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] -name = "glob" -version = "0.3.1" +name = "gimli" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] -name = "gloo-timers" -version = "0.2.6" +name = "glob" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "group" @@ -1956,7 +1869,7 @@ checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", "memuse", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -1966,43 +1879,24 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", - "rand_core", + "ff 0.13.1", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap", + "http", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -2028,10 +1922,16 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pasta_curves 0.4.1", - "rand_core", + "rand_core 0.6.4", "rayon", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -2045,23 +1945,21 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", "foldhash", + "serde", ] [[package]] -name = "hashers" -version = "1.0.1" +name = "heck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "heck" @@ -2080,12 +1978,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +dependencies = [ + "serde", +] [[package]] name = "hmac" @@ -2098,37 +1993,15 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -2136,27 +2009,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "futures-core", + "http", + "http-body", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -2166,40 +2039,16 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "httparse", "httpdate", "itoa", @@ -2211,13 +2060,13 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.5.0", + "http", + "hyper", "hyper-util", "rustls", "rustls-pki-types", @@ -2228,46 +2077,30 @@ dependencies = [ ] [[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper 0.14.31", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" +name = "hyper-timeout" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "bytes", - "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-util", - "native-tls", + "pin-project-lite", "tokio", - "tokio-native-tls", "tower-service", ] [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "hyper 1.5.0", + "http", + "http-body", + "hyper", "pin-project-lite", "socket2", "tokio", @@ -2299,51 +2132,162 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.5.0" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", ] [[package]] -name = "impl-codec" -version = "0.6.0" +name = "icu_locid" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ - "parity-scale-codec", + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", ] [[package]] -name = "impl-rlp" -version = "0.3.0" +name = "icu_locid_transform" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" dependencies = [ - "rlp", + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "icu_locid_transform_data" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" dependencies = [ - "serde", + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", ] [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -2354,34 +2298,36 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.6.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", + "serde", ] [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ "console", - "instant", "number_prefix", "portable-atomic", "unicode-width", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.7", + "web-time", ] [[package]] @@ -2395,9 +2341,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -2425,51 +2371,38 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.32" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] -[[package]] -name = "jsonwebtoken" -version = "8.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" -dependencies = [ - "base64 0.21.7", - "pem", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "jubjub" version = "0.9.0" @@ -2480,7 +2413,7 @@ dependencies = [ "bls12_381", "ff 0.12.1", "group 0.12.1", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2523,32 +2456,20 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.9.8", + "spin", ] [[package]] name = "libc" -version = "0.2.161" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" - -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -2556,9 +2477,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -2566,27 +2487,21 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", ] [[package]] -name = "libz-sys" -version = "1.1.20" +name = "linux-raw-sys" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" [[package]] -name = "linux-raw-sys" -version = "0.4.14" +name = "litemap" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "lock_api" @@ -2600,9 +2515,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" [[package]] name = "lru" @@ -2610,7 +2525,18 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.0", + "hashbrown 0.15.2", +] + +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -2636,9 +2562,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memuse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" +checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" [[package]] name = "mime" @@ -2654,40 +2580,34 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] [[package]] -name = "native-tls" -version = "0.2.12" +name = "nix" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", ] [[package]] @@ -2847,16 +2767,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive 0.7.3", + "num_enum_derive", ] [[package]] @@ -2871,27 +2782,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "num_enum_derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.85", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "number_prefix" version = "0.4.0" @@ -2899,88 +2789,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "object" -version = "0.36.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] - -[[package]] -name = "open-fastrlp-derive" -version = "0.1.1" +name = "nybbles" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", + "const-hex", + "serde", + "smallvec", ] [[package]] -name = "openssl" -version = "0.10.68" +name = "object" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "memchr", ] [[package]] -name = "openssl-macros" -version = "0.1.1" +name = "once_cell" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.85", -] +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.104" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "option-ext" @@ -2994,11 +2832,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "p3-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066f571b2e645505ed5972dd0e1e252ba03352150830c9566769ca711c0f1e9b" +checksum = "02634a874a2286b73f3e0a121e79d6774e92ccbec648c5568f4a7479a4830858" dependencies = [ "p3-field", "p3-matrix", @@ -3006,49 +2856,39 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00f571044d299310d9659c6e51c98422de3bf94b8577f7f30cf59cf2043e40" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" dependencies = [ "num-bigint 0.4.6", "p3-field", "p3-mds", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] -[[package]] -name = "p3-blake3" -version = "0.1.4-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4cb69ae54a279bbbd477566d1bdb71aa879b528fd658d0fcfc36f54b00217c" -dependencies = [ - "blake3", - "p3-symmetric", -] - [[package]] name = "p3-bn254-fr" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf19917f986d45e9abb6d177e875824ced6eed096480d574fce16f2c45c721ea" +checksum = "f8c53da73873e24d751ec3bd9d8da034bb5f99c71f24f4903ff37190182bff10" dependencies = [ - "ff 0.13.0", + "ff 0.13.1", "num-bigint 0.4.6", "p3-field", "p3-poseidon2", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-challenger" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be7e4fbce4566a93091107eadfafa0b5374bd1ffd3e0f6b850da3ff72eb183f" +checksum = "0f5c497659a7d9a87882e30ee9a8d0e20c8dcd32cd10d432410e7d6f146ef103" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -3060,13 +2900,12 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a03eb0f99d68a712c41e658e9a7782a0705d4ffcfb6232a43bd3f1ef9591002" +checksum = "54ec340c5cb17739a7b9ee189378bdac8f0e684b9b5ce539476c26e77cd6a27d" dependencies = [ "itertools 0.12.1", "p3-challenger", - "p3-dft", "p3-field", "p3-matrix", "p3-util", @@ -3075,9 +2914,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1556de968523fbe5d804ab50600ea306fcceea3500cfd7601e40882480524664" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" dependencies = [ "p3-field", "p3-matrix", @@ -3088,23 +2927,23 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec2af6e1ac47a2035af5165e668d64612c4b9ccabd06df37fc1fd381fdf8a71" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", "num-traits", "p3-util", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-fri" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f351ee9f9d4256455164565cd91e3e6d2487cc2a5355515fa2b6d479269188dd" +checksum = "4ef838ff24d9b3de3d88d0ac984937d2aa2923bf25cb108ba9b2dc357e472197" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -3121,9 +2960,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24d0f2907a374ebe4545fcff3120d6376d9630cf0bef30feedcfc5908ea2c37" +checksum = "c806c3afb8d6acf1d3a78f4be1e9e8b026f13c01b0cdd5ae2e068b70a3ba6d80" dependencies = [ "p3-field", "p3-matrix", @@ -3132,9 +2971,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e66badd47cedf6570e91a0cabc389b80dfd53ba1a6e9a45a3923fd54b86122ff" +checksum = "b46cef7ee8ae1f7cb560e7b7c137e272f6ba75be98179b3aa18695705231e0fb" dependencies = [ "p3-air", "p3-field", @@ -3146,33 +2985,33 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa272f3ae77ed8d73478aa7c89e712efb15bda3ff4aff10fadfe11a012cd5389" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" dependencies = [ "itertools 0.12.1", "p3-field", "p3-maybe-rayon", "p3-util", - "rand", + "rand 0.8.5", "serde", "tracing", ] [[package]] name = "p3-maybe-rayon" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eecad6292021858f282d643d9d1284ab112a200494d589863a9c4080e578ef0" +checksum = "fd9ac6f1d11ad4d3c13cc496911109d6282315e64f851a666ed80ad4d77c0983" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716c4dbe68a02f1541eb09149d07b8663a3a5951b1864a31cd67ff3bb0826e57" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -3180,14 +3019,14 @@ dependencies = [ "p3-matrix", "p3-symmetric", "p3-util", - "rand", + "rand 0.8.5", ] [[package]] name = "p3-merkle-tree" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7ebab52a03c26025988663a135aed62f5084a2e2ea262176dc8748efb593e5" +checksum = "1f4ced385da80dd6b3fd830eaa452c9fa899f2dc3f6463aceba00620d5f071ec" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -3202,23 +3041,23 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c042efa15beab7a8c4d0ca9b9e4cbda7582be0c08e121e830fec45f082935b" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" dependencies = [ "gcd", "p3-field", "p3-mds", "p3-symmetric", - "rand", + "rand 0.8.5", "serde", ] [[package]] name = "p3-symmetric" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9896a831f5b688adc13f6fbe1dcf66ecfaa4622a500f81aa745610e777acb72" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" dependencies = [ "itertools 0.12.1", "p3-field", @@ -3227,9 +3066,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437ebcd060c8a5479898030b114a93da8a86eb4c2e5f313d9eeaaf40c6e6f61" +checksum = "83ceaeef06b0bc97e5af2d220cd340b0b3a72bdf37e4584b73b3bc357cfc9ed3" dependencies = [ "itertools 0.12.1", "p3-air", @@ -3246,9 +3085,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dedb9d27ba47ac314c6fac4ca54e55c3e486c864d51ec5ba55dbe47b75121157" +checksum = "e1b84d324cd4ac09194a9d0e8ab1834e67a0e47dec477c28fcf9d68b2824c1fe" dependencies = [ "serde", ] @@ -3264,28 +3103,30 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -3321,7 +3162,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -3333,10 +3174,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" dependencies = [ "blake2b_simd", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -3348,31 +3189,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" +name = "pathdiff" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] -name = "pem" -version = "1.1.1" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "base64 0.13.1", + "base64ct", ] [[package]] @@ -3383,50 +3211,40 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror", + "thiserror 2.0.12", "ucd-trie", ] -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures", - "rustc_version 0.4.1", -] - [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3444,17 +3262,11 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" - [[package]] name = "portable-atomic" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" [[package]] name = "powerfmt" @@ -3464,21 +3276,30 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy", + "zerocopy 0.8.23", ] [[package]] name = "prettyplease" -version = "0.2.25" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" dependencies = [ "proc-macro2", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", ] [[package]] @@ -3489,9 +3310,6 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", "uint", ] @@ -3507,59 +3325,57 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", - "version_check", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ + "proc-macro-error-attr2", "proc-macro2", "quote", - "version_check", + "syn 2.0.100", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", "rusty-fork", @@ -3569,9 +3385,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", "prost-derive", @@ -3579,15 +3395,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -3598,45 +3414,51 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.0.0", + "rustc-hash 2.1.1", "rustls", "socket2", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.8" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "rand", - "ring 0.17.8", - "rustc-hash 2.0.0", + "getrandom 0.3.2", + "rand 0.9.0", + "ring", + "rustc-hash 2.1.1", "rustls", + "rustls-pki-types", "slab", - "thiserror", + "thiserror 2.0.12", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", @@ -3646,13 +3468,19 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -3666,8 +3494,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", ] [[package]] @@ -3677,7 +3517,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3686,7 +3536,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", ] [[package]] @@ -3695,7 +3554,19 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "range-set-blaze" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8421b5d459262eabbe49048d362897ff3e3830b44eac6cfe341d6acb2f0f13d2" +dependencies = [ + "gen_ops", + "itertools 0.12.1", + "num-integer", + "num-traits", ] [[package]] @@ -3729,11 +3600,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -3742,9 +3613,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3755,7 +3626,7 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -3770,9 +3641,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -3785,92 +3656,47 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.31", - "hyper-tls 0.5.0", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration 0.5.1", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.8" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ - "base64 0.22.1", + "base64", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.5.0", + "hyper", "hyper-rustls", - "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-pemfile 2.2.0", + "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration 0.6.1", + "sync_wrapper", "tokio", - "tokio-native-tls", "tokio-rustls", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -3889,10 +3715,10 @@ checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", - "http 1.1.0", - "reqwest 0.12.8", + "http", + "reqwest", "serde", - "thiserror", + "thiserror 1.0.69", "tower-service", ] @@ -3908,43 +3734,18 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", - "spin 0.9.8", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "rlp" version = "0.5.2" @@ -3952,21 +3753,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", - "rlp-derive", "rustc-hex", ] -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rrs-succinct" version = "0.1.0" @@ -3974,27 +3763,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3372685893a9f67d18e98e792d690017287fd17379a83d798d958e517d380fa9" dependencies = [ "downcast-rs", - "num_enum 0.5.11", + "num_enum", "paste", ] [[package]] name = "ruint" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint 0.4.6", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", "rlp", "ruint-macro", "serde", @@ -4022,9 +3813,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -4047,30 +3838,31 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.26", ] [[package]] name = "rustix" -version = "0.38.37" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ + "log", "once_cell", - "ring 0.17.8", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -4078,12 +3870,15 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "1.0.4" +name = "rustls-native-certs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ - "base64 0.21.7", + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", ] [[package]] @@ -4097,26 +3892,29 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ - "ring 0.17.8", + "ring", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "rusty-fork" @@ -4132,33 +3930,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "salsa20" -version = "0.10.2" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "scale-info" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", "derive_more 1.0.0", @@ -4168,30 +3948,30 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "scc" -version = "2.2.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c1f7fc6deb21665a9060dfc7d271be784669295a31babdcd4dd2c79ae8cbfb" +checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -4202,23 +3982,11 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scrypt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" -dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2", -] - [[package]] name = "sdd" -version = "3.0.4" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c1eeaf4b6a87c7479688c6d52b9f1153cedd3c489300564f932b065c6eab95" +checksum = "584e070911c7017da6cb2eb0788d09f43d789029b5877d3e5ecc8acf86ceee21" [[package]] name = "sec1" @@ -4236,11 +4004,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.6.0", + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -4249,9 +4017,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -4268,59 +4036,47 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "serde" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.213" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -4330,9 +4086,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ "itoa", "serde", @@ -4361,9 +4117,9 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ "futures", "log", @@ -4375,13 +4131,13 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -4446,19 +4202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", -] - -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror", - "time", + "rand_core 0.6.4", ] [[package]] @@ -4478,9 +4222,12 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] [[package]] name = "snowbridge-amcl" @@ -4494,9 +4241,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -4504,8 +4251,8 @@ dependencies = [ [[package]] name = "sp1-build" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "cargo_metadata", @@ -4516,11 +4263,12 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "bytemuck", + "clap", "elf", "enum-map", "eyre", @@ -4530,17 +4278,22 @@ dependencies = [ "log", "nohash-hasher", "num", + "p3-baby-bear", "p3-field", "p3-maybe-rayon", - "rand", + "p3-util", + "rand 0.8.5", + "range-set-blaze", "rrs-succinct", "serde", + "serde_json", "sp1-curves", "sp1-primitives", "sp1-stark", "strum", "strum_macros", - "thiserror", + "subenum", + "thiserror 1.0.69", "tiny-keccak", "tracing", "typenum", @@ -4549,13 +4302,16 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", + "cbindgen", + "cc", "cfg-if", "elliptic-curve", "generic-array 1.1.0", + "glob", "hashbrown 0.14.5", "hex", "itertools 0.13.0", @@ -4563,18 +4319,24 @@ dependencies = [ "log", "num", "num_cpus", + "p256", "p3-air", "p3-baby-bear", - "p3-blake3", "p3-challenger", "p3-field", "p3-keccak-air", "p3-matrix", "p3-maybe-rayon", + "p3-poseidon2", + "p3-symmetric", "p3-uni-stark", "p3-util", - "rand", + "pathdiff", + "rand 0.8.5", + "rayon", + "rayon-scan", "serde", + "serde_json", "size", "snowbridge-amcl", "sp1-core-executor", @@ -4586,7 +4348,7 @@ dependencies = [ "strum", "strum_macros", "tempfile", - "thiserror", + "thiserror 1.0.69", "tracing", "tracing-forest", "tracing-subscriber", @@ -4594,19 +4356,35 @@ dependencies = [ "web-time", ] +[[package]] +name = "sp1-cuda" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "serde", + "sp1-core-machine", + "sp1-prover", + "tokio", + "tracing", + "twirp-rs", +] + [[package]] name = "sp1-curves" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "cfg-if", - "curve25519-dalek", "dashu", "elliptic-curve", "generic-array 1.1.0", "itertools 0.13.0", "k256", "num", + "p256", "p3-field", "serde", "snowbridge-amcl", @@ -4617,8 +4395,8 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -4626,16 +4404,16 @@ dependencies = [ [[package]] name = "sp1-helper" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "sp1-build", ] [[package]] name = "sp1-primitives" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "bincode", "hex", @@ -4651,16 +4429,19 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", "clap", "dirs", + "downloader", + "enum-map", "eyre", + "hashbrown 0.14.5", + "hex", "itertools 0.13.0", - "lazy_static", "lru", "num-bigint 0.4.6", "p3-baby-bear", @@ -4670,11 +4451,12 @@ dependencies = [ "p3-field", "p3-matrix", "p3-symmetric", + "p3-util", "rayon", - "reqwest 0.11.27", "serde", "serde_json", "serial_test", + "sha2", "sp1-core-executor", "sp1-core-machine", "sp1-primitives", @@ -4683,17 +4465,16 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", - "subtle-encoding", - "tempfile", - "thiserror", + "thiserror 1.0.69", "tracing", + "tracing-appender", "tracing-subscriber", ] [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -4708,8 +4489,9 @@ dependencies = [ "p3-fri", "p3-matrix", "p3-symmetric", + "p3-uni-stark", "p3-util", - "rand", + "rand 0.8.5", "rayon", "serde", "sp1-core-executor", @@ -4725,8 +4507,8 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", "itertools 0.13.0", @@ -4746,13 +4528,18 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "backtrace", - "ff 0.13.0", + "cbindgen", + "cc", + "cfg-if", + "ff 0.13.1", + "glob", "hashbrown 0.14.5", "itertools 0.13.0", + "num_cpus", "p3-air", "p3-baby-bear", "p3-bn254-fr", @@ -4767,13 +4554,15 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "pathdiff", + "rand 0.8.5", "serde", "sp1-core-machine", "sp1-derive", "sp1-primitives", "sp1-stark", "static_assertions", - "thiserror", + "thiserror 1.0.69", "tracing", "vec_map", "zkhash", @@ -4781,8 +4570,8 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "quote", "syn 1.0.109", @@ -4790,8 +4579,8 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "anyhow", "bincode", @@ -4815,16 +4604,19 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", "alloy-sol-types", "anyhow", "async-trait", + "backoff", "bincode", "cfg-if", "dirs", - "ethers", "futures", "hashbrown 0.14.5", "hex", @@ -4835,33 +4627,36 @@ dependencies = [ "p3-field", "p3-fri", "prost", - "reqwest 0.12.8", + "reqwest", "reqwest-middleware", "serde", + "serde_json", + "sp1-build", "sp1-core-executor", "sp1-core-machine", + "sp1-cuda", "sp1-primitives", "sp1-prover", "sp1-stark", "strum", "strum_macros", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", + "tonic", "tracing", "twirp-rs", - "vergen", ] [[package]] name = "sp1-stark" -version = "3.0.0" -source = "git+https://github.com/succinctlabs/sp1.git?rev=v3.0.0#ff8f482c3e135f1a1f325d639fb6fc8c383407f2" +version = "4.1.3" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v4.1.3#18443c2d9484afaddff94efb82ebff21fc563bc5" dependencies = [ "arrayref", - "getrandom", "hashbrown 0.14.5", "itertools 0.13.0", + "num-bigint 0.4.6", "num-traits", "p3-air", "p3-baby-bear", @@ -4884,16 +4679,9 @@ dependencies = [ "strum", "strum_macros", "sysinfo", - "thiserror", "tracing", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -4910,6 +4698,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4937,27 +4731,30 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "subtle" -version = "2.6.1" +name = "subenum" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "4f5d5dfb8556dd04017db5e318bbeac8ab2b0c67b76bf197bfb79e9b29f18ecf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "subtle-encoding" -version = "0.5.1" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -4972,9 +4769,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -4983,29 +4780,34 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.7" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +checksum = "d975606bae72d8aad5b07d9342465e123a2cccf53a5a735aedf81ca92a709ecb" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] -name = "sync_wrapper" -version = "1.0.1" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ - "futures-core", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -5024,84 +4826,62 @@ dependencies = [ ] [[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys 0.5.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "system-configuration-sys 0.6.0", -] +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] -name = "system-configuration-sys" -version = "0.5.0" +name = "tempfile" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "core-foundation-sys", - "libc", + "fastrand", + "getrandom 0.3.2", + "once_cell", + "rustix", + "windows-sys 0.59.0", ] [[package]] -name = "system-configuration-sys" -version = "0.6.0" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "core-foundation-sys", - "libc", + "thiserror-impl 1.0.69", ] [[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.13.0" +name = "thiserror" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", + "thiserror-impl 2.0.12", ] [[package]] -name = "thiserror" -version = "1.0.65" +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "thiserror-impl", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] @@ -5114,17 +4894,24 @@ dependencies = [ "once_cell", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + [[package]] name = "time" -version = "0.3.36" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -5133,15 +4920,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -5156,11 +4943,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -5173,9 +4970,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -5191,41 +4988,41 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] -name = "tokio-native-tls" -version = "0.3.1" +name = "tokio-rustls" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "native-tls", + "rustls", "tokio", ] [[package]] -name = "tokio-rustls" -version = "0.26.0" +name = "tokio-stream" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls", - "rustls-pki-types", +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", "tokio", ] [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -5236,14 +5033,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.22", + "toml_edit 0.22.24", ] [[package]] @@ -5261,34 +5058,87 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap", + "indexmap 2.8.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.20", + "winnow 0.7.4", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "rustls-native-certs", + "rustls-pemfile", + "socket2", + "tokio", + "tokio-rustls", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", ] [[package]] name = "tower" -version = "0.5.1" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 0.1.2", + "sync_wrapper", "tokio", "tower-layer", "tower-service", @@ -5309,9 +5159,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -5319,22 +5169,34 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber", +] + [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -5348,21 +5210,11 @@ checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" dependencies = [ "ansi_term", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "tracing-subscriber", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -5376,9 +5228,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -5407,24 +5259,24 @@ dependencies = [ "async-trait", "axum", "futures", - "http 1.1.0", + "http", "http-body-util", - "hyper 1.5.0", + "hyper", "prost", - "reqwest 0.12.8", + "reqwest", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", - "tower", + "tower 0.5.2", "url", ] [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -5450,32 +5302,17 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-width" -version = "0.1.14" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" @@ -5483,12 +5320,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -5497,9 +5328,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -5507,32 +5338,28 @@ dependencies = [ ] [[package]] -name = "utf8parse" -version = "0.2.2" +name = "utf16_iter" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" [[package]] -name = "uuid" -version = "0.8.2" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", - "serde", -] +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] -name = "valuable" -version = "0.1.0" +name = "utf8parse" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] -name = "vcpkg" -version = "0.2.15" +name = "valuable" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vec_map" @@ -5543,19 +5370,6 @@ dependencies = [ "serde", ] -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "git2", - "rustversion", - "time", -] - [[package]] name = "version_check" version = "0.9.5" @@ -5564,23 +5378,13 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -5596,49 +5400,59 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5646,28 +5460,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -5678,9 +5495,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -5698,9 +5515,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -5721,15 +5538,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -5755,34 +5563,39 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", "windows-strings", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -5836,13 +5649,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -5855,6 +5684,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -5867,6 +5702,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -5879,12 +5720,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -5897,6 +5750,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -5909,6 +5768,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -5921,6 +5786,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -5933,6 +5804,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -5944,41 +5821,33 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.20" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] [[package]] -name = "winreg" -version = "0.50.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "bitflags", ] [[package]] -name = "ws_stream_wasm" -version = "0.7.4" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version 0.4.1", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "wyz" @@ -5989,14 +5858,46 @@ dependencies = [ "tap", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", ] [[package]] @@ -6007,7 +5908,39 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure", ] [[package]] @@ -6027,7 +5960,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.100", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -6050,7 +6005,7 @@ dependencies = [ "jubjub", "lazy_static", "pasta_curves 0.5.1", - "rand", + "rand 0.8.5", "serde", "sha2", "sha3", diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/script/rust-toolchain b/scripts/test_files/sp1/fibonacci_proof_generator/script/rust-toolchain index 989860f406..9397b95266 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/script/rust-toolchain +++ b/scripts/test_files/sp1/fibonacci_proof_generator/script/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-04-17" +channel = "stable" components = ["llvm-tools", "rustc-dev"] diff --git a/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs b/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs index ddf4d78d1b..6e3dad38c4 100644 --- a/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs +++ b/scripts/test_files/sp1/fibonacci_proof_generator/script/src/main.rs @@ -1,8 +1,9 @@ -use sp1_sdk::{utils, ProverClient, SP1Stdin}; +use sp1_sdk::{include_elf, utils, ProverClient, SP1Stdin}; use std::io::Write; /// The ELF we want to execute inside the zkVM. -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); +// const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); +const ELF: &[u8] = include_elf!("fibonacci-program"); fn main() { // Setup logging. @@ -17,7 +18,7 @@ fn main() { // Generate the proof for the given program and input. let client = ProverClient::from_env(); let (pk, vk) = client.setup(ELF); - let mut proof = client.prove(&pk, stdin).compressed().run().unwrap(); + let mut proof = client.prove(&pk, &stdin).compressed().run().unwrap(); println!("Fibonacci program proof generated"); @@ -33,9 +34,9 @@ fn main() { client.verify(&proof, &vk).expect("verification failed"); // Save the proof. - let proof_file_path = "../../sp1_fibonacci_new.proof"; + let proof_file_path = "../../sp1_fibonacci_4_1_3.proof"; proof.save(proof_file_path).expect("saving proof failed"); - let elf_file_path = "../../sp1_fibonacci_new.elf"; + let elf_file_path = "../../sp1_fibonacci_4_1_3.elf"; let mut file = std::fs::File::create(elf_file_path).unwrap(); file.write_all(ELF).unwrap(); diff --git a/scripts/test_files/sp1/sp1_fibonacci.elf b/scripts/test_files/sp1/sp1_fibonacci.elf deleted file mode 100755 index d3284df48df1e2f0f297a287309cb1811efe8b44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121132 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Π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

ti6uuUxSfTOT$4g_}JQn<=^5*{-A6K%`20 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

x#k7i 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

Yjyqc!x)W*M4||QrXr8maePG*FNHMvptNb{$KZF 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

#Zi(f^B; z>*Lqd{>@;4V)HzZOqepFs*%f2eLt4S)M3_XiJFC32M8XdJM>k7vKD|OV{f>RjDEtCf+rj7Syw`7s|24FFIMi7(*Nn z;%^4m)6mVT^D_vjqHmkWsYtXWcz^g^%-BT8@D0j+9ogs%qJ9kf=oIg-tm5&A1=2A?Ys%cyg}EeDTvUxF>BG6T+R)F6ewDuVa__ zv7g@VwmOR$15j^4KL%;@h!ZIC&Rl`6`=!CNktvq3eJyJAUM<594GteE*-lDL?-Ln+ zt;q0qE^P3mjVWWf!tAhjM?jZ!syco##DHGiBsL&#=LsS(&oJg$0g@inStZf>K|*3I zibLZTd`s`8#zjt&>^?fCs7-hpjFU+rMg&OEw8kuEr!t)56f<=yUJIPcxG9^Bvh(=2 z`!R6|Co=8aMEJX71nKFQSn{dIxQ})T@G#Hdv!By}bUI!zG~|Zbo_&{vCB7Z>L#W{F zf)#RvJ8l+}7m`v1+M`j}hKemfHv@uo;7yg{AIpWP3+Lioq#nPNPHuc}ZC>DnKURkk z<}F`F6SCQTA%I$Qt`16c!>)qZ`8!U)7>OWeG8(+t@C$ zqSTKN5vo!^<&7WiVx8qC*_Jg@Z@Q=87u@zifk4j1H?ZBIoDl+YS z3cY?#@AqTeCXh|C5wW+~LHumtnUA4p!*icZU|Vm&P2cCdZ9N~6dWnCJUj+<2b#^)< z9ob5QPNd2r<4<0C&@GqRugKNvBzhFt7)4we#w{tRxBK?ml zA=g(WDkS5@Djf5*=+&LM9|cya{M-E))r2| zNMQ?U{3R8(7@@C{`djc|ZwCJB%XNKCF*09oo*-DQ*F>C@T`Gs~w~6Rl5u?$F$PXaE zePr@qh3X#$ty>9v-jj;kPXczB3ej97A}t;C@a~Uqr2Co?(seh^ap^j!ga)L$b1*&G{;M9efzCt#YYR0ejJbZK6Rblpo9MA4lzeHn?bB`&>(wc0&A#~5uP zl*Ehp1(wi_#lP{m-^5rL9}BwELKgaBi?)a44ro2JF?(_5Dif!epU~2SuUuLgW>x@4 zFV&B?u@NZ$CDd!iY&cHjw&t^faDsjC0zQ-lgh5ajyb;^ zTF3|LA7K)gZT4^XV-&=rXn2_Wkel;27^dU~>`y%=@VGztcqz^rEXl}b>SnAx8+6^> z@2n&D)#qh8R$h6y*G(S@0(l?FfSc4N$@8yxpA9rvx8z_Xg$9dFYARjjQgcQY>8b( zJ`Nl?Xc3Z?%BQ=AT#dJ{+l#kOF*c}6*^}#!%m#*ExNc*@nM_(5>CfwI35c*l;PC5@ z1UqI97-hMX2@f;NU{!g7`g&L_+^w=9_>DnTPwY?izhK|IxKhE&zp$E#ZO0 zAA3#MlNjff>P5>F(+w~^sX*&Gw2nLl3pABGrth%0Y4RbURzK|`t&dl^EFpslZJPZ} z-14B$%lURsAh+P=dDL)aC0roN5+boy7g(ovUw?n1K@Tt+9{{)t<+-Ytug~MiWTx1GdCoxUp z6+&(mIy;pyb}0q9zqNT-FBcT8)8>Z~DQ9-&=>q9*1$iHirWwf3h45`hll9rpwOA*z zWzca7qeHyG-7?Km<6*l$8okod+*XZ(;dNX#_Ce6B|>cHB?TnJ zA6s3>Cu^>%tUK*(Wt`}iOmL8Y0D4g?NeQ`4j}t zQ7XM(=uMjy>J5s5@u|l|YQADABA8$@UMPi|Jebrve=#Uzs3al))E$B#*@egt8bRq+ zNus-Cc>aG7VSp+Cmp1{=y9(Gxjz{F7aUaZy7$Xo` z6koeu-=~$vu&6Uhm$L<#Y0Ysn@ht(`3hms^%#lq$UJOQGOU!X+gnJ-{a>fxNE4ST> z8TDYO3XnW@VS!si3eD_K*&3v)&74bHB=jaB!wZa9eb*(BIPu&+>9XV+kH^cEAOKi0Up3-k{pS zI$X19Qd4wd_^kH2R<>iK!V1QPhd?(G{c_?UY-mv3@1FVyX1RGGuqb&}HMDCim~jz` zO}(g~E5hE6HxaHrNc^zuk|y zH8LC$I9(P%cutV(_`(Y~^_Wjd^%RwXGM%|=TRxI)RguU6k}S_{PK{T6U)aQv4pN~% zSwiOJ2?8eHzuS*|5*E;^zodkeFgJ`_t|$9?GArWv*n*;)yY1d>y_Y0A)R>XDvjVz0 zrg$QW1z-di?QfVL5nGc$fSGVBVJ`K@tL^2k`JyRrsATU1hNsXcVZ1JftO*KAMzJ|x zLs%+U@iXRInwC5S>nomKga;%U;O2%dbHL^^+xM+x@&H4>YO#A|>hK)(85Zu5p;3frmktY$rrTFPC^$86Vm3_Uq~@uZ_aLsu>IYe&zy{_1NLd z=TJ0kX=Dk;@4zBR>V&|uC~c3ktc56LM!c7xQzXr$u_k{mcPE}#7y7kpK?bCasyNL3s~UEoz&7}=phAIcnr z3D=B6oM7!&p#Lwr94I2~6bOuw%DkH_4#1;sYsxFmeZ z@w*IdRwpJ8fex5&edk+vD>Kk#*va|tiJxE)IaoqR#oBe|tCA$z%3if0Zp1Nl*$Ex< z+*FcNG>X%YJ>RB0kjH~Fi-$h4!QB3CY@kQ-o`RTAeY)Sj-H*wy&2Ykb6p7N3UTFGm zhT~2>hE+R;0Frv@aHzs$OHY&JNXZXV`>HNU)1WMitv8QS_$Y5f6Z$>?W)^pcTb98g z5)tOF^EmaMB;b~?VU9ft|8MtWV7F=5qe(0QiJEM}GieG4e)()vwX}|9XRnAqE#Q`#Qxk=nK&(}htZBIgt7@wo{s}G}t zu51xT#x?ch8<_Qu!!ogGMoOUWihk6AD|h(MJ0@N`mN-?d&4kbk-AIVlHcs5>eH0QK z1JmvP_!KyrvFv;YDJ*U|IED{V0VoZC=Xkr;snSwwn+GG&i`{ePKIsjscgmJC9Kd_jsR;3 zEol1JBJ|Xuu$8?@XXb$A76jq~1;6Tu8edD5+qGSc#-n{YWYpr3&gshhwvvNPQr0h%nfb&z$Zx;SyM9#dk_IoaaPl)ewlGd5 z2LG{?Q@9&)9A?@m0prPi!qG6<2SYV!o1NcR(6Fvv17AlP_5>puU+DxWpCeTC=2!xVi$-P(=E?uJO3w<*?UTilCt!U()7@QwRM~( z`YVV8&`s5LgZse5zP~-7w~3ezd?E3Os=Ap3uH_=yMKGJtL+^}QS98)Te*TQ3JU>4O zIjR#tb@wZ3*&Pm>+7htZ)e_CP!p3Zhukl4^`Wu~g#YG~Jq*VscwLAQ#g~NGtzV);I zOj-bvj`4LV(Uf9B+ty4BLqrmFE#`W7h4&xi*wt-_uGk*^8`<2jCvg~Wh4eCehW8IK zL+|6*_SDs_YgR|Go2<{I_Iwr%W(r9hn9DK%(fNGdZ{i@XaczDtiWxh>Ym8pkKzsmJ(2H`Sb{gKTm)F>Zn1H01f-GKXC84pTqyh|{=aJ*Kk= zqHz_r(+lu2w-M$P{=>1{u&e6GvB9{WBg#ov$;FTN`l^0;d`*{Aluuq-cbf|zXCDm5X*H<4bC8eDh3a#UXcHm6ll1`eH@WBU+vM~7plAg5c7K4{YtW%I>GvZBqbAX zcMv}OY#NeA>!YSezbCj;Vj7ZbG)pI`5Xf+^YQ2-+e;NLN0N1K1A71#(rrG z9_w(Ub`O-sOP-@^c@}uy(9Z!}tHF2z0f&>w7mWRE z)7v1Z6peD1%p&1q3v==$ridoSR`nxtA7|lFGi`AH#iVBtRpGahY9KLI;?mvN-ajs^ z5Cnb1q^v1E=bdhho5TypGtH9TyxBqunc(}#ZCMwyl-+b}3Ys=tZm9fUI|xya8(l{|2jd zyQHg);x}Q+1TDo7W*zP1=c4TQ2;Y5ZMQHppimifv)#M87JrQ>HY3FB^EJVae`Z0Oa z-O&u}h`->XyU<5r_-W)j;GpSWyS~Sac`(dqw+OJ`)7hm_CWN!!LBdE*8$KxfkxJln!LJ2T8%iaQA^keIRFdt*<1 zx@)dr-X*0mpJlJoew-!w$p0bx4^Bm2@rxzgoqrb&|LI;?!{RyQS%IIz*HjcNqQ$)I zPd%o~sn5jfojoGY*u`{(`zzbcKuc`xi`#%@F9Lol?`%L&&8Bax`zXBaQ##L?z*W;i zPq;#f44?S#a~l?sv%d)dV_KHfbH|jBEh1_!8v^*zSHop3`Nd_fU{w9bLRWxX^BGp! zvPUk=moJ7xh*#NeL|2H%9zk8ryk|7}26JIr5^;J*GkiRj=R2e-`oq~IIJw0iTCXd& zooki+>io$VKJN9scS{M(4d#1rf1Uu+c5s7dg$9b*{=?mVRn2(M{*Vh$W6Y|knW<~-Sb1jF9oOG!5 zbWw=eg)zH4n<@*y8YZGCqDoo6wwc!&b4_UbZMX9y{aBih?6|)RhGX*2PYiu0N71oK z6HirS7{d&`erofpkKKW8yH~I$+Bmw@Pi;V5;oG6lG%@B^f8;_4XK>bQkH!PJ6%wF& zMGTxwy=oDke?aKXda@(+Rh*>2aXq>!)8|Roi2eGC^v~JHL9=xAsm=zaral4rjZ9kk zpXM0<>0TM%%8u#dr0lT9awr;f@*wimW4hLsS&iQxX!%tXcuKRT(1r^s_+f!3F126n zja3Qn!*2S}3HK4IFkxwCPFwI8r;5kW_R&jf~7gMSyRDjb~dj9o`9?!?Z24b2t?qxhAAom@<<> zH0R%aMmY}$U?_53_C>*R_CIr|inN_>c12~`97E6DRCX&Kn}505t>)47(GPWhO*j<> zP}vs&Gl|`v=TC7p4!9=zodWT7(ck8Pk^N0pg5yZ@($~g}v~!CSjr`L(V006yTsCwU ztY;VAM>ThHgye@kWFc~6c#^ftAVV^tyzi82QM`z^KG35hELqsfQtc)jG&$Od*)tUS zyQ&y!3yi=JvHYv%T{M@Y+{JO|TxV621_ z#WBfK8wFxJinT66^ftC-mbvgcQ=R7Z}q7T-+P0rFhBksV;MTrLpxck#MkiXiZ zsIFAHQ(fW`J)9N9P1H&aE52Q&TD*x5e6bS*D;SAUfyj$RPwfe^0BS19=c#Ezrk^X_ zz;)>E$g4 z&85}PaPQIUc9k1lTmQl)dH)7&WyH8LWt&sr1jT2(!Jx<5GhGs1Z)l>rv&^P*kHC!% zzT#(+@J7sAQg4mDQRsth1&b!{=8+0V>Ah9SIZ8Avx3y1n(-F>)^NRi!ZrAA(P=n}}Pq`4{?DbC~X`(>A4cz~9uMA8pBly*Xg*Ltxsqc|+B6aF9 zX4o>jHdjfneMBluPJ4*?Mof+HWa27AmX$eqta%d|+}#b*_JVkvIIpq=Tq`$hRo-WF zzZ?PnEaAov?fE38_hd+^We&-bW!0^G#&&z{HpN^|jOXPc)qC1L=MwOY-fXrP0u1-6*$ zM#d-7Emm)dI>00M{nbd#_<`@F-`bk=aw@03$`Zqv8qNsmC-w zo^@RbzvFfxQ%NWP&_AY5VoZE3?bwbZWs@J7Rw$5^ByTB^$3b+M_Y8WKX6b!UwJOgn z5$_*H!x##3_C-C5R0>Qf@h~CskRUkEhx+;xKCaW2zac@@9SwRl<4^)jI7xMSD_I0kWp`))w5+-!DeII{zE^(9f9+9zvac5 zql_4g+_rBq*dP~O7$WF&0m6xC*3QMJ`{aMr;$xt*>Q|Iwh?zM~z zg-@O5(N8NlIA6K`{bCp|c5*APp|v}V)U{%~K%I_~*ZZe?WimYzCQ%RDnR&Fw8Oq!Q zBThX=$f1TS%bX%>Os-Ma$ zd#clw@iP%XVL5>oy;@gGxwz=b=_>ZD`Xg~U>ICfN>}|omFDyD9Jpp2t*#`>AL3w8B zB|?^!%wpJkbK2x}dW8@m57Ji~sxRj=#%*KqVBITqx0Vh!f)s44_&4FC!dUxLaaHD{fST~_0GvlT9+3|tZ zyD}%5B5H8JKiw-sJ~UQcyVMFuRkt$~Z8MiS^_WlP@=C^c4gj+RVb2_aTliNPEkioH zr!nZ3E#YgzF5Z(_Spiatiz4)>AG+O@XpgpU3b-_Pyj=8Ri%6J~q1%UrbfhU#jXcLU z;#BHyZcy-)ib)y4B7jv7^vxRy^8a+N?7nId!0zC?_z|#5b29)6KJ^&CFLc0S)nE(} zErjXYHFbAmK{yqa$x^@F`WCU0%4sGfS?`Db)9kD&`ov&@2}Vxl&oK1V5=RiMDxosM zLlXaVuM8LO0^!s>6N0#u3u-nJ@;mjI%Bh>U)rl*tFD}cn0wSqsI zF;7AHpYD|jT&@Pnkm;O7SAH-O$46=Zx9pXTgmQ-46=7k#ags3$zJ`QTk4Y)$h1rNb zbfK+HrR}vJw0DTL$6Wnl>J=#wM=sl&vj3^1%fkF20n9`Tl#)I&0`UhGn~hanW>4n} zg2U^w5NDN>q&&q|k)2Ramk*md5o)R-<`bquI9G-%fGX2qb%wCpA#BV9K;5<;r*@Hu zaZ5iTu=P>2tK3kE=5#bbVNP{HkL(uf@A$5O^2?E;*l^*7xyoWNpPl+^XpM0rG}4{158YLVBa2)8tilH&b=aVRLY~VNcV_JOF3@MABGuXf3W=Ey?Z7; zDrq-N?{d?xUeT9wasSS46yQXI*Cr~V~ z$xbyW52=tk`=Wz5)7UTReox9UvwogF{)T9%PgJC|;d>1OHP}edJ~%vzIedUAj{B~I zMNFgNIvHg@%ZM;4{KOW%_{z|}xxvc?;0~E=n;!cWi^zAXQ{$^p+v>xF(z(bH>c#NPhQjv<$y@nt9(3VD;*tp~2;yv{4W)HB_xr}hOKG*l%#8+_JJ$Jtyr4dJccw~&- zx}pWZ;$`IhzY&Fz5jhycj1avMXDwqVaZYzGsoiDETONWRa#5Y7qW`|35-^MGR2M-X zMd2O7An4ppZustm7=$qNH7H@e5mr(tA^cLg+UsOrKtVrV3MfGuW7_)jlygi6wFd#LaK)O_(R-2KdZdrJ;7hiHD|CH;Cw z5ltd`&vrA6MQSy_%O>w!kUJ!8m0w`tHD`s^p+NeItT-uE65gIK4XX`yI;5Z-;RaTCeDg@Up$X{hYv&0I^9>r@PTM7G<~_YD=7@y7?h4WlPKk%bVK8t9ufl&(2QT8#jV^M1#B--t=-^ss1e)nA<1)Wy@S3=R!G&c6Px}d3R3C zgWblV*`-ZwuwaBq6RPR|agsw_-sv?WRcFZQ7oja;R4PE5l$oZqpf%uF_brRF>(Af2 z(VN+-@yk_#ecwe)FDfIjHA~lp8U?1AvX{2Cpla!yUCvXoUkY2K>SFt8SryL-x_JJf z_z5Q%3%)d$(|Mh$299L&V|H%jNZu7!FnhVe2@bq0retR$7h3(wPHLGf zBdt^iVhW0|N%ijt+A)=}yI+^>U+RR5mY%*KnqGwuyabn4exsly_VdNxH!y0$6gz%% z18qe~-44JMa7FQ)Q2Ed;>F^&O6uN46?d;U=gbC3+X1iGAqTp1Ki)1eu z@c04Xjz84mj2vs_(S5co=zOM!f-e( zG0>JCEqL~a`QA{tn$ELZUNkGCUdvyj6u0Py zroGBWjKj^!mBlU2_SW>mnK%FFUg`f6xf&EJ_zLk=?`6@LN06$M#<@n-kOhY?uHWXa zxc~n9iJ$n!-4@^2?s0^afIPmzjlcVAmfjZqIp)KBELZ${8C&@Rez_Wc96LnNUTUmi zMRMNlp{5x$0p79CdaOTgv%$Ohc42Pzhg+jtH3 za1wHZ^&UiY$aJVlM|hQ)$O!hzNzKAfBIz#_nAc2OIiBB0Ga8w>DDh5r6B$4QmiD7- zGuTfoa5@YiIbB)9O1TaOI+foog;MPJxQsfsKvj?E6oo?YI(_6RK2^c9Ld=sEObtfT z=+7)oc+`h*%|DL@;LCq(1j=r^M40Zjn(R(dVH2#gy!RYUL*5IE>o)BZF-rGhSyM*O zs41=JNCY&h>Gr7J^#vcAp*`$?Zl90Npf)t&>>(PTRbJs$*nC`_0_!L7DpEJDdX!l? z(SOx5R|>*8yN>_^EkizkN1S>Lhy4IBoQWm$!2WeKecB4@=$j<_+S4VKOe&SkNt+rO z{&m&8GI(6fTO9E0CZVy4KK+NeY364*7xwbKAsYg?f#@d zOV=J~e~%ZQodpsLto#lHCQtC^US^;<){SS;P#@P3Yp9SD+%62};-ADp?1x0Y0&a#D zF{avFZElcVYR@;SY`9^Wr2UG0Orf8fM*Fk)YebSjZLv>m)A1gj8h6-)lw}qL)T?4lD@jy|nP>jeZYJA+{?{D#*Y9~dR+*n@Ow|ekfpgUA&l3gZ)zsmz{5V%8R%NS%hLawszLJWjOf)489t&qK~B64kGl8=Kmql>c>}au~60IcO1I%_Pd#9Bn3< z0B!uLZJspAsN9hmO73{^C^XJ(l1~GUkmFN6AEhde(U_gD^Bk;~*C|OB*UHBno1c1& zsZ6!q-196WAKy20X=l&!LdUiRWyTsr(-P|4kIx5#1FbmaHl7T7zRlbb?durld<(eE zDEX`38zgdt5{#UueN#Hgn}#{(TQUI!x^v}v?Yqe7FOEP&2YxcbA*>ZNpobq6^mc+N z6WG_tNL4o@AzV65s-=}So}4H^nO>4D8y^f#FwQ|KuvZD}Sfgl`(?m2mG-+9y5{F<7 z*jXY=>=*)A50}-o8K&03eL|ea>ycHrB9PZSw&lbico8{vX3~{PW51~pcBjkIdlCYf zIUwaTeFUp6HE)Dbtm~(Tmh^X?D^fJa2GApmVOdS++~0l*K}W^cNJ^t4 z!$edWV7>P{7|b0WQA$HQ!mW#chC~xC5&yhw(Li4F_Wbo782P5aQBZsTg%2iQ%82if zC~yH1Bl3JFM6O}gf%bg2kBfKZg3TIjzp$#qd-g^j7Y04M55YrwYWB$}kWPeLt6OG? zrNYCd%uw@)ch+KAvov-)xipa2Q41Aczi{1;@_{h>r%umDszB?@>7EKgMu=07DU+;I z^~@30L`R(C%TN>o<^#zh%U69I!ebFy*8^U26$#oY+%a~eekmn~4y%TFPHjEsoT>5% z%qL9>w)Vv%kCm&Xn^F`(2+NuKM}s^ z*wOshm^`OD=8RhP#`8EjMqxpg-=8^fZf0SI?h+OZjcIjZpV!kI_)yuz6O| zZE~$KML09h9IIiC?io~9Jj1T(08m$J2PK39J&1ioL8zS=@(qba-^UfiQ;o?oKoO$N} zt;DbATqVQz0Q(E}iY-@FOqGRy(a7?6#(GCr_>YoN0ncxgIho}6Q@mIeeC+pj058m* zIVWn*xs+N_82pqn6rWj|M}Zz&VOtbzu~sAb(H838RV9L``c2F%{545b9p+<@^EM+E zWD|G@T;OvE88#jeoO#G6>2Es4*pZ8fbpNcOl<*;UKo*=6 z-OhTCw2EM(v#Ao0_T1utJxCS9P*NtDzl54tyc~%MYUSdx5nD@@s9n1%u6Ho+#UR@j zqcX_GSxB}GTRKc(TE7-A7uKj?xfT{DQb4Z?lk>G@e{7)-Fs}3#Bf-2q2TNJ7{qfKF zY^usB5r+@eG>CV+9yX?P+c_G zDE7&kH8V9hSPnro(qZnSdnv*n+kM2zBr z=c&i^T*a7Qa;#NRJQL#bD~G~E-uD&nvwIXK)b}n5v1+2CpA)RNE%aQv0N-MIe$wB7 z_J$@XR+>AiTQ);gpx?&Qrg%Uh*RGjAlQJ*!NF_+x(aWEwetB27I^c}hz9>%5%snDH zq(@jbm??%X7bC}=%VedZQ+3p{>|Jx+Q3?gQb5IaVQJ!0<_#0(;4j7YT9R;^K0 zR8>{2+SOXEQLR>&R!eKORw=FBQlqrW@4Vx>dmg{zd*i%rT>nFk9G}nU@qWHv@Bs*m zWjb)1t9IkLW^UPUKdexM!d~HqaJ-ekKR09AghnlZt;F!p1m1h(Mh$)E@k)nL!I{oB%8k4O5-eL>Mb2ty0ljM^l{MmfLase7 zW8?U>#Sj1`wyWfYDNg0^bOUe6yodk> zW1Pjq6vh)frpO_B=7^uKU(>zF_l|`R{LyXhC0g8Bm1brTq{Z0D1>pYrm>V$o{1#1k z+i&}>&Q+;Y+{pXzVrQ{ZOB3pCn2COdYyQO$we1(u&fj9^?P}p~7#o zF&pjKZbVkeV>!^-LQ=%g5|#b21;6|cI@xUSD=*`M1C6!LyN1rPf?)$tL%1I|A7X1+ zmU(Kn1i2fHRe#=zURw*iV2P~s1p#GR48qlCB<9;k%>$5H+@#yb^pU7($LB6{JaD;uZ??@g zzMh}n=KqwIUQ*n3x*yJ-XPG%dsZOMo+nSA(7&RR83*Qen3irRUsxk+&2FFXc1~!Uw z%7gp`T#OPp)cIaaJ0`v#Ho9LG!s6M0^p%>yc`&)q7?vvQoCUrGYos&U(M{j~h`V#n z!3?vcA_oO`1W?(Bm6ppN=@8QfTxIng zRzkOcTSUe3XotyOq#SszLfH#9^1?wk`!>?~&z5N-x`8)^K}>}>jsZM=oN6A%X+jm< zNMKEF6O>#_=&*@N%QEvj*JLobYT%)Lmd%a6h21?oCRGsxiGgi~kLR;c zFR5)cWX z0-@o@qG9R9+!*-VH({S5hqUCGe=jJ@BbN{ovfF8~_zpsm5P)LpW3yz;KD{ zruq3)BlU3+{iuT=Q$FO?-&jUPTbX~}MB+|8W-GPQV@4sCaR23QoKya+@sl69%7F8Y zR-eMlrE}rSV*YTdxwNXCKxG1bY$*PY=?9g^tW2yxCSm?1U9v)hkD!4tdrSYKR$B5U zC;Z%5hKLjk7W3yIOvh($bB*rEpmB&i?+vvepM*st7Ggk)VMEi5iSNC6JvljJkq*`u z)>r?zMHjTD%W5313Qr1P4fMXiP8XTKs`X|jCA$FtT?thbnhpO~9gDrQQF z+dXs0Yxu@{q~xdZYR=41PE>?EGCUnPAOll{!WWd>bZ7<=5A@iCB98;?tyQ3m33!ns z^NZljsyyTECxx8vxRt!s%_W>CWzB@{JbuF3$sMGf7da$(OOrJS6S$`Hr^-|A3te^O zILDAYGbO`#V=^8Ew2=d>r9O0ufg0m-dF(u|dcBaPyIv1L(7Y>Ht)zRhX%W-@PNYaY84*S=82xtH#W%^W z-A)P>FIO@;9QI_^nVn=)tYmghox_!DP7Isa?2_uD2a8Q_^#V6$tLc5cXU@y0W7MUp zghgz=4@r%>sgoI0##TT28ucVq4ml9AOAu{g4@i%`Ppuey%K9$85+f1n1-XfD{WQe2*c_E9T5s};Jcc1}9u)t8=YQTDh z0z%1<=#)Lr84;StM?T$;;bqPum=@w>Vx&{B>J3EtkMdBMg#wO)HRFt_IJW`#)Lqus z@q&$-sou+cio=ai?T#2!`3Bm7D?Prl zy)k+gLmCXRyYIOK$sYqWFJb&_ipw6trV_j*>jCc0d)+O#L-t(Aa~}t~ncix(&vVEV!Lr4aB{CXWNt^F{<&_iMnd6QGan%A`2uvbfi-kg%ChA(9`Qn>|= zXiKk@QLb0K7+QXq;yEJ+PrYJJs#v;< zoQ0JOu80fHme(ui>-A0`>f#`?c^LZ((a+vCZVdiXF6nsz5OlGF&MoyW3^Nq(m$1rh z0})NK)fYK({j(%*ONm-hZqL_-!B*~xphdJ~-LDoJwJl%Jwr#0_npz(qyiy9>1q8Y^ z50Dx*-&b4cotMw!vK1ky<3xWbWc;nj-7p;(^_!lfk>XD(MPwWqS%M8a3T^_zn8o=g zC#W{75AVtTjjhHrRhMcvTepbcDKYf^obw7E64mGI;&s;VosYC`>)S2;=XZoC*3uso zH96ntEh_YC%=+&Ij3cY~xicd)1wS?L5x<1GOH|>=lV`(ac$DqLyK|GqJ1oA{mGnl z7C{c9ShI7xQC)eu?4X@n4khhR(dtj`M#gvD;kY~X$38QtK=|`5K7NcOzsX0n40o8^ zEL>FoxB3Gel<|Q@J{dN;W<(^gYkRqAX-jc@2WH!{d*%$g;o;0z__|d!AoI?xCgNXQ0C`4`LC}x6-Z_XQI0|YcyYBN1RwClNGLJ2LXY?4N=nt ziHJ?`EBu&AH0LwTBgN#@9&M$}^|(qH&eS>YhJa>xfOZ%++%d~%Q)t+t4)n2p#DC29 zx}oghLsB0SA+A3=6uDwJ4YE62_J9Itu8NI5K_-w!)WKYp)r-nlr;qR&^c%Hu)_eE_ z(j>NBZ}N>Kr|z}|?{1%or^EPNqiJ`F9A+p0KFCvHh%9tR-KdS!JJQSGP*G2}d5WR^ zbEEpcIOP5}IaFUWTA_qVapcTHDs%enK#Fz_?|?qxt~5Q;&g& zG=@VxJtJm3G&$y5DV%q0N1}9}A0u9=^?R`wOWD2>niQ##^EbHm@fwxUAQ65|ofDsU zu;XfG7iT}vl^;zP{nCDq!t55e_DCdTg9dtGbl<7vs}u*e^eb_voJ1^@Eeb8!Y~#@v zZzCaUzZnHCO!+8}KSj}wdi37TZ$-Q;jF3EIHqXte^dRIDmPkm<&!dFGi}jP>42l`m z3XHXP&!`?{HR47qJLS|zrF14YQc3RjE`|wkxB8st`odosegI#-I%yL)c#-p{{R?o3 z?>#Fl_Myeiut~FMVJ5cBy&DdTrR^w6U6U?vG%Z>dVPPm0Nz!HtS<`vWU?CHmrfoVO zy$!~0-wXd-d&Rd>%1tSEX;{=%)ST;ZYaXmTPYBtZjdfgaJR3ZGrwNf(8e+(@(G}Bf z@>}wL@ek<{mnvw6jSBsrZnDEthpl{Q{}sA4sWiB&#apP!yD`3tKdw+aFD2=HPrBi3 zE?prxO)o4T`&!vNmt_#DbBmLMe1a4D!>*!pLH43K^!+&ez9Y>~RNX`$(Vake_^BH5 zUwh1KdwSrpc%d~=`3?AJPgwKRV^B<{!m48LP%l*8xPC1cP?zY!a3++#@q_OkNf?`W zl3p}HY)i%LK?@s?CG3P%b;nh{2D+^wVvG8Pq~~yH9Hz}FG0SP6na!_^nd`7lGGG!H zX`*i(Jp|w^7#$yStYn+3DmNKwszz|;o_;Inb9{ZHWcNB#XpASf-7- z`g}PAljk7jQsFYjbU0pvBumH=nNb=#Q0++gp6F9;f&JjnnrVLzDBmBRDBX22kZT}$ zdDsF&ul~oHd({-=P`9oqA1M&DL{&04=SpA@>r02;dgg105`9U2{?^yPPUeC`8FMO? z)PBd`VYiNbwqJmd4jSie&?s^tb35y7y|J`X`ZX5vt2|3s>SQ^%d}_%d&p1I1fP7{@ z`s}lSH5qGA$X%whux)7!myeDmy-GBMI8=&18GPdkPEFVQ#1J12xc0+z9b;eCE~5;b`v;K+;E)pzxEjYNEBE4zzZyx z;V%P&yCR77@N{&yBaXk%KERe zjU1|0=UhBM>g}dw^g=g=r~Pz4J`4*8Re-J_Bd@jG$6&QV#xJQh$v*S+0l=JNbp&#sf}DTsgtq^bEgLm}}Vb zVDB5CYG=$<9Im9KN(<;EbMde>VfoA%_0LB<5Ni+H3+MVS2W7GWv_1DE4*NpKwZ88W;p3wu}FGXEy(V4@r(!x;a|7(_BNr`+Bm(Dl9*}GNWQf!Kh-g~J zt$`)kczO8vUyNemn6mFWaP{+Qi}E=6_Q?}7xUDC_J@3vQpu-|6u4IXSr6Y4K?FQSJ`{9~m*2~-`LnJ~+Y%(kbi^<6+AjPNi$&z47wJ9{ zMecSXHylMCWt1_fwDA0f#t# zI&osLF5Z#qkS(Ci{%m4dO$d@1OUX6&p8|4luZ<&0T}V<3Lb(yR4rbnw3l4!k6$`4` z43$71g~*7PS~e^VpPgA(h>gI>DNe%xv%7IY9sts%u1^2li-&&TFc+`a}ktKge@J!VLd{JIN`svd7*?YK9>nk>L2V z3I)`%f|(11ot5i|V+b2>Y76Jf5HqyNwUwCZec)9XB4qWT)r*P$Y!a8Z>X56>-#lBf z!;2ix-=`|_r_9;Wy*}Vp-c(eZg?);)y3DItnKU07c~RLfXcreUgQBzRtpeEUv0pZx z7Kt(ZcG1K|Sr8#B&Ff%jnmWZ7-XW;}Uwh2sOFuZ?K+xDf=S(9XFI|d0^_Ui4Bf*H* z;S%$W@e#w^EisIMyXdQs24yR`JweS0X%@w-`zGJ57Nf#e{%TY5Bn_wJ{FSy0N2%Ue z0$F<1KZG9s0`>VFm-eK#baWTkhY|isga4+prvGOIiZ1suF9u~xy@>O^!F$m8md1; zH0eBkdV3%Il1?tdOR%mw0g*WxFzUcnH9UqZAeqL-?xV%SF1ahI^Q}hciSOvJ8-*pI$*>{#mys2$z*Oha6{5FvHMH|e3h6w2txz9-rG^dk>YGLx1KyGAwQV0T>=4PreAP$4sl z{j}5!w8m%aFt8a8gt8LUrr{H|g5)BMj(~wkhbrN45b*fEi0I75xEm9p-sax#G47N0 z9p|}`EVy0`Q1w}!i*8-6g71pmk!@zLTUe4vvR$jhb;E+(Dh zWp=*nM=aPsVw%0AeYLN(PgyTr>NGRHo5%QHd(3)9ghLOVdz{P58)AaOgR!R`^Spx9 zWv^Au^NF!HCtfwpd{M2_^+N2FnbLa{M=s7hqHf)cz3M%y(BslFmORyuAel}|gw5=M z7BjjKJR3~}C~e>5FD^Py&&L1Btnk`*c`?AQr$ov&7&80}xSGM~KP`v^*1vUyMKjiD zPmZW4HjPU=?0Gk+k0$Yk#VAlC3duHpRkoSjAF!4@9HRilGu)KCeks+@6Mh3`=E%zb zGSVwllqAS5HNM71uw?UI8Cs!D}L3xY?Sxu41+1BuRzYiLuAC)6%&t%PP}O{Tij1COtc4p)erx3 zz|X(_k{wV~HEu4o#Wp1`khf6@qNttf?V$`y^FC6`vT~KW6P=Ou3F%@+ar2JqP!?vN zjcis+g7m@YT!t80O}$c)7^-S8PhQU@;buCVxvUW%v)l7GsAN|wRha)S5wwkt>45eb~^1auK zWyEgZXZz<=W4Z%^W6p>EYGwH4N;S>I);@=9i9!0*x*t65)*K3{op)_~ee~3woFjG1 zOK)@htZ#HHtI*Wj96sQE8oI;s!fHy2)|Kd@{P45g1S(#jw*p7SJ=AB=wuzx#RPVL< zuRX@;Wna)#@vN^XXAG;kKbOg=$7CD__;g(gKz0?qQze;CIFDw>>B}zZhKBO3J6s;c z!mpe=lx7)w8yXWFqd4CL;AzvTHR%9XVl(Xi*-I0x@x42AUk+tbt+2@N7&sM^Y_!wc zjQD%vsCg1JDXDd7T=T#7n2P=P21_3<0gqMUgDf#usHYyo^p*#Mdi8(`s5s}Lwpm~* zcxDsB#i2}0k@+i^AXvjgzqo~t-OmPUe<)&l=B{pI|?W=#2te~fe-t2uD_uRUha zu*kCkW)FVb0+V=XLh(BF7&gi{RI(@p^||a=E@Q=t{;IwS*GBvdgk_5cMMJ-Y{?{J! zt&G*}h!1D{C%l#y?pm(-|2*dZPLI)gr>0fw(xVG{avwD*HNtx8G=_I-sOYNq{73u< zPfE;97r(qBFf`QJj*hR?EM4H(L?rNy)b08y!nr?A_^WBE>;c=H8ggN&iZMU+5LQCQ z><7>Zke|b>4FH) zFyV2^MeI5}M=g;4Thbv)O7bp9nU@Nbu(PgHbzA6Q%Pepl^pz#U^L^s=Fk3ZzpqSG# z&u4Ru>MKwzc|aD=M`QSL(GJ1dq2L)dQ6PJ!K+bDopkB5w_#2F~=QiTW*?19fyb!sW zny(0q!`S`o{maSM_Q9rNMZ@AauTVVfnH7t=TAS97XSgT{wb2lQ|>Cx9&Kh>zX*go(ISdA(qCnQ=cWKv4c+=CRz!A+6eGh^sUo^oWR!BK z_HDe2;uYEDWsqMIMOUTZ@3iRk(DQOTRd+3w%T$%xi_>JGv~57Q_|-W6b*m`H{=mRB zmZ!?1O3%G=Cq81m)vWZ{BaQXNMKPSnc|pC62%Xrr$jE3e^Jw?TdL^-c>thrQc0JRg zH;ME(Pm#jr1M$;7#vIFH-_&Fuc_5c9YW~klljdF%6ATo`MXlM_9sD(8eEbqZ9@59L zQr!)q|7fl6Iim_vh*hiFt>3P}b~bue zu3dYi?xeWRQ~&oG4VSmETTz|fWvn$`y25dk?GKS&R~;Ey_=-O8c9H7st@fE>Uy;u7 zPZ&Vugh!`U_rE(sXvKUIOBc0xwuG=^#oDSenXE9#idDa~n$-o{qQB=jNDaoM5siHg z{j)B*HKX%%AHx8=e-!Sb$I$cIxy=&V=MVRzQopaFeX7{>xarPg6N?_ZrzI!a+x1*Lo3hluKif_`@EePo;0n zri)kXhWazR(HmiC(oIdqrFlnv^vSp;sUN zyA;jRUxdDTi^K|vRkmM~ea`wW1<8I}Aq{~doKJ@?%a;V`&k$RGJ z&93CMV26N*GW5|yh6BM5e-}wd+Pb>`EC*-3~&4Em5Wm7(%s=ErwWQ5_B39i?k_Jc%z>TS0;3q$Vr+P{Y zo91hCe~ks{;N@W$ZTVYrnDnj~VA``PIP~D5lz6zC{F%A=PzL}pbRSsZ);^;FYo}fl zPlttpL>4}2IVuc?ChOjIKS&lgRv7>4C85gA{Gs}uA?V=}AOB>j?38#Hb?&w=`b=Y> z_Kx`@AOzMaFJfoUCtlglcZF?CDkZg(k*Bm?ZgTaz_M62Lsr&NpcxjPV?r?z*z)f9g z@d+0Jk;Svj(w2;WMHLgGEJAqA8M-%x7`J`xqq=IZf-NeNebI%z?wCro7+&mc;rVhp z5YzIAdX%o1m+X^RHiXU(k#>?OROZugBqaf;B@$OhJZevrxP9rp2mYR_@8f&vb`0(c z!c*=ntWQ7m(cMN0#(vaDv$kBmqE2Bgvc%-vRqAERwcn8nWV{&m-a!9mK3Ee=0l8Oz zX>FqGUZ^a0(ay;%4_$sCu^;I-BWzSVnb_Q=v5yY`{~Q5j=bL4;)IR!Xr=t8m&5T|a z%#?0Mv10rF$^A3K6e!+xRk7;XIgkuqm@)4=)bfsl9dRz&pY_1+B=#_8%H*WPR;u&( z38(8&Bm&8s;SuOY)5)n*5Q*n-)73l^5M3}5MJFErl0D0<-lgkto0BOYCVVg~-}2x3 zn9OHmPJNwXtia(RO5oFF*;9|H&GfXWZYZ}*4yYETtF7P{u!sr&{C>#Jmk6Zq^4JW% z64-(7GGqsdtNDuiyS>rg`%0%NfWO5d&hHA~PP;>w%@M8g{dGO!QTK_9u_7T-8RAJX zx!~`(D{CAs^Rk4_{QE9@|M}|}#g{FV+f&zpDJOFwyv+B+@-7$au~!pZ%4p=6kiI>t zYVN${OTQ#qF}x%uMgg89R-b})b0t)7#pbeNE8@b(w(vuzKps};BStdOLy(bgO;UbAX}nJgqm5ki78FV==< zWyqk%!m^ZJEFW9uj$RDnC#c5`4(=**($9Dd3Hb_cu)u@YubL`1MSO7EJ?OGMz9$x` zAUN!;9tv_UI)?J(JksPIrmLr~9LsgUg&1*UyYpxtIS>6BNzBhgTxBJ?3KN9svK5OAsm5<>kFQ8%r)^H#T}Gf;O^S zzNh$#GHCuIPYCe5gbMmz-f464}3 zoAY_j=;-oBbzTI^sbw-*aN#g##%#gdN%|bEkH3W;tyDoDN^Mhiz(p23@#po`4sChS zO+Uk&7LMgEwD!h5Nn21MTHX;nY8wc>DB9!`!nUR*FDPY^`%^5~LbOdCiM+%8;9f(_ zyXAU3E)xmqiXX$Ct)nU58y5~^`nzU!6i!z69ZJ!y;BnJx{p%Xx3E z>0+jN9;PVXlChw9TjMQPG$9Fov~gKAW_Xo+egCOf`$?7XA66;o@kfd{?5Z>Hrd3`b z@ox+D6_S~F0?T5n7vPCve3Z&6kIC|C=}^;k&!IV(I_^<3&lK}rF?|?{-d@tRd-6@O zcll*x)&&C|AxlxJl+Y4Q2T&EjwD;I0e)Wz|k#q*SafgST7<wd!;lg{_ zcdQC=S%3Z-_#JL2TReIXwc&Wq*@I0{VXM`aeAlb4@LeX6sWey{@0OPT4E3Y);TY5RokDMLBI63^82fh?_MQ78HAj(#NFJe?6 z+-o&DPV&|R6{ppnFA(?TY>PeJSCYbPRS=7m4&jF#bdYj*HpW7Cin}ma&S^}j-RKM` zN0Lq{4wGK;OzJ?HHFi)5#~x`b$mpx_3|1OFL7hC=2)gMM&k*zGZ`jkZA|T7Ys3${Q zcvuGJ8h%AIl-L79h*VT4!^vtWWzV6FjZTbD}?8Z&Shlm0b$ zP~Jwd-^s6PeHrElgeMiec4Sp;QU^**OJPF|xeeOTtNShEE)F->AQNO{%>-)9zPuDb z{ItDiQ>k*3yrmC_ZOwcO&RMv{Cg1r*^ph87V2FT^{dF5KLMV;h@~4?T84!vSyztPD zqZucFLLnH~o);hTqI3Juv>~)A{EL0mYbRJ#BGYEzNm~Z<`Ql5Vn-Y4cG!q4j6Sp1S zf9qrHGj57#W$=4kZ<(_+>uVG{^_W{RCq&A}bmzMmaYc1SH@KK=!J`x3$ zsYJsjXZV`VC3K4 z+aosgJk#Wn7`16G_k&%AeGD0oE3x**Pssk9)g(dI5~ZgJ?WPZAEd`ClwwY2MN`}6J z@2QKV+@=W7Z2bnlGR3B@RtWx3(b2t-@Np_#A3bfm} zal?$j;iFvAZKA0AR8{w5(nXttSH2O!0m^m|18B_Ey=J);vLEbm0m5zg$8U5_ND6qEJ7=UZsv)xj{kmz)J(?9F66{0*3{ z7(!ZV1mskwzJ*#`q=Vc7H>)#__+e95uuds=X?jM5WT$zet~^s11I_sw8pHH=BcLGp zIZ%$t|DVs-CjL03q_Ezh6|2h@EhMfQCxBL-I-v%_ig~ad$t>MwNBFls=F19&BwA1} z*S;ica5;@j_0(hb=H;D^5M0au|X1K~R1zVk+6=OIoS zdZntz&pgrd_&(iFw+=&&hvXrm&&I>tK%71)b>Brdg_zYzG3PvP4c-#(LKPULbT}h| z@Bfw@c&F;KY%K{MT8j;DeWNhsw za?1*+><DZqvBxNuj}`P)_A9L%Ks)(8h84Xi>Ja+@a{ynHp> z$2r~jyXzdq=Fq|K>s+?3jbD9Cm#7?*6VD|VXxdZDZz&&0zpO~s1&%WIER!}NcQ8kuB*4^3z?E8dx;?C#91 z8ixPw+bekE)qS}S<0d@Aw=7gO`rGvjZ%4R4DaeZQ@Ck@1t#?H4x`i=}XOCK*b$_MO6^Nq#I+3$jf zV^UQtjK=+){HzdI{Y8^4T4xLh)1>aP;m+;eKH>9keT*Y3#=x>R*7%-g4{y$TyX2|I zAU}V?xprSOE&ot$yeiX)Y#2h?>S%Y$qxY!Nr4(J~pfYvqqO20LF=-H!acY8IUyD_Y zki<5R;WvUO-P5p8+cp6@cM+7UzoQYN7V`sz(=BIH4flY5NOm`^Y^_0=v_y)p{rP6x zD&33C3+O}U{f$Hmbs;3W4}81;mkI^ZC#&q89kW~;hek2^%GcCdWEgo-YweNm1Hqa} zZ~Fkx_9C6Ho$b&u93z_*U)Tx|D!YVUpU{VgDOgdHhdb@3p9BbZ9|f4#9*db!*Y~7F za$B9!`2J`q{+guhU!FsjdT(%Z^xJYa@%;)YKM3^}2VM`2#V5sjwS2IDEpwG(|7~B4 zXfhmKTc3asDKT=F?wg=*_4CAAT@w{)Jc>vv+V42tIow+KwS%YW&{2Vje@w5@$l8l6?KnAzM9 zOV7U0d7#1_75$Gdp(MRNZpFOjINQrDx_oMUBGMdpMd*dpi-W)F3@QD(%C24=f7R67 zXbtMy9|+J8Au7F;llBzZ`E3+N-Lur~n8j#HZR+^)sqx^1emg5e+7*SZ05LxYMV;qb z{K9b14k7cUlh`F0Jg%eWuUc$oi7<6G-C$#i#mTH})a{$ZIdTk*ku&?IJnG;2m~ZuM zuD2qp#O}d<010OvflocAwy}cYk-#3QdyPG?#E%uVI~h+|1di(5<4Dj!HvRMb&^wPp z^xfvuvF}m|ov5|YAg&nv39AywV6dk)_61sLojryI{$%52?+g)8XuJVHeBP8kK3NA$ zw0`B7l+VH>7ICou`8unnD{|!I{WYFGl5!3I!h~OkK?LpLZEGxjgWg+yTXhO9?b&Wg z?@b6};%}0FrFzA5I)KZ7H(y10D)d$na%5Y-Xuzh21io%7b2Ih3LPTOae6Q9=8s#eFH1iCybb{tk?-XNYf%c2G-!TxE;e=>J|l<;~Na*DemNr zTdu$ZVgY77#fJ88eT-o=GdQ@`Ty(Y7(4mHTP36>Ma3#*{Pc`bHVL~MK$hdh1sR1D% zZT>#`YYi}(RuvmLaO@%f!Dxj@WNpBzSVP$Mc8?5Z^OT7kJOML_^|Gvfzb<5`%nj#6aE0oIiuF}BpToH4A3IrE6e%n0Z*{)#(JY89|Bujt?=4|w+ z_ZabSeN2DvU2s!yYT)EN5H{&q5Ps@0yOurP&9ANn?8_|i&BVHfT<)O)j=O;nLSCRo zt8!J8yLxn7+Ih5MyFOgdlh+vsM*!GoEWfBjB8!RFF~h2p4q>)kVNr4gH*2_jGT^F0 z$DV)$WGKE(-rEi)WsCW@K8B8`KkUxsBg^*E8lfoW^{97Lr z92>9nZAZ^MTj@9ms1wG0+Q*=FIAT3V7PvH`WHcwrzDErjMF}HQ8w@^SD)0f$28{pK z#~9=ql7-xl6%FZiaDG2TWB&j4G4>NT{BAz2H`6Yg3n<}^B%OMUS?MqSKhHAIQooOc zaPXA_E)7F1u2x>Q{uKn%Zw3J`@Ux_=63?^Gj#aw;K_2AF>Z1j(>v;~0FcTnsc z`n-Q@>j3>PPUJ)E(CP)cf3Y1Fb#(J!2k}cDtBz53W=xt`?<-8%?V)3`zaS-keX#P% zEeN>n_D1~iyng5nxmeAi&q|zZ*~eT?gCd^SU%N&d5Q_DY(Efn0>P;MZKQaOS)&pKl z=i}_zK&m=tf~RGxZpq2mv=r<9Wc_U-`XNhm@w1-d`YV-~60>V)0-4R8@u3b;{4%$N zy9@;RGVD2CP$kan*#}buuiuO{W%<0Ze4CIBbxuNXc#$1&ypaxXCjNB0+a{`Cr`OE$ zELq9@fG3@0m4O3VrFcek%6whrl}C=6+HpH^&1{{;si<3{rRp6EEZ~d4=r<)5vU?oe z)LyV-=wUg=ho_EqkAvj#zwXD}Su<9;G0xBBmwH_=O+HZV)MIiUFv|}&)F6+p$q*V@ z`(vi1!rjm2ycMmT6{EC%KErKAZANg6wQ+cCg1rL9SHm{v?xONiFM7bB4cttJ4bF!^ zUj5l7xA1lGPEeznn^oOpB$0BM0I$xk^;)!ElS|tfMpj=H;BkA%WYd+rZ^=oXLR?$& zU{1Ou@9uBUE*Y)v=e$)g1JC|YEdQRpENW%!oQT1>0r$dk7|uHHNG(WimJI4hl?a%q ziW|JkP=*)r^og73r~;iF zY^dNqO6hqryV5uzE;MiVM72Yi0u!rDwBiq6~ z&lO^?{g+fty43H_gwIS#+kH9v5+`@}x_OeW73{ZEyU0INxJuv8dFmXPyfLokd1c|} z^VIwe{;uK<$w{hw_KfodZ?0fZ{f^kQ?eLhbXhsNgd#uiWEPxx>$xeay01>_4Q~C5V z85}5Xx7PtLm8@9~?h2OB}RU^ZQ@-V;VaNK3=n>@Vg;ID1F#S#Hq&= zj(U0Mx*mzr2EMqSeSO33N!Bv()xN)&gG~vO?nIzav}c&_yNw8@Mcg(7r`IoMz*WE< zj4Qwe{&ORcN2HVpOZ;#808J**@(1~m6OB76&=)RPrHe*{zcLKwUuyKo!HFeIk$VYB zA4vg9s;L(4Ydk%Or=CyLY;Z+}Y0_C-&S{T5d_{@iZ%w-hL^f9wN6XpBBw5^UgApwHTVW|kMTb6L;q`kc~b_SoJmB*yad3YJSoJ@aVTzE@uhJuVYr%C;K4whK`rlj!CZ9 z?{5e#X+;2PKu|$X)$d$%Z`_K1l$f5M%_|;$4%t@wAe-~b`BdrfwYjR`{NGULMn=4a z&@d;o{&6Yul{;D{|LcCtTUe0DkfMY${=I_CJiuAz)MLWk>3#Xpy&f{SP~pL=y$U7< zk6hmP36SapF{*E+_bmN~BGe1D4=L|+biC9strBuC`vppp{&-=Z%+ME}dn0heEeGtg z6&fhMe&1pxjaesv$JYm~wGt zEc4rUMaG@WJZ=+3)}#`jkA5ZLVe+#r^f1P^9Ms$!o^xU#L+L$0DS^`7ILm%Bn zudkB7z*DSMhi?nK=ndJ@#Mx`9a5blI$zCr>;Vd#LbC$GUVd^q=mdu!fDb24j$o+Fw zBa==1Lx$&?%wfq|H2ME^Kj!kLB~1RCPT;vw)c`ByZ2eP@d9V52!!?f!TQ$MVcoX?3 z%2|+%zG@NVUG?xDDNXl_RZp6;7!jszhBcxFQ93_)W zW`k1Ipg+KB#cCTB!QjPux-(;9E{)Dn^!*g&V8-))j7?w0!s)WXX!+64st>{fg@g2} z;n5-NJbh8T7B1H|cwVjulM+8PKHWOvJ0)$jW<^#rNww=#f zTp*(wq1r<_74g7dDBGAZy4MzGD2yWICfBmMgXo-zY!_)E0fUF-)c5I6qj1%0TFrl? zjrqNLsY~XbCVdr_AhIKSC>z?AX_{6+I`i%jseC!r#ZLN}YcD#)i-78ri7Fh|c`9{e z7f6tkI+}aw-uXDj+uLnh52E9*7jKtOOHsJv>$AAWN3wz%HC;H8DuNCG`LmI@Rf#Dj zkFk)LgUerW%d#NTLeXx!D(?nmcc%!~T-m2GUZXjZ{wxT^|8+m+Y1)AS2T2l;_U3VD z77)O5>M;r#X8>mlUSbp$TSbcn(FmsOu#Ot88JRPZheyeJWOEN14iQH%nXRR|$ISg;t5+5%Y8)fEFk zCA#8J6Y5H^PmIg@F1Yg0ht8o;mXCKr#CUABQz^z=n)KkAjU(RJ+&l>$sW72FiOHIe zlmCtfI9A2~VsLwYU2PpdYP#pGB{0kb41C)~hKSW(aLm^~r-dRl>LE(ZaZK&6C}#Do zOq_A1-o|69Ler@%ge|Kk#g#b%@eS;!pZcY!Va~^@ zyCZ;@hY+Jnoj)6xId6n2wZ+r&$$s8!nd3sfa5AUNi9}er&P~Lfs}CWRg?*Z8xrP?u z>w%BQ{YT*lEmnLG6cv`Mwk6jrek({ZP7Q(ZPDHkn{GxM|S`~G_FF-okyHK07ElKT_ z9Kq#ho2*Dt5fn4-s!F5?v*#i?Ir8E2FNhzYB6`Kmhot{?Kc)hG!q20+4_ZI!4A`jW z;5zk~r{7&PcpK}&9MHGa{nxrtHNSs)H0sW24cu~dOFkNa=SY6g%&7)io|k~SJ*CWX zN}gTEc8v{Tr}aSL2#T+|UeR}+>!M*yw^-b4OS-*X`lk2<#z$S*zepwmqg7su*bAVM zvM>etBcnpA-KH+h^S)~lUqWa~9i(3Xh|ZmWQYxLNaJi(Qw8FR83~PGRiOQ)6_q%n{ zlAAoChJTTkiV!kisn)v6^?O=$3_v91V0S*M701oFZ@w!<^af5F?^Yig0q(m= z%K0z|eEV{qx%(2yuxi`K`o3Z;a&P-O;y2T%n#h*1&`+057j_;a;7&%Zy8w5HQ+9`k zC57*SwR*(|+DGlP3{f&dz5sEg_sXjU)5<`%AXBOLT-<{4R@{Y-_^77`zTdBPaa1pX znWR&XbT4}t`I5{C?*Hq4%=z&>j!@>Az~TH}R?!GK%Ttdj+MCyj`>@ItO*$Xrb@K{* zp3tM=bM`u~UR5a>uz|y)Kc{K-LxNOX?%hTlJPg%xvQeNr&n%~v3STttD_9|9l-5gj z{P-5QT=*%JG`^)X;PEl0M%G+*bbSV^8NQ27ii@YX4&NoJy|_$hR(IjDaiDTxN1==& zz;7UhCs!dxZI+l67yGfYb;qcenbm%u z&b7l%{$7(znk?cs(qDBdn7L>X2V~M#+UEt?WwhbXKFBpx+aX6br(aUUTiH3tdgo~j zH2iU|>;MNE7~NE@ptp_dmRO9w#!K?vP`RPjU}r73LYzfZwKfFEc3<+v-CRNWJ z7MIq&f`Mv0aDNcn&3Udxi?Mm9k4J}QX*uOe@7KCABmL3ZRP*QZuE$l)AEtYg7#AQ6 z720kb7$8eYq{naiz-3nSuEvPqr3iq}3pUBnM;c91Gwh+FpmCJ^>)W5? z;xDoa@RZwybbIGmZpoKK8}w75esmc0wE}{0@Cm*d&u}qE2TC-$}5rcIGqz)%2tnI^KHU*WIr` za8}JVobDdPGkyA@`1-0HbbGFsdfXsD`xm0 zG_m#At|MJHtV=NF)MI2gX@&O_z$R?;aYFcFIRdLrd{mB!7}p=zO}Y99Jai7x?|k#0 zJXEk>{}b-s>lpk7lL3gWR|o*By^}kpo8;(M4x&iu>x4WC8m3#)@a8X3YSMIBbH&Y9 zGDKA~frOo=>)7rU_&dM47ppk^_n#|7kOe7sd6+wiTp<|d-+=p(H6uZVEbw8bu0j=|pU@9M#I4`x^AG z`!PnKJJggrMj>SMzHrOJ-2Xg=XIG9W#~z_tTvP7nuj+^5KKE5G7hdL+Mu3D*6#ZbX zo^Uqq1|}Iu0i#d_afPgs&+f{6@Iau7FSDZHfht=4cVDR|U$@mF&xnP(@Z1ywv_D`N z`yLKzcy`g9T$jU3{yy+`BMU7LxNx0%6Cn?xPg-Rujt^zu9IRBn|D6unK$V3O0`B;e zV(j_r>T!%}^<(sX>A5WW;}t=PP7W&nx*zlNS`kAkddT|X+PvZ!8<^{<$8_N$gR8SqzUoAu5foZLFpZfe*m;jSgZv}~+1&_l zsRBRfc#xL1%5W6}Bx|w7^_aU~kBN0ZkScOM#=cuPeT^*(m9WYk&w%v<3yrIVrhG^3 z8V+m=w2lQujqIHgC)(_hj8^};9|O{ai7$WC0|m`GFsm*Fx}189?)GmTQC_0>i#ZXi z;QlEslYM#@+VVrOso!1!piWxh?C^CJba*x*on8fd|H{?iUB_bvE?-7)`Pq8MM`?VF zaOECnumLGBq4`Mbd*232T(OIJe_gsq1aKgb*0D$JU-x4~&g(|3jMvEMjVOg!7x=oJ zdW`o_i|GDq7Y!zIiMnqpiZcZL3W`Dmn`9OL)PJxb6-nb~uBD;uV=VC;k8plB<5fDV@fy>-fN5!_)(lZ2-7=Q1p$$OZgz}NT!owHkztTkgA{w^o> z{Grd-gLE#@FxKNAYMOMXOBH>q6tTEA<_{R)a#AnBn@sGCqDHa1Jf3&Yf-TF}>~|*NB>HkIT7lFsgBAW|7R>l9 z0s4hpLXU5iPB=4b2y*GbNk=u#`fMHv!$9jsIhGpPRUBIa*3|XV`WF30TTQ7nf;} zx0&)ao`no@|3QMa2L_YXqrq1cLhU(1ozYP5}QnH?8LMPwkjH38P@wyV+ z`ZYh};!wg0)AdBL+N&_>I?M}bb{Xz-n8l>0nZPKBO<+4k0xla8+&=A#g;6jj^?>SM?Q507VnVQ6t6Exd@^W5?mi813wd{J_K7Py zcIz`r!|S`4jQ#+vsUf7DZ@cmuNK>xX_T+va(3NPcT?jOzixW`h|JQsB?*hF^^E8=2 z)o)RHym5#7)MGTx%i}fL5)6)BOGLdGO69aD6jI_z)3Xga={75?axn0O53`B=EXR&= z_HqRLs3BN!1G8T@4yo0y`jR0$p*Z_C7P5mzad+>i~{ z@^H4KtLOx9qnXW>10}TChUXii3-0n2L;G*6G@fj~9kkKU(v7!v3mNLQUxLmnC`hTK zS_h~b2eap|;|z>M)6g!Iec^4m8t8`L55Umm1`N}32f86_$H}Sc8Sq;)OBXkD5HdIk zwJ5%Vw=w4^@a;77V9oHHFjIMlHS18mC8I(6hH28gUb4t1+wu3TFUziP3OC2+Bl3o8 zR^(M-OLv0FGphzPqqH(#o4k6dBcvhwo)+WexA3*iT(hsVwo-*pp_K2-G?1@VF95pp z1_2Y`U+B!r1b1}s2&d=6R9_FZo@m>T%pNsvu>k>_iGG)g#ZhRpW#8*Q<K!f;d=%u`gNVmmTmTqdQL9N(X+=R+LY3+o?cl5v3IqJ z8Vl%%G?b!akjcc!XJ6ckyrx#B`Fz`-N!2Kycy-1gtgCy=Jo#~w{${`gcQ$s!GjA+X z?R9<^<$jg}Ds(`0%V5*9y`I4)V zZdCX=A*^aYswYf1bj_Oyxcs=@xDMl{DkROT^91-zup`$&+#c-dBb$VzS+n{kbuoBW zqhxPd=NC~Kmo=*7qqBQL4Bn0xYdF^#nCM^^;@_yC1&YoR`^@y!JQwZE{8RqAtVy&8 zigp$no5}ZG@ts2=?d;f=)K(OuMz8aI=Q+M_?&jIA!&ma$y_a5C;_Jn!q>rCqtdPxk z!&FTLC_{+jnbDVh{SL;h361GB$-9)Ou&UEvR`1{AtN%MvXnjiDkGn^p=BAf5r`bQ=Bpf~k(Yy!%<(pH zJFCLdOZNq`Gkpcc0AWCZKknySTA`bh}v)e$tW#TLkeaUt!EoS~Ib zo?<{=p>ZxD92%4T53Q!py|6rU&s$wAH;44c)e_8q;g$BZujN1IV{R>$`F3qyRade~ z(5aS?5IXgkX62V|&G7)=*pX!fn?8)@o)_9Dv|{? zXJKOQOO@kFic7?)ZIO)p3FDZn#^svZDYt`HRTynkY_N!};WaooINZ&?+Jfa+TtVf2 zX`P6|1ETT)A{~$Jyf3`+s$KHJ-!BP&*gBeUF3x(hJqBL1{DO5KNC@q|&dis-mh3CU zrL29tcbB0s$6aQ;coQ;GmFI(e^xDou@;w_U>Am~nqe(%U*#W3XnKtAx#?r}w#|APn zN>$Pbs#mbN)rQFhzGk`lxm@a5qNpFv{O`@9AM+gg!~P!5dlWDI2?p8y=k}J+pD%Q> z21`ZDLYo}FA@k5#^PUhGLzJbpO{>7VnH*r*S)64cltEX#L&qjS{DPm5;x1ZVJv(%Y zu2uMD{%`x*At8Ea-*3_p+O-N0_7O$BoJY?31t!WL=HIJIdkOmWnS2MjWy)S zTldrp6usnyG_T=LS53CEmQZG}twJQdY8dF%;uwb%`+b5)4f8w{~`%>{h{VmBj zp53C)=LX$-$H#itFBu6sNMuB0DE1qalHJv>_UFS~$E0{JiYX|Ht3lD98X2V?yRPuN zBDJ9}7iY`{{EKkPm|isCVJh-A?T3iwd;7vdU!SN3v~19c4@jA>1*pozBF60+n#74Q zjk=(!nQpql;#Vl(QlaOaL`|*3!(ew`**j#^Yy(MbyH4h(9?+_t{zlZ;pJVMUg(zZX zSd(DtPOIVLm-p1KmTrcBv`0!dCvkYURJI$MKd&LOC=5o)q?sv-IY!D6Yg?EB`SOlo zOp@f5>*cC8^YZ$m!r~4eX2t;0Mgt)ZH7_ZTzO?&NMm1OtT~es?Q{I9|&X7o35eyUv zj2Dv2rSs^HX~5mHxuqPTBjYP=Cr$G};DW!HApR1IP}G|BGm8s;4)XEPudQH1DZfev&q9Q* zVj)ykj%}4T)i^bLu%=Mv`LV5dh2(c#Go2hS!jIc5Gj{`I*L;K&rmJ~X(^dzy^d;pT zoh}nxC;@7uPyTnDeTut%627EG7MZM?EIo9#`Mum^cD?bNHWSib!mV&O9N|o%h{W{C zr@i!J_x|~wYxf0}9Cd{wz{vWI*{6obGAnPf1ipw!fS&3r+wf*d_4T_Dz1IygLi%b_ zu{*~ndQv;nf(%+3jPJeh`nFO>>_Skbm{coowoh*3PV7H^gW0Gk1-6DRvt)k+j|LQfxsmFK&Zctaen4&!kuk$7uVUFR`#CfqgN5ww5PbCb{l!f0&G!j}$Juuw_LQLP`F6epx zx~bL1FX0#E2GiQBcM=<_%9;Pchr zFcLgc&}$@SqduAy@owrB(V=M*cC^SRRbTBgCTG5Q8@v21n}5y6gua*3e{lY@)d?w$ z0s4Fee(Ev5I*=d(xu?{?z)3UY?`V$-zilZ>#BEk10Ws0sr zY)y=}lg*Vl9^b*7p^GBFmp2Prhja1`&A?ey=M*e=pUL4a;0mG%mGk=W7YwdYk6^q2 zc*RHW&SO*R@(<=G>V4*wb#d@o^Kr`r?_EbttzW?b9bCBYp*O>fZ;fgkh8e@L#+I75 zs9CynmkHiIn^_VZt~|!hx%?70_rFCMnyA9Or`94Ahm_cOIr9N-t?#9j-LJTJMbr7= z%nlrT`({EP+g)JkvaGR7w9`^(xm*uWf3k%hkQZ`OSK&teYd(hN^(?}L-O%k1fexhM z?Zt5FF-85O@QDRAxc`B(JX|wMj}j|ISLfnx^x)8^}<^K z|4mgnkku5Y(rEr&-7C?>FYwtz=9hE{Vh=>KS@jSQx|*m>ZkNZbF8Q5DP#7anTX13p z+p1`ST>~-&v)@lsi)~H~vcyCf#EWm*lnK0s!hT$HNZGLvyH-IXq#tUIo%I|rrO(Uq z(@*&p3~3}=n4By}(pCH>8dVkgan8xZg`EA3SNW;(g4YIk23bd>qWoEK4W`CuZ-h0Y z*{3RT!~mJr&svmh7@uMK zulX45zMAM8iP{*JCtqg{@Y2&i3J1W0PhOrx|K)QuD(-Q~gzzR;$aSF7Eyz z3>rR6E9kBHZbiZG_xLokyYbhU_aenYr`5-$7Zkp|fGKEwS<@-qn{zej;8f%aWs>;N zyd*$BeQa}4*hA~VQfkzL1!Kyvd4$K#)Fy#YRtu??l~HB-?5V&HJLJMBis`Q=L0|&8 zv7W2E-arxQV=Du;5xdKsE+&o>iF%6+_S)?XM}h8Nh-O(P5XOJa$ApL3yM-Lw_GNMO z$3GuumOS+s2endB-MIab+&~e9=BF&o>mO!OE3c=HXBksD8|}SytCp)6aT_dhKf8NE%k@}* zlV(6qROwmP3xqN;1rbZn8n$`;b=oY^5@ah?qfScTZc~GO%%nVzg_bQI<}C-fXZR2= zw51|R-MeODF$?D694OQ9-_T^lv^3Ju^q45w=S1jg zeZ@Dh6Kk|!K++vdz~>$_d!UPvd*in@oky5~0Jj)ck@tx#MqNzbo#GyCt5wo|abM6O z2P4Gnqd-!2!h3}X;hkbJg%8d{YVK=EI{XX%tY5x)kNHx_ z?d`;tXv4V?Clh9+OPVC78~$rPhQ1{u`~rNH@Wh`gA$%mLf9f&I-&Z|S`&b$`{<5>W_>( z{Js%2)RxAWI9(#K=7kg-G5F640|(_*nR{aF@*zom#IBE&60 zE<^Ktw6|eW%o!VHuKc82;UCxA%;w+5oBV4&rvJ@(=CL{B80TFsdWUFX#Z!-|dLZlK zbNh@6eJPtkLB_cBuD6mg#Bwi=8i?1P*2;{pb}XPxQEqq(NmB4f1QufsGJV`=m5|RHEd?K{Tcx} z^%&ypurLfwPV{iNx`%4UH~l~P{0t6f z@Dj^*(JXUT=R;4vh=lk=PdYeYoHg<*czL<*%(*3;IpTBq&S^Ssxs8w_^$>icND>X* zUoDhu^JJG(yfkm&@7eu!cmaA9c8((ExXTVFw}7=FHp0c~Ku(J;S3N^&vT41vKj}tg zHCIu1gTDm%D}O07F~n^`TdBThP3G&(Jem%gV0V#Pyx#nYg1ORD?XUwze1aA6M{O>k?ns7SJg0Kj(#!Dq4=o|#leg{fw;X;M&L_U~6LTRc%u1fQ3`?Iy>pc$FF?sNElG zuy@v0?&eEY$TmMNPg4T1x49vEeHQB;$2-K7ofctgOZja>!kmqeL0%=uu8gt%zWq^S zkUPw5)a^X!(YaCo8fF*dJ8}qz^|M0SXVw>ygT*!S_eI53S2cIY1)-+a^e$~)21{R9 zj$E%(vAWg{Hh)9O6>qZXE~@we7FL77m(0}6<^~>nUtV|u9izGF?gm~pbk5Y_Ln%G? z-{A|50E9kfisS6EGmfg&U8ZW;jx%EPE_`JUotxIRE&9Ub=*%GQ5sklN?*kQ7U8=qt zqO}S$%;A_7_^-Y)H_>2ob@C{4kK(H1oj7{mQ;#__;e@`rbxs8ll_CM7bZY2y#M26y z<&owfD!~DL)=B_Sxuel%F!0Zr6vC%q12oB~AGr`X9KkWB?i(UcD>fjnNz35w4^`y$ z3tyg3a?eGa(Fg(P9D|p)E+lF&7+;0|g@VEN zIE)YFnY$l!&~?TKhd4f%cQ8H&)#^@f<^Q3+D!Ie^_b#8OkChQJT+qKt}rZo1o>(>1MdGb5S=1;iEY2YN8()+gZOq%0gJjSkFER{cgxQz zd$``@cjT9peMMsux28bEGqbyORWx_^Qv!XA`K{KZm&j`Jyqu_sBjj4%11CwD&x%1k zf;{e=7eOkbh4utYgpQ^5zI(HEyM^Ke(rL)xU7Z%#XscTx5&-% zcM(ke0D;cVfXmhQp=paq5z1LbY(c9HRc6$?Wf3iP%ey;vP&`@*u)UJQLEw@1C;j1^f#i?hf|vK`X#OU`)H0f9 zW6O8V0)YLRZ2sG9Ut#m>hPK3o-!vY?B1K&Fqi=+g>KcyJK| zxRM%m?WL?%(I{iAZxO?WLpqtxH1qc!+g)okqwlil&ee2F85V&6^ zs{9NoO4K3Rpkb*|w-j>M3?6SRDZ0kZSe`sB60gZi{vf)k)nBX+lU6Gvn|!@5!up{i zkfrDe_(IGvz)9#xj*~H6^i^YV;_R!&kOV7EeYfo&2_62;$q2oAZ zdO~Rf$X4_wu#97)|LQCAntP@0nA@(hEhMa)&gT+!>M@*8`i%vNM~L&Vw=7Z(zj58^ z5{Mr^f5_;r*MwQMm*522MP-XK4bk)o7r`wRwvidP5B%1vJw56hkaCyc^-w$dVK*@~ z#mLN!=MLvXrOmHk+ru|PFFDtmKVm3WZ2>QT_!x_Os_Tyhj~dt+o3XiEGo}@I8>e*N z;|a@m_*G20V2s7*Ns?KQY`IwEW-gb_{w~pmdmx4nq7`Vb>2Vx_4*w}D+p)Q)QKFZ+ebg}eDbHRogJiAdQ zLH+biXUc(BeQyL%9LuDWp(pM?BIb$42pcuENB$@SmUucv_BHl;>jB`nMU9EqJ9b2J z?3Cr={I=r0GN*ODiA%KKVYxWm>~Sc&%oY6tX>%=BY`A3kHk`%CI@sA+eP3%hoW#;} zn8RHob5TB7&cN0!n@8=*;tM&Q#(sprZRkRb3bTgBnez+<(AKNir^cBe3dttS1g z;TWY?pmFYAdxN0Q0wS7qJAYR+dt*T<{Rt?!MKr>%7Nyyy*yY8yZ)ifYVJH4qU)k%f zMqA*cULa~Z!0Orl4~J8aVeVPuzron3liYqKpvI;a0+y0fl8@ICl^iVrZuGcO66JA! zC%uyhuMbRO^lA@S)##&Xm8YyE&m+YYBXf&1J~>_E|9Gar_2Gy%TSUx+cM5ckD^cEzVY=SPIOCH+=&C}gq>4Nhg1RQ6qdKX{ z>5?mEuPS&Y?9%n+Fq22O**i=o409d=%yG0JV~cu@i0o@O0l>!^7N!S6P{3L+WB%rH z&1U=tV)11gn)h-B0(-5&+*V+J{b8Z>CEp>R0i~iQpIMlx8 zvvG9BOKzTrt`@~Y;XqT>arV}FcK_F1IYvrJdJ&-a+*B*Wx2y%bJMiSvJ&u&Z^X~gk zQf>SIVpKzZD*>-)Wx0E-bash6u2`e{SVfkxB7!r{#gn1y8b9E?uxHw^Byp|FVx7P-rEX3${4QJ%6Cni z4cn;3az$Rsa`!qGrzb+!yW64wIwyZS{r_uIZ=+WSS z3r+ZEs$~mIg=5)8d}KhEsR_KhA6fOVbOAQYKWSJPq~8J^Qk!}Ad-cipJYd8*Ga`o5 z79XW=H4mQ8w})x$OnO@8iRA3z+bN)E_nD>E z(}@9R^Chr*8)ciU#e)u$Y9jtuUs*mm8f6_U0k2C>jIm&jr91VQ{C2AG3-MA+l5>*X zk4XeJ%X1s`U`hpjW)dV(vSQ0(_!cOo3HK5x>#*kH*!ZsVW=kAHcbyol(WXk`NIvgc z{R=3K=4Lr-?iG-e zC)!%QXy>g-N{A07#_=BiN~f`BA0|nr-jLiCuEMARi@_SOg0>BD@3Vq~_$CXR=z`MqZhy$3&6F5!_8 z<6057JFSi~Q`Da6>g`GT?+?OV4dc?3^WJ@o{;ju;Q6}AsQc+&97%P9Ef4w$EAU)T} zTE!g8d*;0q{J;9jjGJK=-hl+!4VHPAjz&eXQ;$hBXwwyFd(8jhhNsQs!do;ww#eq% zxF*VOoJf2aQXlpA90d4d;g-b14@7qpD#%EimdUC(caQebuX2_%j7UG#z$C}JRnXY` zPevJXIT1dKk6B0?N;ecrU8r_#H)TJLK^F40{b7k;i(eHp%)WebyEJ1T|yXHHv1y``rUrV%NWjMojHyFeVqLbpNa4rDlmHpZF(W<_G z1{XF+@&dsBozPjQX+b82C%;pOk%vqizE@RXYAlyzJA~)N&ZuBnqBgRi3Q&2;cbcGx zgqKCZ4lXSkN53KAa>BH$JmNjhOk+Yq%6M= z;{4TvoMv7-gz;yBEjzk+pnxDjbz}EZMg!+&HZ|S~xT!W?m+5aF7nqezI{MHjT^v=x zGGsrlU(US7!=XB+?_|`>|1-iqC@+5!FC05)V98poiu8kvy*B*m&n(4mxGuM9Jh3EY z`L*W^fM9KJgg#ou+Jl)RJ?Gs+MKo$PR(I&N)!%T6%lB;{R~0-(R31#5)6rJh^6l8kwRrGhgHPX+%l>Nk~Y?MW9#J*#uxK{RWYO)=!0j+^L( zP#-$Hqe<6U`af0-l-IP3p?gC^G%pI>q9po`wHhA#nKXVDXQYG1L|DoAIR0`s*7>i# zGLI)QT8&-t_Mbvkxp>PDtWQ1W*6net_=SASCkilG=^LhjBh;H*FQcm9B4>GZP-nkr zSve6ffctbxzK=x^Pkj;uYSBviW0m0+a(n9NV0|&@4Xag;yPkUB;`^TzgSvKO(|QiL zyl-g+k}Ie`txQXs)GN;S*JlNN$uQWQEhP2^qqOd;Soe zd-%pV*ftAwr7he%YQ~Iyq`#6FeTB)@xT|gQk}Gi z*n3AJ10jZP+~GH`uvCC#<;W4K>zy>iLfBD=h!lHk>K6~QSJ z=_qm(klLkdZ3OZyB$h~%80lQgV!C(80=ZeQ*ax*Sz@$O15W}Yx9Ov$T3f_tRqgolV z5qdMoJp{g>OVWS;((})PpM>o9cd#;tdEQyS*%&S?LTJJ3vuIf3fiMTo-qE|iJfM7q z*~>moE5^Q{%eeT?0$!5wrwcMc$^%q&ma}!lNNkOE*+t7mSC)t`Vq$7HMR}hjnF)JO ztEaR=MK=;3SVW}d7kNL@A!6czPP9!d&Y8+uvX&-S&AG+&!zo_sc#}azLEwd# zG#B_)Y#Ca*?cS8hK>n+*%s}`po!NYY+O-sR7lU%1fK!io_wKoGgnYa}ZF~XE)CE(F zyVqBiabY)_zpM1rpiMt^_BTq{Kim2WhO>fX-_L`3&8!FlczG(ojnx|&(j!81#a}rT zi0Wb@-PQq2B_>;F&4lZTQ(C?Jv^I^ecU-Qp!6bzxOC6H=Zqp~PBuBILakYPyBLQoo z;3L!W+{qp4_<^@2@i@T$_zPG@|5e~j#gc0q(o*`zN-IxI){*q<&x}$I5?nx;4^!d) z)mJwABF|s9nLc2hv_d?3A%i*XD_eP%puSo2!Ek+DpPh&03Yg{o(*Ulz4#na{(RH>laH$g=0TewEg#K?Mm zKbQ9pyyR@nW4fU!YrDh;XnA)Vx9y`#>qn;B?4tnE=~D1I{SzbJ5(%E zH&mRTc^#UNJudL!Z_vfsdH057R$ajFKE2HLhC{(k)mX%STFMC4*z*+7#zDqhpu85X z)Bun*eK)YjRV0~Znp>1f*4MI(k?Hu&=>!zBg$(Gw`pQ&!-f)2~4H1@h7j2GX8- zjK7-=0^ZMN8YZ$1yJm$QwAVS1Ov!;~h zUNtZ46x$vC;l*;O!I=g^DglRxI@jXLbN9RoZuOoq7d=+5Ls`K_rI_)el?Bp=o4AO*eP)(O-=Jm3)eR87T7FiSbg#6>z(tU{F$B8R@_J$^!hQEI}dPY@Q-^z|XzRl{>;NCYr+rYgHi;3X<=9<$lnI{WA83pBt|T zJ2UoE$(Ui%|DEIszd&^!(>4|A+C41BoWSzKF(_zU>5mD@ep%uNy{(l`;2P|a|Ku-( zMXjr;%guv#*j-I=&xD6L(tPfC(_D%RpY+NW&bux^UH8dqtkNXejlaVrLh|m0BH`+@ zkZI=_934}-bdTR{2*}t~AjuM~INkFQE%uOCn`cTCUa{8bRLvzKr;=VEt!RA|3Li3s z1~FVP%PrY4Q?#gN{-RAVIDUSDPWZtVmB_rpv>4k9_WR+MQhVrzKP)k!YYuF%r2F?_=*YSw<&Ckr(-ccn${s>#J>ik&X zeMMHTyTfBP78?{nw~`s5Z`KFuZ0X^`O{)$bJ}OX}{oy!DHbN%0Q&?Wa!Q%}f$>gb? z%NcJuOHtQ|f!l}p!m{fKXAd0Rzj_R<7)!+FMgjy@y8CyYr3rlMF)ka7e6POc$MBqK z7Vy5COz0GU9;6!MWqRjA8DjcOmr6;WC7JNJ+OShBkltHpi}y$V6U}!!8)|yLK{O?U z&joCsKT~;hpUp7Rv`QoL^QgsS`z>Ivq=J#iM|Zt6gbH=YSIjm~{uL;(JW(zUz5*bn z^O~J0d}o=^^;z!MojycHqJ^jmf-BUp+Y$ESRu*&)5p7?0W)V<6RjDkQ1vA2$zeKqm z4;TQP8rk`x57gto)DwpF_uMoWH&tPUHu_N$s_K^`J6RdtiV}3CqGhx4Qr(3y4@{B~ zow9_GoA_pj6^~qW0>jK#Q+=M+I?3@hChxrERQd}(A&zxB5mpVHHN0wHfndQdh~T!? z8dfzKYSb*D3jf5o=6zz5jWYOJYPjV8A?E!xCF-QW-**gq=`DC3Ph^vN4w6mn#XpLv z_qm{JLx;1T3bo(Kp_>7z3tw%$;gF&84N=dy7V=81 zk!fmKZ0=Vdn2(*WL#~q)5nSpT4k;dgIIp#ubDv+dH~3eNX%fE|`DR$o24 zbm}pZWdOxXec42-f^yz?{TGbDcfO+cKi7lsty9i*!bS3c?kgUm1p?@XXAnRNU7P*k z#~=J*zsAT4(a%hiII>)W2=z=S@eYK8uG@Og`fqBJ^xwJpSt>#*&7)18QTp`)iYa8I z0uR^YVlKDfDh%wXMN_%8_?|mCG9`@W{q=x$uE)4+;d-+BEq5`c8*X;gXK^f(nd=I& z=rx)H^F}vw*)x783^yFurM={@_cPd9R6k-*-8yT@PmmVbr42Hw&Cqg_^J>-$iSneY zwS24KWDKwga<_@TVj$+q+h-cWqi@SMxn|Gdu>6$f&3kSws~RypD|;^thW4{>eJk$G zwGPuwHKS$f=(CPiCA@nfCFs&cP)XVE?JtlJ-4gE|8+ zy`TDUl}tiX7w33!w-=Rs1*=H{X3!fNB=9n7NY#kXt)Pr|tKZzHncL8e_{ttGzS(Ej z#KkIeh19}Nr0Q{5O*fd_<8?7YA6nZy2$lBB+1usf^7pZb>q(@Ut-v zmqC6GHZf7Yjz26R-EAab3NEEH~AV*gdiw967G?Ja1_SX>KSm1A`(>c&f0v=E>^B8?|p_JlUE_ zt8HH#>TmjU52zaPU+sG#N_b`&v#ZYFEYXSyH*X0JTo};^b}Z(DDDhz8 z#s+)DL-o>G*D0nUos?=owuBX--P1*LjBzI{qLw+xrFV=S5%FHR@q!JMIumpqGQaH^G0-rAi7C>K_A}D< z0r{JDa(!=Q$|wB!Hot_a`Fs0XW!3xO6kihQTnr`Auj%N?XeAR#6HRr#_?i{rv@27b zWhKw_A3p62iM{9V_rrN7?1_bf8EbEWPgBlek|CgYVvTV!se zxw|XiowZjbynXkT-9ySPwi`ADcD~R10&CwoM8(FumCV?z3WO9)@=oWN#F+fP1W2k} zR~ytcatK1^2{(vK$RU%FQtUY@{>!jzold~KpMG2>Y;Pvs!ovEktdH0z(94HDhUwn0 zpT?7YT0p)4YEyud1IY&@ec%!oQzDP?r>GB!IT0BnUoCKxUNgm!P@OLB>dZ$Q^n=d5Y?y-a+hx0@;;+tGBw|LQR%zr_gG;@`@hfoOOp ziu(W0V;J>2Z4Bl7?QO{oBFoRdN~lb?`Fie-n3v+wvNuKU+6#`IRo42*2iZr zPs;3ig91g@4ajxjif;$xsiW4b7wY#tM5#hOBLbDvIZ=b5e^knm1hMnq&;r<7Ztkn9 zWC8Gwx!wusQ1-2_IRQ^bvAwoHhxK75X=g*8z~lSz3O)Hh8Djyd3^6gcy%9>+0$Fe7 za*UAM$xEirh_B#4Eff=&9{f31L|$D+Jho(7>1tA?LHUIdK^Ng10@;mMq#F4;=*Mh@ zR~zRmQlnre&*C3#5`m4|=(!)SL7C>f>ui@SP#OMrgOoeUMx<}e9UuPDJl<=WTa3sT zmgvSKV0sB6z?QEO7U?9dDlzy7l~pg~TH_+_)?y^j@er)bZ%hr<<(nrl=uV#18`wmn ziCe`^1CA|$cn3bwHxE~h1pV%*T-0j_h?rvvXGm9tZWO7BC;ly6#k5ZZ;G#4jz}Q-O z2pyKUIy}ewmJ34ky_~FOir`hm{wo~lUp?lA_|M?%50jzO1X~&FJ~q))k7>`V6#%k+ zRj!CmhWg>&3Qj5BixD%PA-Rpm8TJY`Xgv6t7J@G|HT-f6;jEUu8KK|*jpZYeAMMf` z5t{M1LJ-Wf5=ImF&2U`plUkRU3+>M9S`fM1@#~(T1jHmsi3)b=+iiSp*3L=)O$gmaBSo8erzS8TqU?XZ7zEz z*Dwk-_L@$dL^HhFXm(@CMw?2Bdh)BARPV2cr@W+r|EtIJ`-cQ|q@RsqkPcyHOd6q_ zdd&VMag7~;`zENZd{k_SR=DB*8QqUeuLJIT3`Hf*q*9<(?*e7>-OL^*Suh-P1x@WjHi3q9*~Gtv>l4! z3e6gvmq*UXnNIpp*rYzB%3BWdN*^t!Q))J-Ar;rk{W=U&IeoQM)b=^_Y@U3BCVIY70LmK8<;`}fz?=(K;q=&& zEY%YW2K9|6hHoFJoO(=X5x1{*(L_-Fq=F*??g~)vU2}c@ zfm4VQGbDhvC(4xaN`q$ymC>(!(_!;zu`(HVBH;b1*2a%cHZjv7)yVhT1KP4@oP3SV z#x*aKg6L}GTsZ2-O*ONoW@rl<+A#*=`;qS#JNOfx-4K?qRg2wk&*Ga2zY@UFkxzV` zwj24Lk=roRqScLw_Z@vhv<+Qs&Aisi#jlZ!N)4RJ#kB!Xv|Bv<%w_0WUqV8-{7A;O z$JUl@upGJ?XFUh}n`>ea(HQc)Pq!gG48f&u|K1-|(JG6n$u;Gc4&Ytd7L15I0;-t{ zUNE#hk{09;!9pHq)+=Vq{^kRTRf9_MND8cyW`xDpFTG=+7o9csKL$n#y^N&dtxYs; z#KK-WKtccNF<;at0*f(0fP*YQ%Hr~C^r^=fCS@TG2LA|!$N{LS&*R0aX!t!emHGoM zZx++npHm9rhPr^2E=^KEO!NBliB|<7hkKOYbxLl6FT$lqXT}|Vw+nNAV!Wh7JH28} z_pY4c^+H(T&>~S<&LB6^;A)uhNbq-tmnxQ|S_&NPrN@AotRuLCJR%&{xLzuKeOC^W z$7maWwLhnQ&ZS>4b5Yq`-A`9dP)~%b_f2T@=jc^y#P>y{a5ihKM2M-d*OOfmP>>SA zq1hmJ*GbBtuQN?RY558GrRbKzEclo+#n*=I@=Y2|{?HA+#bhFTv(hLX^5YA?;E#g( zXRchgjQw=gt}r~Cwm{lB8oECd2wWTX|5uM$GYXZ|{}~%@^OVNhMYode)MJhw!6G*f zrF5r8;Z7#!3lIVnvY*T3I<|C{DVV5p9#&2pkDoQUrox`siKuS%2np>4V1r);$?V@H zYN=C`Y+TKWL44y%A>e%=|9zt^otM|MRiC(KB5S(j893Ri<=b@HoJt4}LUlsGR$xL3 zB%fV1T()t=UVJms0JqYpM#J_A(f&x$;|B4OR$jQ3xyS&wqi%mUXyl@`-z@_L_0<(k zfZytv)#oNE^)W-I;w64l%!^mQ5cw^7^do%vuFV1Vy5(Pdb=f&A>`x-;O_SBQ9EVGk zt!8&~!zQnNrT(kOAP=z;!5SiNzPGBpv@iC_pL&c6yCWPD!%V>v-y3;h)>&{!t7yKP zqIxSL=gGD&#r}`I`;2D8|Kq@6Yoh`mX~-XT^N(f(zkA*Iou2bO=lbVnZs(lbczm9(cccdFao~Y$JUHo< zsg=X+9(Qm~xn1OIP1i-38Qtnz5^L74FSfSDrTm$;6JaH~`TEWN0g`0idp<|TLBRde zeg0&jPSHmPhpJF~g~=V%k->WRtaS6E3Z3HmX44C@yh?e7+_bMa@A3+$i8BTn%tCRz zK7Nt669ZO$pfI^(QnK+*8RFU=2(t&Za7QUC3G=6Wysl4r6cJ$0tLi_t9T@&skFm|N z2fQ|$(Cj%Rh?)xGtj;_pUuRjsKgC#3$m^~m&>73}v9Sdpp=2mJRDe>s4H}_28C8eT z9|$SD=_UsD37zB8DtW{9bjHSVb?qfX=G8C6`>Jp?8oVttJ!>j}_3cO5;sPF;eBOSj zT;OY+Z`?lvAJ-OyWfojA%VzsSJ=inP7~%7jr&ojxE}Zqj{AS@+xFpv!BmIh>OYhDM zs%Y4g^-s$YxawRjS0l_@qh-De@xOWu`XEaV;$7$dD#2WH;zg6}na2>qqiHW(CBu$H zrlg9qXB|ZvR9)RTwGEzsE1=hYq%9h$`b~&0a4pJCkqV<6JqB??w^AyqEW&2+}CiuRa*`uoScD9AdssaTW!e<_H_dyf0m%v?8r<*>htP*T9 zXaUX>eA6QcP{qYgj!LN*6~Va=Q_bMv}=CthbB)7v!9 zmT>1LjnoeZ!|a<~0$%=r@YdUsfJTjFmV%Nou5e13Ro>T85S+PLT|e!U#=F7Ku8nEE zZuskUehgcU-2bb`d>%MwEjyylz25`l{7L=J{mf%_Xcc^>qwS5|+Y`B$r59jv2DL2w zL+1SMK{gJ5?@|c8C6O5vE2}9Q&$R9MB^5}9&(lO!D~`Y~?^9f}1DyGu6l4Ng@+TQ(tTvFJ zUaYA%@)6AiefLmw=Mtf?mLJmG6bI~gq>pm(UU>|qokO-?<-O^AOuDVIZmGat7K!LN z!4pQJrB|k&8yDN(Qt-_?Es?b&MGB)6{#ZPcycWuX7J@-92{QkfjL<5gZ;{^6isgRD zIB(;zc@CXDy@|NRHgP(*$?M@^4g^=>fEIFh!yI?pQcW zSQheYdu;?oOB@wuf?`fuSPQ+?^vs8wr-b#qKT(0;nag;|&ey;Al9(c*kxr~eL)J^D z%-%bQk|)g%KT*+?*>@1=cq6glF)F~_(T&u{%*X@(Oe)8`OAxRSEH|(2xhEpvtjfwz zdPVx_BET8{G%qkhQr3u{qeg~hFD?3fNQAkJ$B0)oV}*g`>vxW(410Eo;{o#Lo*qXC zJDS=TTLvghmH#~(8kb_Jsu-`rNrQI7saJ-Zh;i}4YJ>D)M``8>?D|MkbcLbgjY_Ac zL;xj}yr>jEwuXk>vgh+_x}?_csiUjtaF09dI#U2vlh0whRL@M7H=lQfIohBss9Z9A zswH5&u1muGiKJm#%`8pq9buABI7P~EUDe=U_c4>dg*n#$zA63GcTtk^txWFBV|w_> z#DN1>qul8V3sZ^;b-dxFu#feB=i49iGj!6g!}Hj-4NU@-Y<9W(wun*7s^Z z4X%DA34O;uMS|pu8;t~CbN3zMwOz(K=?AUBeB9kmRSPD+%FAVmTFb5;z?%@qM%|+~ zY=u|ev*hLdVdWhcCVphX2BkcAx2NKx(t2;#Zzgn((el#X1D>wcHaY}+OQWbQ9)6+f zs_e5&#h8){3DF`mRkW{~v;1}B45&tbt%L^(=+J!~S`mbKU2~jhS72SY_$i#RljEH` z27?)_)x=bEtGiNi5@gi~-czNdOtIm5@(vg39szu`G6CC|R zqd7(-9C7VNn@-*y>|(b^+-Y*B#AR-ve3&N0Bl$l)n?pP+=7DQHC=UzfkqwW;mh}!`F3>vmHkLl{g=i~*%bG=H{EjUyAb+& z7tJBfm^VrhQI!D~Z6aAdHAbQQdcPCnXX})%T@e#_2e0-#+Tm4z#W4vaNs@Hfj-FH0 z5<(?S1hXJ;Q&oN;VjVAAeBp+~FXY_XSY6c6;D2A;2I zba3)<2{WdV3w1W}68qLH>ae*y=3o7AR1FOu6Z;LIH^Bc^wB--`W%l-4fcbsIc}#uA zCF%2^bv3a)Q$gxpHM7{IVyei&IXmF5V!cO!P{=e#U7*E|2!3|jRz?)tXkR5q#;5LF zF{hyGgF(qqwql?pkQYnKPB&}Du@ahwOpI-Cw@(nUhZm^0`|rCr`F!b6@2{PS&VgPb zzW@GIT{+X7DPg5WBe^}5zV=Omr^^*qLHCASkvjr?c+tHVWVmpFN11~>YUH^SC+@G| zHY;@EbPeJZhFlH=yZ*2P7-35?7WZyA4ww4*Y?ciR-YJxms|Hs@__E({Ua69e&Y#wx zwrR=%J~XaGRCi{`B2|iPuPZ_k(JznbetdeQ`;MtPcPAM@tNPX{$6p6@5%S`v^=<}`bu2eD#^cv_|;U}uK#wH{|zVS2&u6=;gm{mLZP}8 zd>$q*ax(STT$KBw?0C!#H030;TG(EJKFVc6%6c25LXJJ6sH@%K)5G#UBzhM+JC)90 z2-PrC!Btn7Q~4#Gf8EE#BV_59FLX)&IKImQ{Pa}d%wsNPQd`<_$Ql$g>ik_F@b>XL z&EewVx%j^|6R4Lj>bWbebB9t*O7X;D3Pl6X%zS_m!)3^sMpr1zs21+j2tC- zaG$ncvBC3B=q;*=uX`w-oZBI>*9|mL&jRSGn{@ej^V0zajIOpqd7ot4tnBDk?TrJ7 zKwbLNl?VpbWi{>FkKXAgBXaZxD*-~icR8KN6PM}dndmVV^AYA!Q*q{y-6~BlwGOr~ ze%(x`l`F`~i#?&^d}Dn2M(+cj!C zG!{(bNMq*Af<_=YcLPAUmnI9vE}rL((9T8#bB%3d3{u$nztdr*#G-iSkq{}A{V`_o7f-r|dYV3#&99~FGI-iM z?Sq+| z+AKKTU#&jp{KHeo3iC?jG>ScC-V-B2%e(dH$ppnPi{CUsId?~bQ{Nww7OzYB@5Beo zzF08gPSrMYrm&F(bOJxp#3(lIcl9EyA{0ZB&xLND%@+TIgt|*Ty5D z{u}b@vk>Z{tdv{Luk)|yGeA3TO9w-xl9xmZXH`g(V$ENn$Q=DLNk;ephcAZD4=@W#4 zLOk&y)jijrwpcGl6`ZoJ4vlw8{I)W$dZ626r81iyS;UsngxdYnZV)m&_NIgsk`gSW zNUQX)zlGM^;YHL9QcDOr|0F2FuQ1^BU6ZO#sTcP5A&By?`xx2^JrG}NE_x68QGXhI zDtzWKpTyWnu@dFfa&=;)9_3iX{a4&vZKXKN*GUoX(HF}N??n8<;1>!o0sFyDF@Evf zFRFQrT4mFLH#5?#FR(6=PTG%kjHJy3w`(jJPtDjR(=-|EZh{DmaXYVNtBjn*R3ifY zSLn2fN+XQA9W{$AlNWjX6KhrY{2dMXAI`}un?|N0Mn}`2u)51$k2N@)s8kxj9hT2y zG!a5rV%S&4@KI&PocT$ikU0Yjy~ss}lHqX?qn;KHrs6!#N3TKbuf}#DTN@WpcT;Y8 zH2)fQqq8n?M7(r0yz4ad${B&d9>k+fwVYMt2 zx5o_b-z4R`{Rr;Q;ls?v%m%6jey~~)d&J@^nMfv&a%<@|{{3%yYryupbX=`6VuJ(v zM^WIL=&05t5Mn>I=J77(9wyc+WSig*2Z_Mt(pcHxIv8px_?%D0|CZ)tf8&nTqw3WRK0hiVS{0-Wy}r+}o1mUx7U{w*r#O5knLE#^NW#bmu4|#Q?y(gXEOz{VD$LSvwny;@RUv7i3sbUdwj@0X_9*vxQ zM&`%#qoryLq2i5dRV;gK432tIw6S+#9Pm z_TzdhAG0Gt#ky0(MxkF*5FQ;hecG8MFn+M8_^ zY;wJP3CIMb1Azr107Bn=?8C}Fgvbcz;Ha?6QhE)KMX$A_kn7{)MJ@(?H?ixbW87w= z4vNsIlDHceV-&AXE!gwapEYEK%a2LsoQ2O_13#Q7tGr98ur?nrHmd)_E$}edC>U3|uCySA=8BVS z@xLp=CdZ27aWaZ$QTx|@4547t`YEc*U1<&zRQ{^f?95|24;LhATv7q|)jgSJPNrRV zwNgp@mB-OReFm7Z0xQYgiN^wgDN)9j1r0XaTQz>xdL;i#L7dieu@mt9KW<8%mKt_$ zgdYJ11-guMNIJo+mrc;VIh3{r@iCu@N*3nf7DyL6xI)wrp_R}RwA5BJ02;KG{SsQd zrzeCU#+XqKTdA}x>4P^-MRoJp1(i@I2eh_=6-?)=6tOPj&+T+C-GMqD@0wlEsOLzc z7FNPfX)*ToC0mf#OrnG~a5fnBhNf$uj#VE3(0)-020(L ztIL%r2>KnWdH=Kgx;l$N zM8#{eQd6#%?WUG`l>DI}8O>n3xD+oP&zjFa)+a8KwfiJ6v=kmBv=FR@p(@_L;DiI76Zf8EDaDz51a zHt~92I;f|AdBybq+>ePxa8VTDOED$_EW)lCgQ4dY7`cr0`dMbdU*)gmn-XwRQ5KRa zHaykwfXE>CCbJ2pK6+YuCRzdRzh#kpy%(>60Q0>kpAadDIS%d%vD6_+NT9_tR;>pg zJuTEb!w6G+avY_q1h4o{MnJsZJ;VBj4<_Eti+V7avET#x=jeak$2bDRqxgMUnVYj% zY!y@PVa`0pgipu-^_@H5N4hAqas4U^ZI=Uyw-F;i`sUI7=v}&iehaf|c!q?C&7j?t z`Y#+O3O?#X3+9F}A;Hk`u{r+%88H=z)RKa$PPBn&haLle*dISzv=W3S-d*s-B8%%^ z_c00QIT*&>UzoDq>cNlBm3W+a3?DyI^i)&NFC!sd^FHq_1>MsvWO&YsOHCR!CKn4ec;aRx02|LZ>H{797LmdyMukMTH75T-Hj^ziMtCm~1w zB;?Fv{{Py?IJ(pEsZINH-}BXDl>F$0IP(~VumS!b*=ZuS*Ei`WbR}G#5Zpk)e=>PB zA*#XgtfLsm_UeEqa<>i22AOa(6@5xVRHAa_V0x^NM~2|}CTcE+)-BWF;Yrg)M!two z6omhUj;crwgq^E{l8TR9&xCI1)JJ%}+=SRBCPqrKBOC0x`iUjc-tW<%I7!l(`&6s)dT&sMXuKq7ua+>b`cDSU+PTbS}@AQ}>94y8I1$ z_y`{!Dcy&q@$M|rs1*rwL?I89*=So~{9iQR!<$>Dd7uIyW_LoS51Sb)R}QC@rQqfw z`0bT<+!KRhoTVyqE`xbM2X3292Q3^ zhC;(vz5eTaWmNz+Tse8ffuY)&eo*Ted*(4j!b`c54NcV-)?xE|w z!t6-TLq0@+9*^72mziQHr8H)B{ak+U9bH;1{);z(g`OqUOwHD=*3P4F^qaA94<`~y zC(e4KTbv12n#CevdI7i}Hvnw&wu=Z!FAA?xHK2OP`b~35ARb$C>KU%!UVyZPnwXM2 z?c8=JqzTNs7df(IwP=14K>9~(_D6T~Nx;c9Jc_cda1 z-@{#aOt4Wq!=hrj8RFeo<}e4>uc}PBX>idXuW%*v%>WnU2K=)_L#p@5TLKARTlpaz zPonBj$>F)v_CTp5mLL%KiJ1c6q4!j6g@)zNUFjmZ_mcg<%9y=8CJbUjlz{1V<}wSg zp}{A0$`BgHiMcZ7{8`K69&?`GIH$I+A{TI~Ov0pDj=W@;`o+>58CISw56EwmXx~df zb^9x~L?scTp@@YAE%|g=XY;IZ_Tgg7T7l{9_*8hhq3pDu)x zb<-S#X_(EGX$QrCpHCXObmRj0ehbA#rV1RmfB6Gp*x`t_Te?UeSrW?2%j-BKoA2_B z*(v!M6)$vJMpT=GL0+kMy7k*n&vK4Wn*#!XPTS8pK4!{i3PlYFm=AZ6gC)0RT(9dp zZ8ECcs-Uq%r-u>}>D8XPz6YilRa!cJ)cx0DN{PSua02X__LAOy65Cx6ci|mhc|KpK zg>&t|4$zv}ZnYF6wlSSvsoId7^U;Ji;Rb!M@+?xWVKWf3)^Jgy-&iz!=n{+7Nqf03 zPs>MMnP@>S#H@=x!^Uc4cbO@mtG3e>CFQRapuJ}#>z~eN6#ALA&XH75k+3}= zM;~s%#efX>61?g%-OMa@>SY*S5ATuS0p9mn5q(o;~ojKyhov5bF&@!x?5yS?c1>c4_#73%ypT3}C8BVn| zy!lhS4=E{9M-@(&(OJa)U*9W3E`DIwtge+RTWvHGj0)vB^O(}LXj0_PAlEsYMYDvI z2Ik@e3+rZ~-}HTb1QL{X9Nu5FF1=v@u%>MXO7*!XXfQzi4N@CEaqpyDb*HbykcDmy z@~BlgTNz11qs5G>_3z1E5-MI_cbwFib?Ur+N8{A*8Cq*D5W=kc%=bJIE>!pEJ{_?l zl5qRcc{}tAJp4w!yn#4bUGzCLNAd5|BH_)CKVg?6xMJR$R@vee@*F$FnULt%5?Ark zY+vi&m$^(Ytk7C)w_!=CL}6|q2RlpAIK2YRL$$^mP$yZtivU;bTL8z9BRXK&!O`J! z0dL2JAmpN>g2jZqJU$F7Z^_Fv=GeH)~5ibVvi!XD_py{QqC8KWS|5?*U^^BxD&(CaqHF?WN; z_ilT|PCZV1W!-!Kn$=`#R$e?;_bi?8g$M^9uaOl7KX-fYs!$n$Y{-Zy6;mlhbXCY| z&RxHQ|zZdP7Tb(>J9 zp$}XRVb4aQLWVSr#+l~mMZM~YWaB!}s~^5-;J6~8nD$gBQ)q=Yy;3(4Ixr~>iJA&D z0oW=3*Z0a?dRc|-bvs?|ApnBk9Pg6PJSOyIBJy?KV_ruU4_@L2)<`SBG+|ot7(VdD z9!$GtD#cI$n zJM8aMQw1h-f0Y~OpY!RF$c$KEVtdyR_#*J3{(Zy;4BTZdAZf?Tg&nO#79##V{=2`* zpa)HhmWgh3rJ9YF_2~^4SmT+*(!QkVPSUHZ(|sHFW7nOM4_vzzz*~!=jzZ9it)o|* z*E@%0zT=zqzEO=R=9M@E>zU*IqqfzccWLhF;xPJhKW-L^Om`EE@6%rbXTYBEYVYS7 z{@3@)?7pIPR94wp!W#TgT!qveXC7mbg{AsDFrg>a`;cpn>NK*4!_cmw)}E$%|Cl;h zD348I!olI_mbXsg95rNDDAD_q+8kpjyQoA!S*}Dp)LLj2uW7WI{Q;aqd|(8VSXA53 zJ~c{P!3R7vx*q9l7%%O1--9W$Vq8MQcAx3yMQ7$$x0OIY1wUAJ9Tcc4t!{eM@Qqu( zk+x81XJt}pxrGB^Q{@Q1&BD3nIJTk=M-;@!#0rbk#R9we%=n;a=f^bQzGZfYoneUmJxDH<1c_Qj zgC~WoC3C0pm|=+W(uy%6C;Y#@R~Dij1XK>7M@NwvRlkKX`JH*p@arl|LhZCp%JxkU zBK3eo=FT~XI9F#WF%1Egw<%7_{gj{x+>=2ow4In;!DVq^l>RlY4Btm^pz&oaJCWa^ zIu*{-+&dyBVSY)jTv*SsNxP0k%KJY1JDyFy(+;xf?^c@NvZgNTmq*{gjBI2=bxyhK zd*K5lWa&3^2+o`kxdcXaCXmUGXwtZM4D~D=4|gI0n?>bYo-Vr2KJ-z2db>(QC`whe zd&S-|%~YPch!u{nxV_Hkx@3io1+I~Qh%E|!MJR{Y(qO`81Evt~^8>`sb+IUhi~EPg zZ3)`^*Z0aUl5JdBX%w;Ca5x)0!tJ*nEj88>y4^U8}#LFyu-R zm;4y1%8GyP4zqW*sl}7xX?`ifSL?ElL!>LV4dA{rCAkJeEw$MjLza({(-@S9+Qzpz9$QT`UNhvsB(HE~w@NfkPER<)FnDua$A>_5L(X3mvGVp(VLHo>pP$aX#!KJ%Eov=|tN$A&>&*HnjFI-<>CEsw~XDBGYzvXkc?O_ZVh(uQHfwv0Ms zSF#)DP^7Lk#8c36z&1ee88F1-M=?R)#aM$^We}{aR?P8V-z!6mT$S^9HxN)u&FQy8 zF4j2n808CQZerK!@wE!G{FAF!M1-3@IA2m3L217E%`9hli;6UztK|JzK>59v3E`## znjI?;;?*a=7ZF?a!+uHkBK)1x-*;~P{+fMTc`7A$3BpIQ6fNq#=XylG6a~64C}Y7B z6f(V?!9iCS8<@QT;=Rdwr0JYyhsV+n*a6dcvH$hGvOhZsQg`-w1Acr)NWHYz3p?|e zduyJdC5P@3G(QTpKCGG32rw_fyqqS;tJf<kHsv~-h8Tv&xzG7NTw~3yV_a%&WV`!t}e|@jaYDgU$ zxTj?x;Q9-D>o5~^*2lyUCZkjmxE<&iKPjD8@XCNFgatUW%Sq;fE#Fq4{%(DTN-~8v$Y*>`RD~jsk#`mh7cH(LadCYiBBs=wUzAalW`vEr?|ND)=DnzP)w+jD56Vrm^Az4Rf8y zoDqMqw8Hl`q7L@6t;AdG2&)CpDg0+@d7$WpNMq&b&jz9o+r>6M{=#`Q0KF1a0g(l_ zElBe-19BHc6urbIYV_n<`K_WBM0v+PF*E+zOqFWH@4Mb_71FQOYXlD_D!Baurvlfh zSs*vz=Y-x{Y$y$3E~~2kX~Tat-vBxkcB4SkGc2lAw$9oHXnc?MvO)` zNG=VHV^E`U3Irw@klzOK)ApC9E9+i|D?O1Nu;qgSB_#5aeJjhoq)%qs^*-TTaH*rQ zu8v#f^iT8i-8q8{s9uQF7?uRvA`vQJsTN2Qb-Ah{;%Dj;cM3vIJ$-l4BCov>^@a}5 zm=$(Hk}bIh5;+PAMN(ndE0e3Om`lH?HPrB;GQ`>-HPz~PgJA=^G6OC7SNeT17~@Wn zI)EWx6HN=~L6(E0Ds7u$_6DDmMh_O2*g-F3L2J%~%MrmC6c|L(L4-^J)AW9BM{RH; zhew(l7`QU|!o3LZ&PndJhGL5<@)%>HnvC$pXGn$yM?RS7O`K?zqo^=>1uh{YR_}5P zE^8Uo%WrE^Cae6K(Iz~QvqXGQ?WLXI#*RJWunLKxI4TGNrL}z63e>#T->8<^29vi{ zrp!klxG`a-r11qlg1}1tq?j~G0E_vTJcix0hhFcieRMuKi_xQ}429C~ywa4IriS)L zRT>+|G5Wv52Ldf#gu`8P6`XT1WcBWtX29ltpM1)NpE%W&4al7?D-)yvo%NW&O|6(q z3}mGzMlvOz4gzm=;asP_-=trLA9+nZp~AZ#euXAiw3#9g`~+(&78$*vye4sPH+|3@ zT++BlMUwG$1rW}vY!#17aRG7T^Y~#~RUd{^U-1X{w>~1*eO*i?AJBQ-GuJ|*n$Ubn zW1=)#-+$y((a1~Qq)q7uax(!y43BobDfxrvh1PI z6^=8HIX4H#;_KR?#;+i;<+VW+VVg9cq8vHp5OM&v+(Z-3pX^BJ{up4qH|x%M)O|U` zq}fuRG3qrlzAM7%In9s*<8zZJTaFjJBGQ|vj??Qhr=RUCx*O|N6D6Jm5GbPpaTsxX z<|1=ir{hrvehyK#MRPwNg2x!;W7o8_YhOc5w9%-XOiPMSFFsoG!uv^M5$*&%mG%oU zat*qWpyCJ0?+!m%Uy8Kjo|0%mr)$S4x3Nv=OSqXw%cQfqW3FQqHy#58#bgw{X2n+d zUa|EvSL_&r+D7g;3dr1w3g+;pen}z89rpY&QvEx_8C=6lpuEouf3))!@_MdVX~^U- zqM3Fp1V!s{GfJ@ zLv(E-XZq?4^_7DV`!p#8UCEVuzTE9lu?sT3*t>LD!I~otA(H8etc#7wIG9{WF!9KN z)f=D!n7|jRFSAf_J2iW_dj)nV;(mYdeY-Wzth_jlWb8dcWV00$eICr~dR_VzS*nA@ z9++ffkG@DFB;kz81HAHjDn92a-7#x8vap_y)exAQMYhG3V3n?z7bO||b>U_}-Vwy{ zE{!{qe~b-M*H=P!wFzP3TU|~o#qKBkMeMpP6-Qy1Pm}_v^|X<1WIWaUoT{(|7ie5X zH)%of*}yT3I2vtlZQKVW-2N7J!Hhj-n}*Jx?`<2G7Qu%$`<-aG3OdH%%wt}CZlc@u8cTNQ875 zXloIm8lqZMU;w2Rps$p-1TI3@!&A&%>G?2kxTEk^lH>*-O<~Udnea zg}t2TBCwOKLg%SZE7NLZg_)w*YuCUC=NLoRkCYGh`5eCnV?^Kl(&oUOx5v6inA%0E zw1u8|jG?HrSXuitlaad`B;ak4aNE-=k)&b>CWWUKdvz+AI^*@lzcVJAzAv4&jqg+V z-Ot^;4!XgHqpTBsH6rdXI=9)rK^@P#8D#nX_J74=r>;qejheMGF&5jO3w2}s#4{Fj zN3wIZnVJ+L85Ms)4FjW%mGrurX_CN@9qkMRvP6}?6i7!}xR*}Qf(Dnt?mVLDoJXra zU6kThLiheKE9KB|$Vzln6Pa82<%jZ>wFw-_Qh{$eL3-qQ(#ZU((ed>X+5tkT)UUhD z%5N+(q2m=pqMK>MZZC><=$`Ba>2b+RdDMQ`34^}CN+PCeJZO7v-+ za}q5fMh%%K5`~ZfChkj6mvzzi3YfQn;lFZMTvlaS%?gA%ZEkwjE4n#^IA_Z~mBCJ4 z7RLdl;Y@psQc@A^!1B_?$S1#DIBFtq_yz7>#_>0%`b?cp;MC)UWknNV+}UyyOxB0R z@}OYb=+f2;5?@y``B?5q((SQ40&g^Y;e2b<>yn!VmOk^C!{P^OxGhcj>%5yxxT-j> zlyet_24yQ9zyB#gJkQZa51FhekDYorSEv!ZCJABzQ)E>m#k`mJWVIw0mSH9E;ZBOr z$|_t*y&Y$D7ye88VZ#r+M-U<4vnF?eDh{vOMHONS9(wP{c}#RuJUEx znr3U$$Xh7+o^>UaTLWNFJEtw;MkFI2d?A))f(8vi?<#ZUdeo|$PL>!lM#*4pz0rID z>gz^gi;4_Xw{IKikNiT!-Wi}<*WE<8zAl0@uH9uUx;kJJ70|@V5t3s9;Pmz`?)22~ zf0HjhKG1DaCUnoQ8CM^J_gIZdc>F=JX{75&|bMA$jwDxCeb;s-2 z(^x0wd+jKE>4}^E*!UK6?`f2&DPOTZduS}v53G;Il^;3cBeaEqH;S~QpH;+Ym&uyL zyn}|A{a?fCqW7w8Xg_YoDE{zdHwYKE{N_&2oYYV670i}y zONi?OCT4PW!awXmFG%ULGuqqZvtJNJ$U|dv()jcyou*zbvW5*v@2Hy_r?w zy`=S1s^E}Yx$&zZWB2H5_BS8Rw2IWe$x`>o7?C#nXwN(b@LVFQ|A{ApnfiPr+tp2>{no*f8*(?WNYm$`^m+AqS2chzB@n1h(a}!id_W<5`gq{V3G?5uRJ(_v7n0v^6mOXrKy5+?YF8A|5$9jzh`G#S}kp^%P zOWc)Yl-*C|``f@-F{1z8s+G8?V=-|93YNd%|L7J!X~k+Cs@2LSbmP9JBxGk)VRnYv zH`y{jl3{%b@%{~7>M*dx_@)&tZy-yvb5*1$5&4)|GGggRv`U3K!guAD7v^Daurz|+ zod8iLWvlMO8bvAz@EBETY0nGL7NQU3vO)`7cYBGio%xaSR`jm8_S$9M)xj-#sF0vC zoy#?)FhM$xPoarnkDo0|@30mE;9HN0(%>r5NWNcQeS@x%J*N#6eV-9foI*x;Hk+36 zz7{?NIK3rvg(9v6dzUO39S`M;VM&Sc8A-wf##XCK7c?{V=j-7%CuD?^%kmXZqaJFX zc?@063YU-Ih!%RICTNoIo{Vk!X0>VO3I9%+a+<3?aOyiu(m|7Nvv6H#$F=USuqB#5 zG-}N6!b)A};LhT#5I|(OM>_U&(v{~bn(mmlgScDV9h9|$tGB5<9TlWAmA#ewUr-_h$Y}&v<`8mP4dSop8lFGJA>eO zc7%lXZ|PA%O+v`n6Pe@dm7d@CZb%=|PO1v-8uRZvZ8H zJJ4!X6VWr;vD9Q4es4w*sOQ?yl3BICE5S_S4Tzmr&XT>r-ktpPm-qJdM=ZBKbJ0pB zpXladjJ%2FzHV{nC!FsNC^2o)M_NN}dV5PBvQey!Pux*?)ZC(jYfM1+Pr?4I%ciGH zj|rTuuDmYWj65x%(D)B}rm56>co^r}Fyp zx^e~^S`O-me%Z0-=I8$mv#8@zbFv;o;VZ;M&#f0Qze=`O*{&IcAtF$JFEHka&sbg8 znlWjU=BgMFKRBTEzME-;06dz368hs@TN8KSYbhbj_b&U9%Qfs{E;J0-`n^w6Ol#fb z*W5T%lNV?g*jgKpVh8+k08Y-r>)f6w$1u@qEBxSKwMlDrkL}1dR6Pg{YfR07yIb1W z$$DNYCSgz8*h`hR)wDkj{a_sW&6ft0st={kaJEv+v>d(BdP-iCivg>Lcr*kRB&hmcgvPCG*`Q zbE?uG_s7Pw+!Pa{o9v~9%)Ov4a?F-M!yRJ z<8FWm&bAhwfa`l9H$}c?i?4GG+ zj=v`V_rc&dP7khc0VMSbEeESP?^9D**63HW);tz3^z-U;NSrpp{JuO0mtW^MEP~EY z89obHLXMcunX}TLXgak4e8WRO`Sg90qqRI4V*ZUtCHtF6v(J@6=~ZZ>iO#W+&d)1B za*yV7{5%DUvA1j>ifbl&vUwM5F=rlgXOA91YnHC>e|3Y}>m!A=3w)i$qynooEsWL= zKunm#SLIW->zV?FqOHxm&N(jSHKd;B$P>-dY53RKsDqs8#%Ya=HE6{bAE3eE ziY1<@szWe;_I?rZW?^96Wj!vu>U)A3?}l3Pr&(o_FS_V4b3UGzYeahy6KkHMDy7Jl zCLh7)aTv$S%07_b1r`1?j}a}n#Z!K26DXjok7Nzau-Sd?9m*bSrB^=l(%`tX6wOR) zM5cS_Y4TD(N5ix=`ks|Xf@M*u3 zS4ei~3~)90jI)j^4>v9Wpz|A7sjkw#@eU~8#wX_d4DumPS_A5*3^}@7G54&;bu;F6 zgIMB+Rlolz@)Qz90r_UIa>{!gT6UOS-zJWIUQ*>p6H@Mdjh7nE+$NzS=BsavwP!R- zL3ZoAnxX!g2&^7~4~3K>E9z%z)lAf56rSsh z_FAypcfH|6(D0eZc4eUbB(S{t04Li7w2Bk{_=Y+9<&44`cLm5C@>t5U?S>S$8^Ls4 zrG1%6R;$ynQ~h^U&%uoPL9M&I2%#?=3kQI+?z@ZZui z(cH394Xxbq30V7PrFlIM#dp-9>CCnOaLK*a1nQDH(FaA)*$8JG>pc|SwGd95bc=Tm zrtJ6inibgjQFnmwKDi*4NX5AjHY$ELXsDnP&odfnzP_MChxt45;i`uwMk!`LlwOt9 z3c1?h=%ZD`sqiX6|HoqtxBnQ3b7Lf*&xzWQp1spW9?-Z0%D+pz`{NtH*aZ;IqO7SR zC|P1@G^#pnh1W@YF2}SS{&cM6NewQYDSUJyDt&IOrXGQD_m6ac4t!-kSLBX5}zpV3&3 zKfmv2N5@d`+o24;po&P5tBF5QqL&QAKTp)cjK-9LZFBuS&-xhLNQ?NvOLt8mp;*H| zSs5IR80A$KBOx=34ow~`$VO1%(Yl%{eil-L#$s-xg@Ph9yKc3ui5B16+1NVrd7`t} zDYVy^{pFW$g5_f$Bnr%Z(xNnXS1_5F9x8suwz1uD@#Dhi3wT5uojBLyS53Y%>5KmW zOW}U$hq3&rQIsoY7sIX6Ng0>$5mDfSSl_cghKB1SDE+&iYw0blZoKI(;HjvWgTx0~ zArEFlIh=5-O>-z#!_1JPpQ)a$JQYyRDk35X0sZLUyf5AXZ@0xMluznoC2R*7mw9b` zMcw<178nD}21ogw9S5V?+u84ds&30E-*oGb@|4dH^}ks2w{QM`KW#14`p^IbOlH`| z_00*pe5i^aUh;yIh$y!MVl|PD`aCVCOVq1C!poob3Rs|ptngwL%HHS&)f4rTP=j|l zx;Z0I8G+sxq!lBI%&Ov?+1Xy%@bw`s6ih&Ox2`W*=eZic)MA5imi`yFi@d6&H0d;r zGk3uyvuLQ`-K-Txx+Uus_YBUyf4b~w>&;KAQ|34i22@Xaacvp1y-UcV?gg0{Zxu~& z6a2I}!W4!0dUB54@75Hswot1&J21?#!``pBWthGQIx5p~OTQXqmKoFN=qqi4=DN42 zk6xdlrYdWt%PktP+^%+kPT#V&XfI6)4-LDDTCS&+n~O=7Y|4HH@+tljk~a=jJotLx zkb%4>J{%2Ve>f2CvoqnU`^_WIrB>@3^y2kETysve?s;bF;F2<5`0YjpLiiY)lXNi+ zY5ucM(B*t{DKQEGwe9r4XY|@DYs9b!YGbfn;r%97D8I=kI&m{bwMHh>{CXQRUpWRx z7!72I@~$G;&%27FUnp@9%MdJqh3s}7f0XdvdN6cbHq4!( zmpR`Ge&}-6+H{NqFBrC%{rwXTY9yH%AP!SC&6J+G?b!*q+z;9VW=v!#ss#<>bFOvZ zYf_Z8Q+|877`y%S_bFh+NcYpQ94s*529@l{^MDw`vE)wrjh+LZ&D@(_BXa#lk6c={ z7;~iAnMJ_9N}^v3nr-cz$ma~;!Rf+Uv6Kh_!H6UaO=7GWjFVj_w39|FLs4ICmP#9A z8eypb@OI~qzwa9MuRUf)nJN%t7%uxZaMAUHSrXNm$GGd2x;&_xc4r|W?W8$eLdy4S zO@9r1q>1*wC-GzXljfh_Qp^X+rXkqF2;JQW@r#Q zW0;++s*Ki57>MEtaJ!pul^nmvscF#>K)?B*Qf9SxQqs`OF{TjnJ!Wdjiw-7SC{oG! z+YyK;wa7QQZ4o8-9n7}$S&F=Fs}x}|!xp$ran}O5nRUjGt9PHKNfyTbRKz1)fn@hL zdRI?S)D4(lw-jWY%-0?#t;EPwgnWrR01fbe`!I*7&o;3#=OySGH$g%ue z8tU;#OUrjSrP@eth*8uBy)7BI!Am+X#ff$otL+Glhf^e=epf~7xVMq zWzwdG6)UYPqZ2OW@soE_q9BU5C4LEf5v1#6@b)~|!AY&X!20oKMc%oVrV(xG2ilO- zWf7c};HmEvFx)7?@^l|qqC8?u_{^Lay=E^dM7E5)fKcV8+4zOY;;17RQ2!5kclp-z z`?vw0?i@K_)EGH>)QC}|bM(fDjgB$K2n7*Dloq5*R9Y0J1eH(`0cn+z5)n{RMUW7< zeZueQ=Q!@;{yw_@iT826uh(^+XF4-~@U@ZmHta4-aQ(srkltc0{kI*61fGYE>a9Y+ z)WD!rR^DaD>8H51q~85FrJ#TN1OID}iMs3PzGt%R!k<*D@LXdzM7a&4m3+SkdYBp zHK%B{J-^}Tt@%)g6_6Cx$vC5QM5P7WyZYGgf%p3`rH#+gHJRG%SL7}sK4c6>MCD(R z56p6N^jK6uQq*=*#nOD_IWBdUnqtwA0*)^LmGk<9bI0zx96?X)Kb%$5I1>|TZYlo| z=}Y(^2)cZx`uN>2GP=3XCB?Ig-t_n=XqaC;gfW7j#MBR!b+J)_Qme7h)auu3_?nfA zw!Lc<{AudwHiz{^!cJ8}jS^DaEj!qZ>7J#EjIk#X|M0fhFHI2iK@YB*4`et+Gbh@q zrFm%!-7Y{IkGt_k@bUV|Y^f&$Zvb7 z6V)YEhf@YCrkC1?Q^PpNGo8Tz>F>$($(uzHxY-B6t&LUYHv3gBZ(}6z_Ubo~^9M0X zU0$ywH3ZS1-zX8Xa=mAeeY~?(_vc=Z|Fy>~mLtWtUkA|8Ykf9lG5g_k;W2Vv^x_+C zJyAHiC4lGHGh;5kCfU2w1?C^W$lw$$cs+wPc}V_`7OY~P(XlY>NVqRA((qnZ#gZi% z1y#4Nbi34Hg7Qf&&SzFD;u>Z7ZBQ$bI50As4IomTWI$&NX3TXkpYA zt5Lk~kF=%M;^RGJgAJwO`Q_X6g#M(CfLaot3s|tTF|qmcaIRJbk=z1^N?VGJfmJ+( z{-dQZyF^a3#xc!bLw@Q}UD72efo|!mZ<8IRg3`Hz1&XuAetS!11J zAJchbF8IBZK{xaghB7=JaSj$^eN*;MN5Qixr0O2nm8s#GeRW$0oE`O9FNR}7z*?aCL* zhcf%qI!UekUBS#0aq0Z6*|yjLMk8JvSe1P6QKZMfuEm2yp z_wb`1D1=?*jfHUy=4Ma5NXA>{t|bM{OVLW95%Nv|F-rO#0bUX`_4U1kqYgs68EBIL$b@-7MTh8R=-= z>^r?_EeOu2VUXB{tnhkRbrOi*$JO7<G9 zdP%pMRZCaCWx(a-Z#zcuD3YD%&n~q*^?eEOcLrOod-**7YmaFKwzxc>x)wroPG#;# z3WQ&HjQ61i!Xi+c88$@r9*GJU`iXt+Q)j%YC-oyuuPvi?xX(+LR z`skxE{duVaV~`Vv#FcM-g7)9D?1kQUfV$+Z1!#7jMaX7Gy2f(ts(X`2Ue7}gt-Z-j z!alFwi+#C5gX`Jqu#4iPMhhU0I8izI!1Hx|#})Hl9|{IB|3N-a9^XR?)Xt`cpPEC-UHG?a~MPytR>1p>z2{S^24)T#dNTQxt;zmfBYgE^U%Zu+uBCOz_M0Pt!!Mu z6Yv1a?{Ymw;qT@Ch>(~gOgCmTO!ww2Me5{zW<|M5^{PCI! zTKZPUQ=zt56-x67TI?DJ0ov<2lU_klVTQly@Y?)QO|n9NT*&jYyo`HK&$$2B9%KJ| z(E0b^1mR6obCgU>g#Lxc@Q6gSy3mr1dg~M{5EYc%X-|kskp|vw*Lp+|l=)RHFQ8jbD}~zi&h>I(zo2ukm)}R2uL$cC21l3C z;O}%kIp*BD!h~?yAx65@A;&cqU$hA)Ef0FF( zGY7StSRo*IBUUsxUv$G=;$k_@U7UUHsJPp_c4h;&-pX@Ke>Y>A$uyuraqOXKt}+)o z+I3wwB}WByC*qBMf_0}}jkf?Zz)IKV?-V(No4gCn_MWhP^fOp_^&839nYNmU0R9lY z5-uI!M)MRMSPyghRGiOcT5;|?3d;yEeJJBtWj~K#4LF0VEu=e7>mE~lw>FnMr8tuQ z(fI>{rEwFOEgm(S-QrM|Axs&VOE*USuRSL0b45_>JkEEg$=ag7DHD3(F?4?OzSMPC zs>CElwFZ}L&dY#8<{%$Nxhl@nft|%mTFbXfgv+*NG1!k5no6oOShL*Enh&n= z13`BkjPY&})c(aMm{(D1615*p5n>*Vwu}ru(tf^aP+0|U?d2%x@K3eoeqwY=veN@u zKjo|m?jNsCr^9Y42wBEAy$9O#0AIbNiTA~KaqID-u2H8`?IA@c&22Jks45dYa9 zaTW%DU;AHZaUL>_?{31f)=N=3F9SnW`-bb!SmV*N5LR{iKu6Xj!qr<=;1ijju1*7E zjIVz{f%v~WYLZVcc~jaUXeSz0?Ecpt6VkL|S*r7xT`a9DYFd_2>%wEw1`ecqFTGN2 z33wsp-6?9POjbOlKLH-%rFeCIs0Ui8`>fzLeZ`|-zv>CWf~-Nr@qc91rlLDD_g9}-D9Olyw@%k z`e@Yx+`A~p_1!xxa>n0wIibgHMKOh?Fj!0OM|BEAb;2}ePT{~_<&F{AD(ku(&3BNe z0snP`$lQ>Usv!a9(zV7HxLqrDbNCy)RR4yh-0MNpjPbVUDbRF?l~VzF-<;Q>=vtr% z{c1YRH134S`dI>)%yp>roM+NG|0y*;-!BT#GVD4segvr8Fj$BAUwcdu*~f7Pw#pRS z{*fx}1{rhVF^%W_ukJhmi7NIlvdX{+;QO%{3(xz? zMWU7qP$oPeym?5+`e;@oF~F7*s^_9uIEpbQK{g2O5@xa=RF`&OL~awT*SDbjzVo z<&CYF_R~nw6f7*Oo>LASy=JDDxJ|K>M8)n!TPXMBc1BPSXw#W{1EVxEG{Lv~iPLd? z+utRhAY`^ADyg_H&`s<~>(iIW$)|J5W99C6$1Zin#ol>&ZA6GoG1ZPx^_!m4>jQ6( zhx=P5$Lk_HhDSv6>AowiXRj2?>r8Xo??_L%I>$664v@7!KGO}b>>N{dRtTD#uj#+lheB>&ZX(=Y$nnjMGoH)arjQP!Ue+O+{0xoeR4wu=;ePWVU zXPJxgdm|i~R~hY+a4;#S9=Tk|0 zo2qh1f`@+fTJT41(SS!EREef;*PN1kTbZqSDMe>!c3ngt!3DDCS|F#Thu|>&6R-cZ z$6Si4aOZL}H&Gul{r9Hc$p6A)!kg@j_70z5hQWo)uz#ou&I34 z=n{g@&QcfD>?19FdA*D3){0EDX3QhBGo_BSKBiZ5A>t0~9`CV`X9ro)ZmBq`ai^6c zM?jHCaVgkjq#zFTzxEhl^A6tomWWzPxmA?#CGF^od`x9w1J&Jz%M2f1p1F&sTM|+% zSlpE}J~;~Xy$VS}D(I~%Oxct7ocU91gINw5-V>Q|e$we%f)+3qRpBNb37Y@4$CUf# zYv;{Va@wm8hyS7*kh$=fD~WYZx7wN6@PNetX|6hAd zzSSaqYRIB)`GB4IoufX6|G#_8>$D{|>=H@ju3an2cKq4@?aGjnPeSL!P&Q*5S)LYI zJ5pmA-Q1h>aQ=ryadfbgAgh&nIp?R>r44#Y5|sKLWs~d0_lVrt<|ZnG?Pg*u&Cv;$ z0rrX$y*w7r?-_SI(`H}L=yBZ{2!#}MXiKH>91A~xGC^be_?1A9hjR4D0TAE5{qL6~ z;+at7lO@XT&(^lJGD&RT*Orj{I{lz->=V!7WLM8n?19UrL!nSasf|w6;BNqIsF|KCkY7~CIzM7pnP=?(RvJfNIU!W6aC*~w#3j7oFsr3p^sz^ z6z~Cp2;WN*pi?o5@Vy8RmU7a%9{Wz6@~=~B%fA{Wm>;_c zzj>`7MZGD6lzR3}6_HzsPES~lM32Ub>U$nV;a29|Q;zRa+B02}X_xNCTVi^$aHV%kyc0ax}e7Y1`~N` zSUw&3tgBYjwHzk=+ca!4@6Oo9;SSE7zUGg4c4!{(hTXxt<)n_lD)IbsH~IRQct@aw05@iW5A_=UKw2LhitH4U5qy^UP2Oi+0WG?s z&QlO`Zs23v4E^?vk8>yz!)qJ5$J2mRF%-uBk@H3ZLY_%MX-XWvP(FC-OkCv+x4tYW zs&I?xgTgvcjODv#o6qa7L~?5zw~0|r46Qa@U5I3J3HZ1d;$(D)`Gp8J%QYvfT~;$1bWr2UWmc6#=Nr|E#rOBCb2-3l%4{R&7h{o;^Zrp7Gj=c(eH&ty*bZpYa1 z{bH1NGLu*Ay8tc7_$spsXLPuI z3^Vxt5K;FoZ_^BTZTkoE5_pR;W^33wfcm#!MxMCkwblhzU$_R4>iK0E67dsp`*V^L zb?=F@y`Cs>9&gOmu$JtX{{o|A-v3oOXw_P(Y0ul~CA}{EasopLMGV{~zJJ6@Ua2|a zn%Ye^kHS{ViL`pDZx}@}fVzg$RnK$I;$};(v?T}QJ8?1?;eQ+6sU-m+Ul(AO!yZ=z zaAGA6`OUnB^-rEF>+qLoigvf#axXgC?7w~w6Rrh-o9UWx?!R*&j{}}d`bXqJLAguN zDlkvf~us7!X!ve^>JFJe;)-XS}cT%y4H3{@ObYZr>#cS#o zQ6QF~4zwhA@G z662DK_V8%|KUVy}K4X3!m@ZE={Hp|w976{gW;3*yl{*X+!^pXng>*LvPgz2^gM}VJ zQ_Z0w2pV!>hlM%QhVWy}=-|~aBOZS*bISl3{AJR6@>Px#q$$tZk5xknS&rLx_$j*N zDnss$w+Xx-2CHsVH;}#}4h1gh-f)&=hKdJTae(#WEJV)ZzF73CFsg=)Td_YAJ5jF2 zy>x1_gvCi#(&tPOkUR*;RfibD+WPn>4gm+sX7V zF3|>>3dt(ijJ8VtxOq?T%WR)S-|Hgcu*NX^+d>Y+L;EFHg0f~Xpyr=5Xi7QdH}#8N z`8r}Kos|-@cEIj(ElS06E(k%bVifJ0zVQz3m#$Bq$ke9hZmtk(+!PagOJY%NP+QlX zQq5%zliD>S=R6i10mFKO1T@ zVDgE{PIsuX=0pRQVyO?ixKEN>=Q+lNTEBN={g6fTGOJwuPSPttEcc=9k(i2Z!`mgX z3y*Pq{5}X}>jjNz9uD$f`Ku{}IJUX8L#s2Ho@e!>tvz7f2@TOv?&Act`fzMy}8-$a9LtcSY@qUEy04Q34-04n4E9uwMI#8q}b7)2;SP8Cl>PpW)`>{yIBG`lrkD&Z)d>|j=-5@PRSU?+ ztJ&DQw|N}Nf7HI4dBDS@C*eb0`i{|Xs?c&hG72Y%*9qX}Jy|wyf%vZFTgnD5jH~Z> zZ{Tj8$x-U|6k(>-L&cs6er78+2^8jJc^BfDUK%h4_SJIkOAJ^~UxGuLxwuFiZf@w zUxk8D9D>Aau;+KxU4cnCH$)tb$fJ04X;FZsM~nQ6I+&_{H^3VDGMe#f-(_X!lBSq% zow8P&Vy8F%9?}eB$L{v);IhtFm>P4C>Mw<9PX#6~S4Y2^VNV5#>LN^ug(J0^l^VAi z-++j>*ln!a_GaLP$1t$vp;?h|HoK@m3ExL)8gFX9DXzYkjm$9gaehhrMbSq328iz6 zBH&)$gt^gqlOe;PYXq`yB4Bpr093ehs+XN&O?=R(j;<*6^vsAS3#+azMkD*skv~;b zSzx{)Z0UcJoXH{-ut0&7=%!D*M#|1>Myg|NEN6l$bRglcGV;t{?67y$@i!~H<&OIX zovoX0YLu`(h}Q0V=1*cs1w?Ksy7`gbi~Tu-@UK%L4Ug783)a^ks=oeI614M!Uf!m^ z5;Ug?Qy}vcMxEuif}bzt1mH_dv_^#(BI52{13t=65`9efEcA@(QwZTK4n1Mu@9W_- zVL_784!gob;4qA*(;5xqGhw@GWmu;Uv$>a2Cv;LS%2o34aY)>b4~leRCoundpF=$fX~E`zRorT~CFuCf>&(!ms5yb!VH265c>BOlp1};< z@T=X8+dj*-G>qwr2F59R=$BCj&`j}VRTh%~hO^Qk zJ~MKBtye?5LdYRcKb?tMdDz;TrGG;IfvwZ(eaL3Vlsju4G38l@ccB7^xldR%y*O>u zLM+SY45y#l1>^*VMKtWSh zc7kSg{;DrVGe!mqyw86>fStgY%8BLqVo!Fik`X*J9HQ_%(-n@DO+aFOw;V3ry{Rbq za#gLr#lX$^W(xS$H+R3xqgHg%gLqTZgdCS$t};^0`bUDs@ucpPw(DGtdqVs#0JPdq zSSQh0Ga%=$;QO{$E{#&Yr+f?zK2gtqZR>~#1MDcqeA4#r?>w4DYsom zpRSq+`94w2F?bk2nxhM+xenvo$XAny<#x4&w|@xGC2R09MAymlQfc#4g{R^w(PHBB zP&uuuLWN>`L%NI}cRpDyQ$80|M15zj^Kzllwc8Br-ch!X*WuPANH@A&&o`ItoxdJz zLRhmDx$&ODZX=CCD7w#7!5bH~EclkE}s>aj5Mngw!B8m$CiQ`S3(!3>%H-3=vYj3=jNEnFjcM>VFbo@@5IHmW23Ns6A*-rbrODT_5wdEcRQX%F}cf*~2iikRJY}rS^G(3c#A~i#og-x@< zo6s6%)xsAZ1Hzk8x_ZPz^3Ck!`&J*SK4DTuvB?za|E)xzCZ8oClwp(HKyFd^XwDnL z`;%c1p1~a&_n?4fFMi*UUS*K`PwQdG>6#u#_U~Sn=PMM{-|p8+LSCvs@|S?RmY(}S z4Q2PhkxC;iq3j-BuzD9hsVrF8dik<}(}#N=z7IE|Nx}Eb4dqOL37rMlOjCQQb4qh4 z^>4g+WSoJfgK!qFKT4BnkrT=FR#01e_{2-#(c3QW+1*lRx+w$K2YqIWrbsS8xy~bH z@a#IFaev-p)OvwtL+cN`E}Bm#Gc)u~(_xNfjGVup6{_+=N z)MSZ7pCw&%)xTHw?Yz`X9G^$R^LY8gW?W?i0@k;r-jNp|Ua5jW72!aG=y%JO^ihF< z((ot)O?r$}s#Ku>`BaQOz7l13+@%`+a&kvj(^3PceWO8Mtcn%sx<43k;W6Wfv3$Rh zVywX<_w;|1FF$dNWm!gzvk9Xv?&0-aQ<-z=7w$=%> z9Rg&WdP>v78z^$3-o+^VbC-tBhltAmR%UOoBV?cO5r)gE>{mEN&MCG#utZPI;X)(F z`v`rV*@B-N_zg$rWI$3+j)Fu`KP>z9x+! z=Gh)+*|}Z*Ks4UU4Kyo_OGVSFVc^}V18~q%yW4GAT_v3)xS2>LhYwawoZ3%%oV8jq z+DtvL$K{d#Q%J-ygPNsK7SjG$M(AGvT>QYaBIz$PzGhKPvo`^x@!1N;3n$m2bjg-_iq3-#pRMjtZ2%I?Br zZur|EKV@7))R$YEycsm{;(J`~rf+{UC;-uDdpjabD#taQBwixv(f3orm(yq3L}LWO z%(K+SzCp*S#P$-aJ2#GzxmLCk&iwu_X{3;BHcH1R?8d9+5>MwOHJ_;I@j(AGpYc|y z*nX;0M0kdgRnVPcMn%goh`2$p_`2R3+WR@j`V*CR)l(emWS6X60C=jQh^e8UA>Can zxR)w#tQQ}C^2>>TuNd6&Hjs8s+%}LKagF5Ln+arCAMsD3 zwxO7NI^+B(&dx;ZtCFk$cPl=Uc}!vbPPex2wO&W-L8g$qchr>Vo_e~S=sremA6Xh( zh253D?RrW$l}og>Po5B%<6{k7*^_6pwZ{HmK87?v6f`)Ekrr1ul<2CDq#bKUS|$(i z`rq5|XRF%vSE8nmWK?7oX7VLq%*Stj^&d-9##M>i<8s3au>ICQ*{n8x*ylSe3NcDi zSg$#gS?~GOT6j0|i-#V7sf?!?BlR-~(f4EVN=BSe>%8Zely}mWz0D#QqKF=`G^670 zLbzP^7-MCj2GObeK@8=Lp5rF#FmnLjvd|rie;p>tzWP;*-gkAv=6fTN_=4uS;%xzQ z_}igVvCJj|>M{OI_s0Pa`sJHG`s^H54u2!4&EwSo&Lc%CHlKc`6DEs)5UtG$ExEu( z;bGqDhGv6`LJV006j=hQ_B2i1sL?W6UIpwo4hMLuB8>ZinC9;plT70cdGgW+`%#oC z#Mk~IMv<(|?s-0Gm0nJR{!BIxyzrRcHx)rzl~EEJ2S#!oZ*v@o9HFvRg}uyt2s2_* z7z=V(b=qB~l*AocK}j>jG;Rq|{Yly8VkQb)>X3Y95oIsG+^4p$Y$$Lx;leJ3+2F}w zk<))v#}Mebp+pE%!TXhvG%(4GSvvBxo>-t`I7QyudLIt7BVaoFxke?otWLH*56uYI z13p2RIAaiERtCrCg(p{C4Ol%ece^zPk&bn|Ar8lAB3ocCAeQy4>6r6wOfC0ASx@z*h3A?Xywc{X#&>bt{$-@$ z2Op`GX8(9n^8my=;8~jEjwnYlXM?Ee=)oum6_)~ugoP-uYx)$R?OkrJz14mAY|g=~ zaV5Ifaoi(WYm$N?s>kfYV>)fPqaRl13FbK*NmAZuwoZqe`OY@3d1p0T_jBoSbnZ{m z2Ko~N#WWQxUB~yKU^5GQ#oCxR4hf5nX5^2?U{+xgD~>tCs>~07VZ8yM4zD$_?~L}t z#P7(82-IA|74qxb{q0`D>V^Vkbx&TX4B)>&80KW5Z(PN&BJdw<6&mz@T0R@vC-*V3 zUnnZWCRv8%Xd|v0ZcSfSX0noH+(_(1kpv8#GdOK9`R;F}DT-@Fy${t~jM3*hJ^bw9 z8I?(nPM92F%CJe8_iCuqg~u>zkn!9Sqo_RvIvZ+=D-MwvAPMf8J`sXH1h7?Yx>dbUoKHOc7g)N zXIzhqI}lm>G8*-!6Oh{8Lkv)@%U7wLf;l3L!8Z=ZBsiYfBzEC3-H#U7;;ZjdLk>{- z8TX$HdiYS1nyVxzAF6+0$t@YLEZ>XPO9Lp6oI@R(g11+VESdqZ^FRh}=Bi?Wvy zwJg8^6CgUs21RpJFBGJu70UZ*43cY_F7&*Qfurb2CT+rd+prge<-pUuQhv#=qaa|{ zX;ieOrJ7y46Kf4sf;rD~M;ln)60gB%i@%RKGrQOG1;@-MqYUKQ0+x$>3>9yuJ1(A1 zSR-MbUESj*an5Ny%H1Sgy+U(FQrK8qWyk5MVZoI@ydr(#_G>O2T=+ZVLe)u+1n_xc zKL20zm3f7y@%edbV0c;2c!nDSjV|&r31@Ef4o(dQxm>T9YmY{ax@)Q#IhW}D49zk^ zmERvl10=#d9{WYO*N=TSp_@PAzH-A2t@$D{a$!hYGhy_z{3D+C{HHt1D5H5w2|p=E z-{SEu)jyav1N*@*kpV#!=7x`tLVR$=;XOqwLEvj0^p%iSc6h3airc=c#E0QtWr2r6 zc3HA75plF`(w`I)qE>$_!JK;s1!x^1s%3)bl(+jw$p=Tiy4b2I#Teupy|Mf{?Ztya zGZeB`Zk;j3@IAl)sY*X6%5Pl|%y!Ued-U(@`pG7hSH9+T$Ro;L=lxNP+JcOQ<44q> z0&}@M+}3hI0cioSTrLe!Kdt=3UjJ1|MP>aMB)wOIr&x@(q2dvwI@*3@U^5P;n_gRC zZg#fCG$?@r#39d^zklhME#91TFfPr64<^qrf&gO@gQnkTwrn;qPHyok<3fwlQ30c7 zwLgtikLXWOv&KsXN^(S5(}qh>xR*2cEvGBQcEohzn-Qtg3|` zbC{u?2uO=f<};t}R;V_)IV>!k-89@atWH7rzdR=M8JQm#%&s;ULkLfloTR<*n3*+E z-Ce*q?HTh=wT^F4#lFl_TM$*gfRTiySt@gPRDzU0l_h=q3e}fqg&T7wT_!`4QF+Iy5 z0X5xoT@e2@u7R&yYIUC#=qMU*>EO5XC8dQbDgT~+Z1CdDd zA~G?8q{L6z7I^U+UgZyZh#!b8q6#s8q{q^4kN`m(h@2xO2x|8?9JU)p)LFbP{Si22 z;_zj_8h2tVve{VgK}&BhIJt#sYEaHFU6K*~T>vH$Xz^omaNo*Ql+YP)06Z0?I97al|34G*%6b))FK zUhj1JUC2i)`6oiuCx>=gDah{={UW{ALZA`fAc+$KJc?2y0$`Pzy8sH~A>((oK6XdCn)5HC!}g^Q*_qyt0@1^4{AY$c2P!y zr<_JbhhZ|07c9qSMwGj|lXN#jS>^WfZ<9lKR!|GC{%9$`a+l?#<^w2v_Kv6mK|)D^ z--M^n*K`TDCA{|z#U+~qrKP3XED$eCjpPd&Zuvm&vzb3S{~n&dk*~opp-8Z~x2n!h zS`#l}+z@tL6AB34ailtRR%a3W%1`6EY%FT$pXOdvI4{hWy%8EcdIp!>$;ZII`U6K) zu=b0eJ)&Cn4wby3CG{2;R}F)97X=FEu6fCydnq>GtCAGy>oV4_z9z?*c}s*A%7vNy z%b}@O#O#`XHHHeU=A~G=r!2FiF(zRDSO{nPhNxIJ8RqUgP^fXb0Ri2-G=S8bQ&NBA zcwa|N2}haQmQA;^24vygx`a&Bf>LVt^Mns%CtB)S)&rUc@EGko((Go^w@~I=H4^hL z-e590Xq87#ZW26(H*ty#U<)xozPAkAQRToqo@@4ui|20^nC+@t1^s=-Wt~RP4Opgn zhVEq+7affleE98gB8AB1e&$q{I>(NlW)zZ3D`YS@+x)*gM%S>FA?k?9`}#GMTa~mM z>xIWechpPHcYyIvD)r4l<{e?#QVo&!7gUAptvi*CPjZ=T>UH!tqmo&iW~1F;Z98Z2xC`Pu)z;R1r;Iw@ zy9Ie!MPjJTyhaIWE7uJe>m*A%&ENtx=s=P(rvBUB9nuHwndS*EMB!&K{ZWSfG3=k#c9&T}de$Vs~MY+=Q z!f)>!4Nk%&D1@|p#Nk9QC#t15Hm2>>oTx)rvIb)H?g(1YVGHDjqcOk6u29OVOwmZ? zQMeX4?wk7g@7qi#y|upb1g8#8PsNxnN^3NbFQiAemH$N0d8r4aByrwp%O!c)zCj29kb$rBvjh}|}PWnT+9(CQ$q zA+%+StXa^lUptNaS8Rh{v^d+H&oKBfMc{&BCWNJ1KNTsZAZRF#_!JGb;ioJ~H4Mb+ zhHBN2uyyt6NPPK)Yvzv~^Nt^g6I*YY9 z=c(_Z65PHr5XX#^jG(UKG6H{Et{04nKewpOincFf$#f~czC=~ZGUcmD+$Vs7D#Tdx zWT6$WbhtzI%pJ=%&!~6=t^j+TIAB}Ek0HqKh4$a%W7POd*1_Z_YM89)G>M300t45n zsV>qVCs;C*q$hDD(PNh!W2CFe5JvRavgxszv0KL<(sMJTosB@7rjOh934nX?t~}NU zKw0Kf=`b|TZ}%iP+&!J>@gXIa18gfL94@earky3p3Ql&||Utw@P2RHO9J=+u)_gxArQqFMKZfE7z0 z+jHXtB|7VG?EQ5<^8e*AHxlK%i(8Xyi}Hzb9zm{<3y*2=s}jx^7`MIq%-FpN-338W z&vIh>Qi<<=u!#tLpkpBVoP%0gsu&Y4Z=mnjH?vsjA^*K}s$a1H&Z{G@Z(`JL;kC6T3t$s(LSSzetA9zk(oF`Rv3l_?#CNqO&LE ztvRj@`C|KTbx@3Wg=X95y!kq9azSR$wy3W1H6y6mxyv5lzdXh?*4)qV7ns{!T`!O! z+n?#eW9So;y(+EJ7~U=s{N+&O&;MxKj$7NBe$WX#>zP_%mz zDgSG1)WHECD;3v5fg&XgdVQE@IB%Gz=->jNH6*K7w*n2JhbEaZ<`-ql8im?1csk+F_1=1 z)v?siH@OD>CKy?cJ4Uo!d2LxVZGuywzU6(+YCzX4sTKL+$*j;31YyLRU#6*g^$*VY zs)?vs?v$~{I+Y0IWw~L1r>w$&HLuZm@*C*TiLUgMKLD!e^io7*pgiH(hE#;2@E5f6 zVG+*6cGP0+;S1TXAGIC%NfGo0up#^K$CB#b9`G6rKa>R-sYyrgp8PeC-klbr(b1rt z_ck=Lmp*0(@hL?m+ThsMui56@WHh{_6V4?8X5{l&P^+-piVcu~BU-%FyL72<XHl4xPj}tRRbE=$y`gd8N`|9aeh35wRzU!$HT9i^Oc+nq*<_U*A zzL_TzU~K}c?<5IEoPO#e@Ir9b+jB&iJfTv-l2F_Q)vJ^-6}3jvyvgwK{Q-j7wbyBB z)eP1P*zjjSug@(r=zs>@hSxW|h#9QmonGJYxX&mmuFY4fnoLH4-}7q`aQPc_rTrMa zU}6rGo?_cQuwqFGM!-c^8+N0N#(eec=uVM-dp?AfAL_0lMJycM`$u$QN8a|*104og zvq5fGr>W8HROXu0FFyx3IUI|WOb(jc_L{r(n#cL5Cu6viP+$UU6v+auS?MOS+Jq!j z9s9j{E=*qx5sFN^Yap^vbpVHOOY;?Dm`r*pzDjfx^Tgjxo3U$(uEBit%IIAAFWI3o zx9zN|uTek(qR^aMAqL-T%c*FbX|&#`S4MyTEP}a=a0~k{kEyFl)ukg(h<~WHV^^4{ zrMmE#duL_9zYTDj#B)-RkPg(Fx0=CXRcps1yC*_SQvQ?*fh?BQn4LF{9CPIiUZGW| zq^;Luyh$1UZg@!V-XK8x?kt~)IDy?YDw7g!bc7PCb+Yt4>42ENTM5TsVVpO#ZdMAG z(TCH79P|jw3r?A~7HrYIh`;-w938o_2rq)`O#GCq5 zxsLy`iZ>w~?%bxX=>m{@dk18s84QSmBrj?U5koE=_oYiHqfhgZEN<+gRttVT*_mlL?ttWNgT?{Lef}o#pp*=8;Mn` z0p_;l%Hi5F|HaP&Qluw&zJ5w)-17$r@Q4xURgvbF+`>N(Q{QGwJxbK z7{e&R9mz2+a;c-Rvtc-`P6fZ^c=HL zK(79#s{%xMq2hk-L6$LTvOlx#LvvG2oR}@G#oB!dv3@^FUt0<0D#W2gR=geML+oYN zu-7^S*5ELZm4|v{si70!`SK5`%PAGsLYI=wZPyNjeT~M#YwBVpg^CPZCAy|4o4hb+ zi$ajlgTK*?|K%}@H?Dyds2q6eJ{U0HDEVo4k&h{0UD8!cnlNepd@abE)XU(XDXriAk{W{J2y1S}F6#7un%L482A>1}l;yCkkfZl6bA4Q*N>+ zof-!qln(Ow@vxZxIRzyx!PIdzDh@e7dL*q5-Ta@#Of^K2eKcBthm!ydq%2Fz?TcJ?HfHZuMjM#Hm}fg`6_lGEiwM79F|Y%fQ5q%uD_cx>w*aj0+4Y^8$9f#X{TW_oYF<8U z5RHLQ7`D(vho z`CZ#J+SutL$hxc2eZ*9JVwH7`wX zLD|u}QfQQL;W3viz5wst5J4$=j9`DC)%z$Bdy$jAybjQDZPSmxZYqoD8)BL&;=x;y4mh`-whOlI2qwzjF0W$uxDHVPo?#ecWrEPna#$NNu(j6u%|%>i zza-Ctw;FHj>vu^tYIBz;u*dpt6TjMNJAk7oN@KD^f71yJcQC{M(u8hd^&HGaGVPbsm+(< z_783k{4bBGv1$YLv=s&w$!Umq+Po3J@EGMi7BXghnO%)2r7=~uLmV_93d$tbBWAVk zqVWz0>i_Z>M20>A=z1ovPpR$fwF@F$^pycHT+dqYqf#W8wyvTCNSkF zPrFBWdd^8oWi#Qz9lsQKBFKPeEHrNWs*+L8C_m8PfDks>EzVxtV)#c|fcUn z1q9G|xsW?!CeHRqyR~>8$_2S?^TX4KVOhxr8V*-P zSqU5|G@XZrhPz8<5t&Snq<$Lfn_eE*vYe`px5{rPq8A>Bfz2z|SyDr9*xdmJnYX{HT6J`P6V_LKfU7|oWZe_tX}EJR!d4T* ztBMdyM|;bTDu~vg9ZI5w9sVEk?)#hVKmPkTV#kWTcM>szSTRCk#TFy>3KAhUiBYpf zjn<~9meML()N0XbmsTm&YE_L=szsHS(sA{i>$raX{_r_H*AHKRgp>2Wz3$HkTwjS^ zt^yeG2__{P)w>iPOB7{uKX*-W<(NZ#iwZLNulq5h!<$fSUWl&dAlB^kbVu}w$J~~R zw$O};Mz4*tm|rGs!s8k;L>&1kvYqj87@dEPwLer*FSvU!Y|QArzE}U3xXIJ$ z2D90%u<{2t=`kzzjEIhq(6)b`p`wX5_hBU! z1m-rDdb#VvSU0KdjEtuk=(R0B2Z+XyF!Y!rvjzbIPkBId_`-AK8DhJ zwrgbfXL`a^?q8$B2V;fSInQ#B6U6_Aih&`bY?$PR>D?Il7bXdMB zmT7Y5k`nuQPEBjR)4YRN1_ax}+2E1aei~RcF~0T{rI?8rBS(=Pnp$QlM(tB_ur!cp zX3$*o)n*l(FXvs@q|&q;u1YX2aRFTGz!eush$k;G@?Y!~G|hjQ$3SS94rJEmia;9I z%1fpe2ehqE#WIE`)0Sgv!!G&!(I2VU5Z9I31}s2xL&xK7eH2euIWT@4w0-a~o_!mE zu&!GgwqIj=F2C(JZ#0!3!C_kt;gWoPj_**KpXafTpf}YF7~nkuko(X3Fs4oskgM6ICmv(p#ve>`#F%3Oy`7T>aD-8c7xuQs1BZ^GZ2j0EXa5GpH}+_J4C8Sh zL2p%g9)3;uy8>@sNL;D9nH~Q5Na!&_lEAVMs|$POsF>l*1Njzu7&T*L?o=N5+@NzW z(+G$$wiLvDCU!k*m7f(Fr<=ON%Kw3Omvrf_ox3LgNWix&jG-9? z7*RW{24N6&5qB=vmB}<$=bb)(jQv^hgKy~BwnT_AT$dz~sAGy*6hV%hWwUo{@hhgD z)eMShXZ_?iuZF*7;lKv`DQfjS+>k&r;A)y#jy?~!Gpl-e1N8!~z)-zQz{d?A<{hQYX570M3g6yk3L;mUddf*=Z=dsJEdwZc%*mwRcra)S5C|$zclV2AVCIOyULHt zURc!gzTsT}%y79~5%vuTz~g1kiNyWa{h0KqAgKuIJHu1LPlLGs=(wMF%%*9URM}fQ zuRG@AN>$`yt0BGvqCuG)yNKF~v5l`j4Cu&Zm31hq1;Kxg>l&5j-|BQhwwR(Jn{+Uk zR8^y&>L`-ggnHQ^W zGQ}r=xNy%-Q}KheSj-yppj^Lg5UrI>SbK;o;=N&%pO2)i>F*Lw?cahH?gS+|-tM?S zHIXS;6ixy9K;gQaz-~SmzHpAQ+2BCYrnH`uzq(f=+{uh(F*;N{&u_=>mZG%5lI$6Z z_~3o}$>X*-TIL9F`X-~G^qUk4P}!dge9ypCX=s_fJMtNBwA?222vg(!z*Cgg6Z}Nr zxylTSd;ptGdSR&6O;-_}_g02H?$U_FNMZqfPu!v(t4up_&v-7mP z5UmT~q;uc>)tZ7)x730hIv?mX-ho*oDdDo$&FL1l>8Xc&mH4Be^D5?)~$KS=N|GFRZUTe{!fzFOOv1}et7~pJs;xSSy*$8jh zRaMAoXHkA%1*O3^-w1I_6c>N3NpkY`3!$0btEQ0yX!FcWVXm#!{m8VzcEu}W$A9nJ z9|dHXJ$0$>NdgCab^~|1Fa`DfSwOnIJ<{{w@k4o?d!ev@|G7(j_>t{gKYf6la2H_( zoM1LE*-U z3nLfK>MPFV`H`<1*2#swl;<(ub2HKQ@MeTdFj~_oRYawzwgYsO{*1Y04S3DpQZ@oPFm;_QhC5tLz{G40;zvl4656TIV17~gutF_%&5atN z%MOM{l*RiI>dY5;S4UEzV+B|AR}7AHEn6xrgY!kavD7o+($4+jO)j!3qAZMVCbKVt z?tFL)NB?cYJ0D+Ua{T*-WUgk_+-X2kpl~3IVL;Hpv5N>{W?9O!$JGMpi1HgO>WluU zNYgXkS&~am_2+0x%q0y>KN<{Zb!F4yWz@Gm%rOq^7fZUpo883{LmgduM**lno$Nnm zZBH4{Ra8dB($HIYx8fwDXP*JU8YdAxlawQp(s>ui`s9}obIGD;EOtdW_%eyZ5WU7A zqJj!uagT#CYt@H5fKd28sMH(q>Am-p{r=rPQq0Oyy;+O@>2QbbHd-`pQ=MYR9d1ju z7hE#$q$`j1kj7ga`~;EuHlqx!VnvA9rYRH2JEbml+7H;?<_GXUZTqFDV)HU0U_VH< z*FT)8@FpLS2!1bFgfU`@a{9$Bi#dbG8}8BwHRc``Gg@N*bwB1bhd$-~T(x!B*98$f zZXTu+k16&bf%%Bny%7PLU7w|9b^p z&GdD>J9>msEBZqP;=zJ{^u0GXoxkT&ptFe1C^lqEgdR!M5TYpJ*z_U9<}+~sxC9^P z!_Pbf6EKIAkf0rL89m&zjA)Hv&O2E2ZRA#%g<*-}?7RZE{PJ~z7tbbiIzx`^ zzzQb3ol~+FFz%baPJ5NbMJPo!SWY{rzeh##p5J1qrU+CEfV^RG;Y<@ZwRS788TAS+ z{b|6{sAYoVW{R&?Mm$Qm{?Zrji+k^6(v|MU^sprP8+Ym<70>{OF>4X`|GFRJkU@f% ze_6Dr$<7I+1ubcvc#J;w9rD%g5v~MMCAO9m8fYI(G3_KqaR?sKdFM-Ffj z_IH+4WG}YNu%&(T0(up(z-Te&rR@}q5$jLf%)WjH1@f>KkgZMc$FwEa=`G$`67(1H z)gRW77e8%KPhr<^Graz03s(2=U8tn%8I_?DEd?KoCQ{5rRit_9BdK?K-&|(eXsTbX z^0?=QRsOw~@b?);)~%Q*GbIOg&nB%0>Q1cUiD?QAOl#P(Tl)AbxElsHmhagR=2w&> z4blj(^S`XG`+t&r=w2XIWuG3M>Ozwmm4I=~>0y{r26aA;@|9HG)<}Sj%xgE1hkTO1 z#cm;cgw(}#t0!Co;vEc+qUfUeZ(j%f*ZmkWsxjn+$1h)Cx|4s-qdlP$kC|CF^~@g) zq|+|{`z3vBjeG2+L)2^cH)K~-r|OW8i=8x}k$J1!gK2@a&yHj3wQ4}nIVxC_+XA-Q>|EF=~lgg6msI%)KHa6 zoE*zfUVFc+(^2|1x`t(VULVaPTJN31$sU(y^2W8Pgpc(?F`kwCgH?Fm+#)T3)f;z% z%}3@c*Qm$NQj})G-5(LZbutWa!}x z3eLyjY^`+U(peY+?n&ZBEi0Hke+>)W60U}J*_F!9Yh0(4I;f$WS_{2axCgXPRWhp8 zUL{Ah%qR2G-2Ace`cy?PXgZ#pHs}3c_hb5`=iv;wyu#t$4|#aLcX6C}%vkp8D2|K@ zgsBl$$47;Smy>NMoXw*(Zb*j0FZb+%_~fH_CXLT{&totTyps8p4*Z;9c&Z+Xlbgv~ zY*E7!@O5qmT^gSt!NC+|sItley&XQ`|6`&JtAohI7-p2f2H2lCH3yw1WOIxI7<8vm z6oUmV`#e#xl-tKrS#663!F|*88Y!F>M$pgL>;iScQ{7i^(+<{7+2@e}(d5S*))Yx{ zWXgMMjiqMEh|XnC+_-gQ=FMz2cB25#P|b4xN=J9-g$yN0h0;sl$SeRu*tnbWYIkW= z5jmJUPe(#(X*p2E^UnoLe91CN%~HY^)p6a~4qgqUyBX%kP4eLWulq5&jNz!I#3|WB zxRZ)T%@4~HkCCMx)k{sCQw`q$2tAFd2+B^1@DTl24pwSAt-JT_1t>=67ns}@FKo8- z(&hWH73G88Pj_-ZC|po_2O;?Usrq|XPgAS(@3ymnMT&c(7NQ%tx;h==F|f33x43=@OsF*ymTidx6EGsR1y|vaJ7)jm>)(_ zQGDsrxeJ6@D#XV;ovZ<7HGG#=pgmE0IekZ@XP*`6*-ezP%-&T@3Cc4&T_$RInMKO} z(Tq;y3P3T0n^&KpBWtMOHv+Q34y<^mOwb&^9Ix8PcFo_=lg(uF^$zO9 zV??HFs2Xzqy2lm+rgt`t8S*xuY~svho0w)Rm3M$a?83YrXQx~`Mw@#{BJ()P=94`r zGXE%uo8V>O83MnhczL!Ax6kttWzKuqbkXCD*S9TrP*=_sZR^oc_?=uG`PGy%A=y1k zWd8gsl20P9?-Ds5E8B+xSBoDBK>`>*>kx9|V9Djaq};0s97V5vr*kiJn~s}^iwb*>pt0(5X)9M60*97tGl!gb%$I7IvT^S&*K~lGSB}sP-&eNUXa?M~Sc{f*v5R7^ zK2NiXj^-cBFBWDDLoGSy(jm|%# z*`^NJ>v7i%7@9W*!2augOuuRo7jE~5^mpzW%{8K|@QKIx?=x^0s|MSWEktd5woEu(~V@5qlu>U-x71 z39jOtx``orrMdh!F{1t_9&>r38Nc-80^4jkl#MHjW}!0a<<4z(9XDx?MUnFqRsQRK zj8OR%Zb&49i{#=l6Z!El{fWo?|K5+uMcG9g!nIfgo^3hm5%MfgJVuY)57WBF!qeMj z6d-Z%9%i4f?1on`FjT$t1C-D*6Sa4W%SzO^grleJ70$e?9{BmI8SP`IlzBJJ+_n2Y zo5>%~V8Pb{Q7V?>k%rX`XG0UEs@Q~@n0U8zdOW4FPwQ`Lv#CDDRkC(Y%EjFGs0m%> zd;*pdu!u3iM!vG2k< z@C=aORAfHhyb-1}pGQ+mb5s_}jjZhmZcg zOXQN|b5o_g3ot~!|9jtrt6>&++@KQCL&w3|aa}?r0tX@ArGKSzB=5Kiro?bosb4t(_N6N8ht5f8ZQlsK^M`k!1rxmMZMwBSJjt{u$=E zD&RP>CODeGXU=_@FNlQ$>Wur>eN4>#6>iMT3s-PbF$n_nM4xy}d2R{-u?^FlzF_5E z@TCTt`x1v_DA0xrWhVG-{2mCUQa3>qyFSq^-&rwuUikgNZ=UJr=D>Dx+On6Ww@g9R{!Do5%OT4}W zLa*_UXGvt0J{J{)evwOBi@axy-kjU))*XSOxHe{2(PLIE$y^gv%FW0GK9;}tZKdez zZO$vQ?JkNO*hPEtyZIW_&h6Riv1iDjZY?qfeDsY`HfM^C2n!bfqaNeV<8?`)7L*XI zUtDbb=DCl8`uS-2N6LYGBVE1*uKe1O;Opb!5%Ff>GV{Dat;1Pb7vZz=+CX2`KBh*byZw;;!%jzUGDHBb+lGab- zIxs8f12B_z1^X0Gv)hs-;!2PJ@4Aupd`hh=$6aC39OE*xr@Su%wE=o@UU7WR4@ZBS zIIt^NH;la(?VVQRD&;8Dx{xyH^?LV{ z+c5meM3=#rOnyhg?d!ag_W;;%*GB%9mm%(?xMoX*S29MIuK0;?tpWx9UNCdLz?+IQ ze2|BD?P*S^&AQIPqXCCG|J(7&H8^p*W3h1$HOpYpP3@asM@Xpltl(LOZpj{-gF~YHAWxf=@3ez6Ff*WaGmmSsf~yW*rc$SUNmtx_oebe3`Ltoh` z>!a;M{Zm5aCR@bk;CT48zvm|dX7|mIxNJ1kq(d^fZj{*Cujg1L+Cj_hdm3VogBmEY zFQB_wNA%o}IaRoiD12 z(Xt+=sLl^_Wd$!r>Bgw%fgu||;xM{T2qZ;4j(^?9M2VM(+{E?cuD(WbH8ZL6oOnzX z%Q)FJ701L8GRId~&LH`N4j~Bt6Q(HMcpALB)Wc)EL!(RuS-*SKJNRYrrPu_jA`fQOR_J=x5Sd0bYV@HU3T>D;jYJKN|;4e58JRZo|w&p;6(jlP&DSvK; zSLJ6it?Wz!)P}k3q9oT5Nq&-I8h)>sDZ|cM-e9K4tgnBoQs8yGSpihGe`zI$7iy|a)aIm{p&u4whCa{?DzGY zvhY`^_ehH8EdWugWx9|liY2GYTPg7u~hnnN}> ze)4}1-o?sCrV?|OTId>r2c#F?ZzDUL#s~zbmrmhdQd#u;mqgu@Gbk!n+d+f=<6yz- zU+vAdq{&Ye>iqE>d1ke!`ym?-lbIrw7GNTB*8-na_i71?2dZy47a<61#k|`Z!GJq& zB;n?E_h|7|rm|_oJIrtI#6rf^91Pr;0D!_P`ld^)t>M169&P5-N%fVA3`(r)bwW(>r4f*O~p?9P$fWMhz%$8U#^*Z1=_)?ESOzevljhgkhE+1wen*(zz1axxEjJ!M@W*c5=oM8@Eg^{ckDACtH5DQn*4IH|m6p8L>E45~Botd>oYb&mGHGe+) zh&ujorH5@A{?7IG%s$!Q{B$ZG#qci#i?b`>Wa%1){kyK;q6q)ghGcovN(cDbaU5AK z3-w%PF*`pb7*&9!I(A+>!-p*ml#XcUu-4u$Q3`&vqft4?qbSk(!Peq!Y+$dwxfG;P z#MZHT%R_e*62&{WYRpymM(1DmF%I8X#Z6sjEE~_!P4z&1 z2s-EeuGkfxJlrHKm`T&#vRfi^Jbx&XlOV!rz2jsl@&_e$mj1jUDSQt-aW|0hS->fI zlJ*Gm1IO5~6zpqrd_fHFW7}kgubsR>^=iY~XX-b=8NHsN31ZUR(lyaxpQPgKXiCf0 z##*0DU$t%eZ?73z#)N=O?<-6i-G1hysef@W`aWqx|Ml}?(9NvxesWGamN@%y{nn~B z{$r8Bpn#9ON@fLxRB~3b_+|gkWTDUY7GtdCF7{Z6m6C6-%)jnq7)k@&b*$M{uJyl% zU@_O^PdsKhR7j|*r$4Sabd2s2dDuSSj27F=!!}Ka8x*?PXLn*=m`1tJ&u{^$qNmlC zV+(vmFo%Im*$!$%+7%s@A1dsn1s{VOnEF&-vJgdlGPr|Y=_AmOWt3Uf&hn~Ocg?Y- zl@}Sk`mRE}hZA$}9N-|i8*BOQsCd|zhZ#Xi*oqV^9JNK;)L=$y8AO?Ffl0SM({}oU z_r9|IzrI_`W458bWQ5$6XVvHqC6G?zie@NXYAZO29K&6Ai3u_#fKY4yy{6x<&k@E# z`)<_BtdD^%-=&YU#!5ZAd>M9IAt3Ny_c2>Uu=X#uUfLOM@rZ$@m5>vUiP!UXVtY%# z>T0xw$uG$PUf;Yc9bqV|nqf3z3vrFsl`N?Oj{mHbbV9Fi1j!5p8oYo4s}{{=`K>>O z3r&`yst%Yl(5do7zl ze<9ZEE_qS&_!0+!4RbM?X~vcsuX3bS*lNX?&JwE1fNwXEZ(h(2%*%>NtB`Uv?!92Q zoM#g`UnLNEU+Fwpl$8)SHw_IjI1QGT$gi>g*L{qYcBkn$r=xkj=2OsB?sJAG9#eG_ z8Ol`8j!N9$^?DW@YbEg{AxdidvBj|RX}=8REw*i`Rl%3wN*xA8Zxbz{F`<4YLpkNo zw{6!wEdv^&h2+O+aL-$QXAxJ*Xo9t-uf-ZlO~Q_@WVs7jK=5?pQnh13oS1kaI*}w> zY^A=|9B=ni^ae{&Awg9uOPthLeJT+8I~-tbb)Q(rH6Q1F3kvIcUQ7uT`xM5*FD)v~ z$1KFoQe)r#?FAb=y%5M*X&i9y=N{?Z=r8`T!v?+#9Z|NQjrHO!6fw#>r+M8j^^Sku z$Bb5(QiHH=b}9GqR(%U%v=fhc?rsSm(Q@=`mWxF_r0Z59ZB>tFA>^6jTw<}h@+x2zwTq2K1(|UmI1UY&-ZYa=lt+H@tERCEk(-084WaNFyARw6!rS7 z5E)<^Cm_T)gylnDu-x$q)N-{RmbBaY6qWyi!G`b4GnG+|G-LI9B(aBnoy33L$6TSj zVlhlw4bL}Ml+RffGCuJb7nrL%3tK3m>v)&v9XgHeR;wa}T6vcrJI+r*SgJAo>pmvu zg1ZCS{BF>^#y&=XXTeX!~rConP8veygdM+y=B&?|gG+7zL z*3qhJ9T|mS{`R^>1;knh4tRVM=GDmM*-4{wXZ`#D!WtlIF;)VGmCVY>gYTwG59V;8 z?5ujgV5u#cJ+T_XxG zk1W(ItsMRsblZ$WHGc1z{gOd>o0Jr*U(w)m4MV)F}(L67ec@}|~7XsxRwWas~xZ;q(b$VM@0~u31`;aB3 z-tra2X;x5g;d7MIgEPlEzMA(UUW#LMMf%!&51eX5|8*bp_E_3>5Z7vRZwJp7ELan(C8BUw1^8}OnY&CM=5em#-? zWnT&~3#2kjZ?rW^1LEO z1~+C+blZXL1nb|RKrr3?Xuk8Q9@WSW1U`pJ4)6K^AK$Wpf9v3d{sF#@e>v{tZz$vo z>%XlJ=CrFXj65 zfu32P_l}Y*;5uio2c6M9T~T96H%44!Ehe~Sa6&%P@RpQ|ORZpbDwhT2hl@znY=XwK zZCi9b2auXG&JdL|plOKgJskP$YUL3DsG)rlzYKp@8NT!b1*j*~k*0 z=i&_?p&Hv@*vCU>_`mLB?lgn+9?TzVGBBY#_3by(B!{{CsuO5fF({#HB0cIEe&u!T+2 zZ)>!O@4aB|F4hX4tk^*@Y1|W+Y%w4pSWwtPRwUL3Fw{#)?QI~s9(cqK)!dF~F25P% z%Hkm29=gS(28QWMuW>v07Tm=x9+(<(U%D90l7uu>Vt|_eEIJS@yDP@<5%JuT2PU_paD*#!p3_t^|8>ah#5ScNH4-sln4ETTE$2{HF!x5(x{Mv@JjOe{- zCmzEWIEw@!Z>cdiq3sr4%>#SB`+IMDUE^q{THr6_hN9uXy?beoJdgKOyOG{(ICWTN_OBEVe=`8Du+ zl&_gKDOT*%MF!@99iXLqzJcnM_pywX-hX8Fp;!Ojb`(XMuC_}_Bt=VPOib7T86|k0 zJ;@?_R3!@+$v)(H1b+zYep*Gn(*D^jIOM9aFi6O-QkdCg=o`Nfti!@-=%CQ{iOqYN z#=;qmYwN7;E_ycj*iRk2GV11V-#rkDJjM+`FX!N+ zGFGA(J8L(h2eh-V>7#jKh{b+AV2a1xK5__B5mQc!cppyVZZM zrg<3vtn&(|b@Aw8NPbBVbh1qZ6iBP})ArgVRdSRY(7DV=>4|VzlL&cMsu$%$7ezaG zfPVQr=C@MK7lOMPIc@CtZKyl-$qPn{<##^E> zR%YvZWfdR2v1&^!_FouPNp>)K@fKFa_pQ3}GGk_dx#)VQg)61Vy2qLx5d;%hQkJU= z^`*T4r~Is@MniV^IrKH!*ECtmnD%3x-$iyBmuCb-|8*Y|v{;C^fIL#_dMfM}#T>|Z z;xU62-EuF2B1~;6UderJmIhXiD$1Dpk&v53cz*W|l)2}{4G6P0MELPGE9m(*UZF#6 z)zHArkMupZ{IrgkK&~y)2;yji-QDs24V_Po82j3uupsxEL>rTPs>*D{LCng-ep+I5 zrsiOMf~}HBkkJ(^S@lgw0o$|7U|H`T1gG%3fZ)pLa=?1as?8VkSQ5n~OLeuBitrJ;YTc|$c_LSx6@#jCjMKjeQIEC8DJ(4iat z=7U}yoF+if+RUf!Zj(h@e0{EA8bxL5P~y3ghfX6?nKr41lVWFf41wmJr4Forx-i+E z9ISqym2jjQto6U{V`grJ>Ry36qa5IjdP46b(I+0mQUCX7a?%ZuMPYq-y|{27_(+^u z+%zKy?X5;H@(6pRQ2Lz&7_Y~AM<4LBf~470Uq<0mD7WQ+S6JkqLmS-*65o`*h^0B8 z+diY-#4FgqPXA*6kvGLoFd`~sB>P1x_Jp$hP3hbXhlV-Nqn|2 z&b`c);(&m_U!*7&#`XpTzkNs_>t_uD$IF`TehSd%8%T1f#nOmL0xN+?+N{!?4l|$~ za06e(nW?e7SWK1i8VY4)6+Ih=#VKMob(Kuhdq(}Aw(%Yr%|Ke zE>~XO!IC24b)j_sONOVST|bW5^G4{$JyiO{Q(*<$}FSyQ1B6p>uFVwF`c;ISAUp*sBSGs|o}68_VM(J= z9&m^IBWfaJksEbuOP#MF&|iJ>DesLVkYn<U-)Gcx$F$aOjY|QO-{a|2{Lgt!+HrGaFM67)CcO_W5ZVb$C0Aj#4C&+r zmseyHax1;xd^dFX*L}=gWnn!w&w0V0S%|>kQ>Hp69%HgPVGX$TOhx%AS^K%eZ=pJ! zJ9xz*jJ>zgQ%SqOyEMN!lo%THuz;7J6Tx+K^5l1x490)2!;@P9s-~73O`1(#yKt7L z)`bn6f>nl2Webubis3wRY|z@ncb3c7b}Uvn->A!I5^Q3ZKcO`1%K2`3C#auogt`zO zD>3S>URCVF@CMYjc#5}P-Ql_mwgO}OUAL8A6s_Or`kBNVNB$a-jH$p~kCR$DyY;oc-AaNBn=bz)$uOdRB zL4&7xMtX8BDlR+*pPsrbuDvB}@FDC`l%Jayy<6Hh4t)y*e?HJs%nMP=`6gdO;XzNU z;6o3z!oB-E(bmjssJljfEhUmmEQ#>)PmX$$-^>-EY$qO*H)ctJeZH!YqTR|KT6V_RXrr6_iql2n57~pIS}|IA`c*vH zsO(q_AO)m;9t>AMFvN$wdcW>$aPF-XyY`T<9hjh!KX424$4r>@bYj0$O8y5~Uf8m+ zG;5OG_d!Wpo^&<$Uul+6ge@=zlhz!1cmJ!-9Dj#Lr*>>5viD;6sUSw8mLUwA6>ultz6&zcI@vO z^E=85Jn@+St$j?P`hs6km9x4MepBH$^OW|9$DCta=B*^Q;AAWV9G#5jO^lS3g-;DV z7937IBXp~T9@ea=PfG}H*H52Evr~zWSs55@Jr#P_LhS7=jZEspm1eu>2n&5?QYJbW z$E3^BO3||;62F7y*^EthoH1t>KU;5GPNjAL%q|-)>(B$vnb@ex5 zyBdWeAIm%_o!Pv!*`aZ(=}R-7iR|^-{H{1g(F`W~iPuj@=GYYeKcK=3Jh%n>Bw7TY1e{Z@$KsMv^3%~G~rcS3TM((i<*@xm#MBJrIFX4k6# z|Ad9;Ymq%MH`#X#H|On4XFlz^kOLxErKG+Z23{z~;6lIY=>kk4ZjqfB4x=IT{@?d( z`^?uIpDnxK`WG#6sB|f!`Rf#cv}Ly zY>?gJOdg$;rvy*`{+=}<=`Q08VxHBSzJl@b*7tx!Twv&OdcW!F=1=6oojTqQ#uZ{| z(i3dI+c+lp!kk|5j~xL(*=O7k`|E(}$vAD)r7DC zNkTEprZHgx-Zj#ngGJTFtz zOZ~UynX>gFP$a#Kt$>Z$5GkR(R!yKc(?3K*H2lsGk@sE>Aq-N{W0o;m@3_A{!24~! zKZL@04ShTNSA-k#x@*2`1M!n;SJ?TrC223W4Cnq!ZqW(NhiGd!j`{W83vg>>o{;Dd z5@(M;G9X2*UX3|CNZ`Ttnrdb|k-t-QAhO8it5OxnQe0d9hCMNOmiEaI30(5h@qPpT zV=ZqMAM%E7#v*WdMIZ`hqno{KX6kk6fpqg_9)O2yp`qpIs(Q$pEwp`)fPch-(o0NZ z4W*0Mvr8GBuu)O#h&iowmdoctm-X}9Cg_Hzstm8T4nEcQ52&)knlE?J$@Fp(%v193 zhIdXCIdpYF)B34TvZ%jIl~Y-VpmEc!KK1`;KZX~;NoQ3TMz@MK)2a7(!gt~^;g2jh zZ{7X~>vXM##6Kn5Pd_U0rVfc}#Fc6@e*bnI%S{?}V0{e^3Vq-bRs7+Iku$}}3VW@c zsZGi-Wc1SzgHtp*X4J1#-hcW9{ba5O(GHZZgXw-`9jB6kMFm?pqV#VmA2LU>a}^%Z zUBK2G`hh`4VtS`5>~9DSNR2ztXDy9{?l{pyn1Ibi8ak~7KAi;TLDIn4Q5uF@7q8y$Z`&T z^}UyQBS)JP5Y7SoJ-<&iGBNiLIWG*&cW{wzF1@VN712rk!rRGlha4&su2LY4*Jb6j z(j$0Cj#i=CIkkxbOH1-jDm7m9@6$2O4_YM-3vS4hM-KRI9BoL5yL%!`=f0@d$88ys z281otpR}=r3Gg#WGkvvl-p`R({g)U*eyIZ*`cRC^jme08| zPe{s2H180n#PFfE5(aWzVK8FO*Ii!Tpa9#;4h{A?!IuDb-+D+A>Sy7tv(ltVVLT+2 z98Q#>YmJ@HPGdaFDP`(hyiA%n(+tfvzg}9f(^rTZSi)+%gjd3bIjU8TVaFb0~9hIr1&t5o=ma>ScqgEoBvPyG3U!am?eqUq8MKE zNWQqxY;@u=o=7m!#fV$8C~6pd`2CXprsO!Fy-Su+HIQBT(oqqYNiY%K_Ev@sg8?$6 z@Vm({$B%NInl=akvcv;*kul#zODA}r z$Dw3H`V(Ay-8xT5i-W)@Qyxli{WH~HcSypW!b73{G$ZFbGf+v9BwICeSvFjqoa)*v ziZV7iAmhmSPSXjFG5#TcnPZ}e9$`FX6vcgng}<(>1wSFb(RPhCa%5+iR_)hdm+4n`&u|`!TT8+n-uW0{uO;ZcOI>BcQ!}*8HlFqfZxay#j?uRViclvjLGT zlz~IbI-oI=&})8WY9yx#kNfYQC`(X_!T0Vxa$sA!;^81z2K>-)1|&*^FcRss30@MHvlvKl}T?!2K*lugLH-JfwC>=8{~3)Fr2L+5m(L zXp~d~7f&*Z7R2n4QoZ2p>LsDF9!8~fEeY>LIUef9eg#k%ns&&x%8%mMQil`Ol^2mR z#71@9Zq<7P;XN}8PaL=V|Fj>|x@V93%{$5OPZ5hbmKBsc@t8V(1@ll29*NsE0GrwP zaYg>gHu>7I4+i7F7D2&lovg&(39&at4@?i@!$G!DDb{8*A2hZ91Qy0V%lN!nQiFZt`Sdiek-j4cy>YP|=vz%01p7dR(}Bp;K@GM9un+W!?S zNp)P@kz^6$b<c`LkdDWdK ztK_D|DpgrpE=!$x%qU=j=XGH+qem%!tnV(xXx+VvW&61@_v<)OgBz}?HejXL0M8R_ zq@<}=K%9Dy_paA9UV7}LXNCGEM+6i?6FVY|Ry_U6Ub5cou7O<={22%daQ;IpEgc88 z_a6NvWhuZbBGo;~q@O)x7U{EZ@N%(TE7uMm>WQ?pt4TR=$sJ>`oV&*A8PBEdpM7qG z{Mx`g*nvw@6suifA#j}uzt&%%GavqyV}_qwL-O7@nSVD*KCd3g7xj*X;gV}3KkZ*T zj)ovEL~D?VZtYSp_+54>x~IVu6m^MB5TsLV`WtEpmp>r+?fz|Y|AKW<&c%np=o2)95lxKRkHGpcTtuio-=Yh> z{!FsL$QN~W(#{>n5rjn*hQ45Tb^p};PTenpt5+F`injLQf zbz;7VUS7^K73dBv88c#=h9qVoK zlU+rdL~V$Am{b$#fAwQRd(Jy%_v_OSzDM}IFzI(X^O(}XW;S20GC&-8P%5tVf?wV9 zQHm|U5fJp9gh1X?1wXc%WFPtQ#_LHUy>*RXvz^#uWB#mD4vDXCW7rB?!!RR6mRQWA zJwBWMt6)CiV}-+#hR`oxCoG=4FLaJd{tO0*0u{}?iOz{&DVWw&oU-ph3M<<(i|KfJ zN>FRUxaJ){P(;~$2TPNujX7bS%=w#Fp69+l!U>~v#cN+vo9FfjQenQ*7KG4nj0i}$ z!*u6qh^&yw1k*k7D(8T{&wlcA#ww_9D#BgLN2GPuBV1!267kT#$K;v!Eit??6GpEY zLYlidY=IzHn6AU^fIV|%oUKa?-cS8gL#Ai?;k1b22rd0qoyTJw>W1Y7;V@A?SoDaK zA?><8Sle?v78*qm5M8P8uh4m_yZ5|WhwXK|A6vc{SH4cBE|)E%Ygl*$^{!qVqFJ~C zJHNGJts4;@)BF30OMQTWVfZMG@E?QEni!Xs7$wX{^H)XfMg=uV@XHxkD=fM?>F!DKJ%C*Vua*``vz~;l)mfBFGnU0cRPJ8)KIotae8c4 zS71ImlA{3y?{%4NvmPSXpx#*XpVq-o>7R2<8_dYG)of*<igsLL#R!F@+YhPl20u&1q9(}m z#?Cs1i(CeUZdq(Fo$CSHa37@oyYKY(fx9u!?&pgdw)dN5NW?I|a#$w4aSxZXF!AuQ zKuO5#6p!;<+QGAF;Ech1p7qG{q(mR0^Z;b0Ts$_Y17HO=a8k0G_$kijt}7DWFH21J z8pM8g|7b1z>WJ%Q|2~K^b5CN(jFDPlRuAal1u%0gPek70yuST za!`+_@i>cdaLys-)^G&UxXU%d{>ukR+f+j`SoOTwF6SbT&z5#5Ef7kN933%pzuxW8 zAVKfkNi$035rdIpDj6+Ti6h>yfw#8x)%#xP4;gwIKO$j+?~lCcKmPz8akaQyp6UpA z=<4oTU34t#QT;$~^YSEvt7i;hUiYcDr|1ROUk2xu!{&f$&d+Z6Epj#3cYHYv*ZI4l z7FCNBy6W|w?N@d?wQcdYG_M%Nf6?cO34mXe%gFY90I2wZtY-DU`ytYSJS)2bQPIat zDrN%NCN{^?0vsY*yxmvo71Ct?@PWiDK>3+2C|0DY-G>*W-W2F{C$)n$a*W_;bcCT5 zUageMKWYyJ?T?Ss4ClJVAfBCQH+1{q8#g5w=%AD+OBo-B-|jfQ|J9F)c=Q1OL-DBr z>Z%t1`t^LFGmk;0nOVS$4nrQX&tMy93gqZ7goU;0xLPZbV22i5u~Rb^ZEFTtC)8gijm9EISUh;b+p6^~~Qj}b3O z@#{)}3Oy-9*u-QA0c~QiM5c3^J~!{dd?m-9$tA|*Gn}wrCNjV0L@6UUrMs?d1`JF% z5m=w2=xTlg@Nc{)ctwvsND8H~QV}5pA+O$VE=&U9Q5+f#a&?YU#?QJg!O^R|;8C$1 z)I9ivGs)MQ?dE+N4Or+F--kpJdo%hao#fiEU+|iM(S=(D7S#1TVs2y_ZH}~4EcD$mVBW&jG*9Z%Io*B2eQDnH6sv&+%L4YZHlqMUdWJBNjgg99! z!~4JbF|&^jY>W-Mvwhp-_yBx8z6>+3zb#5(oB7?#^YHzen=1K(Adi<#F9ymGdA zzHP!Sm;|c4o7ASwSvF9t7X>>-9v}QtlJ+Y$sw5oiZFbKgTOJo{<=3_tUyy>LbM<-X zC%EgNaAh%2klviMH`LQ7rXnfu(+>hEX9^*eV0T4K(?#8+y;|NDVJ?mx_y%?C?^RIe zbi1zdW0%MzWAvQ-u6V`up`?ZM&yNov)mM+DUu-f+*(11^WR~AX{;z(_6=9U^Jw|zN zP<$~yKe&eZ%wzP5Bu!78YH?we%VETCanWX3naqo&cTLyDHW>!#D0Z)TB9+~$l|7p> z(PSa`7yZ`zRMcMGDQvLl77-?upwg@)uMF_BVgZ6vXu;DTr1Ed_0&YN`O3RWbwGMfX z$UW6J!>``FW|GPFhi>76km{J14fjCxTw4M5Kwc>s90MBO#B)nD2X?fzFk=50bX zg)Io|Ej1p?ObC0=b>=a63fh*dGeISHn*n&86Q=suN!>*?1MKCSM$PGG)x(RE3Wh+qw`fK=ZX`Ph0$gI+o zhtIISkY$LzZ1`pNoFcQi4CsILV|ICh#9kfVHGiq9rJUXKnC{GD>e?Gw+~IY>old&J zg(aMpqh3M$f9+DKgf1;@tbM-w7in{v;7vcYNn9tVBt0=wGsIVYEV*BttsbtQZlmpC zLUS=FVda}#!3rx+t6MLA{mGo5aNBas6YQk`gxX`JixEXySNsc^YTk@1KD{U-{fvC* zCD_E`lM?wTwsdR&_`muwx}5yvSYwF*I(rKV!gjy=na4b7Tx3hEECV2Z5cM<5y5R1< zv{4T#BxoB{S6Oe~n}S3|7Mka7J!h9^X;IO=yr%kg@S|hH5I1od0$oE)9QiF-49Typ z!n?y($iEK?`2JTv#+Sgt?%B0ym(?=K6jObN_3U059dD1TcOs*ZTJi?Fs{7T51^W$( zD>g&5MExC7$XE;WzxpxTrE*A=z8~@0GFxa+Hh0+nul<;=#b$!MQF|=C6s>?2nnUKy zV`>gNbR_nC7(`76;Xb$m+sq?qBwTZdt$&VJkYMn~`)+ZGMjp1y zqhN&+*^xg%-FwU60jcQmcn3S87u@%?FybCHttVb{sg(=o(mdQ%vC!k9CN*dYXQ$m4 z6B`>0cTFbndoLb(#7ABY^a<`UFTJK_rT3gw@F@Q}qJlrmMzL&xmrSQ^W+lAo6hKiD z^qv+c)c>M^0Ta}ivkO?q#lMraauxN$G)E$ECe9G|#w$IrjWHaz zb-f)()cK!LhS@(1FSIKI&d)ZhOullpdUg*%k$t~S z$UA4?4XTccZSsC3|0XA0p4zw{u#h2T_nyVwzM`iM)f;%-myPYfH0LhSatwXlDQr3> zpsusoe~s(4-(Pb}#t>qYBRqdx-X*JDor)5nswJ~HnhDJM{w-=2j-)*Hcr^#5ZV4AM z@qeEV)36@2jXobP;#>GrXt>TH_M=5UbE}!Y*(uCK3phCxp5@r+xq7_=Uo#!%dN6*2 zBs`>vaf^iF^vih#dcu4e^@g&2*2Mb7CI0R+VPbW|d>XGQKXud6RvWb_aF$Lj(T4RzdC|EZThNnjJ3i31)yr8vRtv@qhhKrK z{GzXnL%DyL(!Wi-4=ifG?SHuC?4v#=C!t6#c59$hF>-4oddaf6;4eIuqzR2*#HoXR z!>PGn)euRH$f)%w$?eLV@CeV92nzQgz100?=iupdn{wKR;M%rZGLOs#z3V~e!6W_G zJbAy;Mm@Qn8`NYS<%^#yaNiKE5pT%@gy7Ruj97uu9O}A$5^xl&Da}ZV=a@0XKc}FH z6>jPaiY?J)cz-d>+c|a#4|@TZ68NYjco(36qkxa$cC5?Th)*QGX>USI=E$JIPVO*) zs?>m5sVNPN?uDpI6yN8Vljq~>h+?EWfZmscH4)faSS3_doCsRC7>{Ym&y<5h6+*d( z{4{+>B$FVb&A)Mq-(3x_VYl?GK8;hTKOT#0vyhlVxW`qx2jI};E3uKviD42(0%