From 0bf0e9d2932682359d414f9faf30c4aad62d47b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Wed, 29 Nov 2023 20:44:02 +0100 Subject: [PATCH 01/17] wallet-contract package --- Cargo.lock | 13 +- Cargo.toml | 1 + core/primitives/Cargo.toml | 1 - core/primitives/src/utils.rs | 7 - integration-tests/Cargo.toml | 1 + .../access_key_nonce_for_implicit_accounts.rs | 9 +- .../tests/client/features/delegate_action.rs | 2 +- runtime/near-wallet-contract/Cargo.toml | 22 + runtime/near-wallet-contract/LICENSE-APACHE | 1 + runtime/near-wallet-contract/LICENSE-MIT | 1 + runtime/near-wallet-contract/README.md | 21 + runtime/near-wallet-contract/build.rs | 69 + .../res/nightly_wallet_contract.wasm | Bin 0 -> 84755 bytes .../res/wallet_contract.wasm | Bin 0 -> 84755 bytes runtime/near-wallet-contract/src/lib.rs | 32 + .../wallet-contract/Cargo.lock | 1525 +++++++++++++++++ .../wallet-contract/Cargo.toml | 33 + .../wallet-contract/src/lib.rs | 18 + runtime/runtime/Cargo.toml | 2 + runtime/runtime/src/actions.rs | 7 +- 20 files changed, 1746 insertions(+), 19 deletions(-) create mode 100644 runtime/near-wallet-contract/Cargo.toml create mode 120000 runtime/near-wallet-contract/LICENSE-APACHE create mode 120000 runtime/near-wallet-contract/LICENSE-MIT create mode 100644 runtime/near-wallet-contract/README.md create mode 100644 runtime/near-wallet-contract/build.rs create mode 100755 runtime/near-wallet-contract/res/nightly_wallet_contract.wasm create mode 100755 runtime/near-wallet-contract/res/wallet_contract.wasm create mode 100644 runtime/near-wallet-contract/src/lib.rs create mode 100644 runtime/near-wallet-contract/wallet-contract/Cargo.lock create mode 100644 runtime/near-wallet-contract/wallet-contract/Cargo.toml create mode 100644 runtime/near-wallet-contract/wallet-contract/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index bf4c0ac7766..1f6a78552dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2844,6 +2844,7 @@ dependencies = [ "near-test-contracts", "near-undo-block", "near-vm-runner", + "near-wallet-contract", "nearcore", "node-runtime", "once_cell", @@ -4215,7 +4216,6 @@ dependencies = [ "thiserror", "time", "tracing", - "wat", ] [[package]] @@ -4664,6 +4664,16 @@ dependencies = [ "wast", ] +[[package]] +name = "near-wallet-contract" +version = "0.0.0" +dependencies = [ + "near-vm-runner", + "wasm-encoder 0.27.0", + "wasm-smith", + "wat", +] + [[package]] name = "nearcore" version = "0.0.0" @@ -4820,6 +4830,7 @@ dependencies = [ "near-store", "near-test-contracts", "near-vm-runner", + "near-wallet-contract", "num-bigint 0.3.3", "num-rational", "num-traits", diff --git a/Cargo.toml b/Cargo.toml index f6e0d1610fa..94d3545128d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -246,6 +246,7 @@ near-vm-test-generator = { path = "runtime/near-vm/test-generator" } near-vm-types = { path = "runtime/near-vm/types" } near-vm-vm = { path = "runtime/near-vm/vm" } near-vm-wast = { path = "runtime/near-vm/wast" } +near-wallet-contract = { path = "runtime/near-wallet-contract" } nix = "0.24" node-runtime = { path = "runtime/runtime" } num-bigint = "0.3" diff --git a/core/primitives/Cargo.toml b/core/primitives/Cargo.toml index 57025c21000..2509f8e7f36 100644 --- a/core/primitives/Cargo.toml +++ b/core/primitives/Cargo.toml @@ -39,7 +39,6 @@ strum.workspace = true thiserror.workspace = true time.workspace = true tracing.workspace = true -wat.workspace = true near-crypto.workspace = true near-fmt.workspace = true diff --git a/core/primitives/src/utils.rs b/core/primitives/src/utils.rs index b62f0a544b9..8ecea70816a 100644 --- a/core/primitives/src/utils.rs +++ b/core/primitives/src/utils.rs @@ -19,7 +19,6 @@ use crate::version::{ use near_crypto::{ED25519PublicKey, Secp256K1PublicKey}; use near_primitives_core::account::id::{AccountId, AccountType}; -use near_vm_runner::ContractCode; use std::mem::size_of; use std::ops::Deref; @@ -471,12 +470,6 @@ where Serializable(object) } -// TODO(eth-implicit) Replace this function (and wat dependency) with a real Wallet Contract implementation. -pub fn wallet_contract_placeholder() -> ContractCode { - let code = wat::parse_str(r#"(module (func (export "main")))"#); - ContractCode::new(code.unwrap().to_vec(), None) -} - /// From `near-account-id` version `1.0.0-alpha.2`, `is_implicit` returns true for ETH-implicit accounts. /// This function is a wrapper for `is_implicit` method so that we can easily differentiate its behavior /// based on whether ETH-implicit accounts are enabled. diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 7463a1af386..8bc7f68e47e 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -58,6 +58,7 @@ near-test-contracts.workspace = true near-performance-metrics.workspace = true near-undo-block.workspace = true near-vm-runner.workspace = true +near-wallet-contract.workspace = true nearcore.workspace = true node-runtime.workspace = true testlib.workspace = true diff --git a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs index 6b0f6daaf17..7e5dca362f5 100644 --- a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs +++ b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs @@ -19,11 +19,10 @@ use near_primitives::shard_layout::ShardLayout; use near_primitives::sharding::ChunkHash; use near_primitives::transaction::{Action, AddKeyAction, DeployContractAction, SignedTransaction}; use near_primitives::types::{AccountId, BlockHeight}; -use near_primitives::utils::{ - derive_eth_implicit_account_id, derive_near_implicit_account_id, wallet_contract_placeholder, -}; +use near_primitives::utils::{derive_eth_implicit_account_id, derive_near_implicit_account_id}; use near_primitives::version::{ProtocolFeature, ProtocolVersion, PROTOCOL_VERSION}; use near_primitives::views::FinalExecutionStatus; +use near_wallet_contract::wallet_contract; use nearcore::config::GenesisExt; use nearcore::test_utils::TestEnvNightshadeSetupExt; use nearcore::NEAR_BASE; @@ -251,7 +250,7 @@ fn test_transaction_from_eth_implicit_account_fail() { .nightshade_runtimes(&genesis) .build(); let genesis_block = env.clients[0].chain.get_block_by_height(0).unwrap(); - let deposit_for_account_creation = 10u128.pow(23); + let deposit_for_account_creation = 10 * nearcore::NEAR_BASE; let mut height = 1; let blocks_number = 5; let signer1 = InMemorySigner::from_seed("test1".parse().unwrap(), KeyType::ED25519, "test1"); @@ -324,7 +323,7 @@ fn test_transaction_from_eth_implicit_account_fail() { assert_eq!(response, expected_tx_error); // Try to deploy the Wallet Contract again to the ETH-implicit account. Should fail because there is no access key. - let wallet_contract_code = wallet_contract_placeholder().code().to_vec(); + let wallet_contract_code = wallet_contract().code().to_vec(); let add_access_key_to_eth_implicit_account_tx = SignedTransaction::from_actions( nonce, eth_implicit_account_id.clone(), diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index 5d90db2d7e8..920ae6009aa 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -887,7 +887,7 @@ fn meta_tx_create_implicit_account(new_account: AccountId) { node.view_account(&new_account).expect_err("account already exists"); let fee_helper = fee_helper(&node); - let initial_amount = nearcore::NEAR_BASE; + let initial_amount = 10 * nearcore::NEAR_BASE; let actions = vec![Action::Transfer(TransferAction { deposit: initial_amount })]; let tx_cost = match new_account.get_account_type() { diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml new file mode 100644 index 00000000000..23c6745f00b --- /dev/null +++ b/runtime/near-wallet-contract/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "near-wallet-contract" +version.workspace = true +authors.workspace = true +edition.workspace = true +rust-version.workspace = true +description = "A temporary Wallet Contract placeholder." +repository.workspace = true +license.workspace = true +publish = false + +[lints] +workspace = true + +[dependencies] +near-vm-runner.workspace = true +wat.workspace = true +wasm-encoder.workspace = true +wasm-smith.workspace = true + +[features] +nightly = [] diff --git a/runtime/near-wallet-contract/LICENSE-APACHE b/runtime/near-wallet-contract/LICENSE-APACHE new file mode 120000 index 00000000000..0eb30ff1b50 --- /dev/null +++ b/runtime/near-wallet-contract/LICENSE-APACHE @@ -0,0 +1 @@ +../../licenses/LICENSE-APACHE \ No newline at end of file diff --git a/runtime/near-wallet-contract/LICENSE-MIT b/runtime/near-wallet-contract/LICENSE-MIT new file mode 120000 index 00000000000..df3ae884029 --- /dev/null +++ b/runtime/near-wallet-contract/LICENSE-MIT @@ -0,0 +1 @@ +../../licenses/LICENSE-MIT \ No newline at end of file diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md new file mode 100644 index 00000000000..c1d765bd982 --- /dev/null +++ b/runtime/near-wallet-contract/README.md @@ -0,0 +1,21 @@ +A temporary (placeholder) implementation of the `Wallet Contract`. + +See https://github.com/near/NEPs/issues/518. + +Must not use in production! + +To use the contract you need to make sure that this crate was compiled. +The contract is built via `build.rs` and WASM file is generated to the `./res` directory. +You might want to `touch build.rs` before `cargo build` to force cargo to generate the WASM file. + +If you want to use the contract from rust core, add + +```toml +[dev-dependencies] +near-wallet-contract = { path = "../near-wallet-contract" } +``` + +to the Cargo.toml and use `near_wallet_contract::wallet_contract()`. + +If you want to use a contract from an integration test, you can read +the wasm file directly from the `./res` directory. diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs new file mode 100644 index 00000000000..b437f93c5f4 --- /dev/null +++ b/runtime/near-wallet-contract/build.rs @@ -0,0 +1,69 @@ +use std::process::Command; + +type Error = Box; + +fn main() { + if let Err(err) = try_main() { + eprintln!("{}", err); + std::process::exit(1); + } +} + +fn try_main() -> Result<(), Error> { + build_contract("./wallet-contract", &["--features", "latest_protocol"], "wallet_contract")?; + build_contract( + "./wallet-contract", + &["--features", "latest_protocol,nightly"], + "nightly_wallet_contract", + )?; + Ok(()) +} + +fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<(), Error> { + let target_dir = out_dir(); + + let mut cmd = cargo_build_cmd(&target_dir); + cmd.args(args); + cmd.current_dir(dir); + check_status(cmd)?; + + let src = + target_dir.join(format!("wasm32-unknown-unknown/release/{}.wasm", dir.replace('-', "_"))); + std::fs::copy(&src, format!("./res/{}.wasm", output)) + .map_err(|err| format!("failed to copy `{}`: {}", src.display(), err))?; + println!("cargo:rerun-if-changed=./{}/src/lib.rs", dir); + println!("cargo:rerun-if-changed=./{}/Cargo.toml", dir); + Ok(()) +} + +fn cargo_build_cmd(target_dir: &std::path::Path) -> Command { + let mut res = Command::new("cargo"); + + res.env_remove("CARGO_BUILD_RUSTFLAGS"); + res.env_remove("CARGO_ENCODED_RUSTFLAGS"); + res.env_remove("RUSTC_WORKSPACE_WRAPPER"); + + res.env("RUSTFLAGS", "-Dwarnings"); + res.env("CARGO_TARGET_DIR", target_dir); + + res.args(["build", "--target=wasm32-unknown-unknown", "--release"]); + + res +} + +fn check_status(mut cmd: Command) -> Result<(), Error> { + cmd.status() + .map_err(|err| format!("command `{cmd:?}` failed to run: {err}")) + .and_then(|status| { + if status.success() { + Ok(()) + } else { + Err(format!("command `{cmd:?}` exited with non-zero status: {status:?}")) + } + }) + .map_err(Error::from) +} + +fn out_dir() -> std::path::PathBuf { + std::env::var("OUT_DIR").unwrap().into() +} diff --git a/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm b/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm new file mode 100755 index 0000000000000000000000000000000000000000..55eaf301197b5188304c1910632968d7adcef1c4 GIT binary patch literal 84755 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 SFqeSKMcB7t{(yN5^M3$fv?K2T literal 0 HcmV?d00001 diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm new file mode 100755 index 0000000000000000000000000000000000000000..2d543deef9b4bd494f2d538bae8348fd2bc0128b GIT binary patch literal 84755 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

) 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 ContractCode { + read_contract("wallet_contract.wasm") +} + +/// Temporary (placeholder) Wallet Contract that has access to all host functions from +/// the nightly protocol. +pub fn nightly_wallet_contract() -> ContractCode { + read_contract("nightly_wallet_contract.wasm") +} + +/// Read given wasm file or panic if unable to. +fn read_contract(file_name: &str) -> ContractCode { + let base = Path::new(env!("CARGO_MANIFEST_DIR")); + let path = base.join("res").join(file_name); + let code = match std::fs::read(&path) { + Ok(data) => data, + Err(err) => panic!("{}: {}", path.display(), err), + }; + ContractCode::new(code, None) +} + +#[test] +fn smoke_test() { + assert!(!wallet_contract().code().is_empty()); + assert!(!nightly_wallet_contract().code().is_empty()); +} diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.lock b/runtime/near-wallet-contract/wallet-contract/Cargo.lock new file mode 100644 index 00000000000..da8e6da6d49 --- /dev/null +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.lock @@ -0,0 +1,1525 @@ +# 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" + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.11", + "once_cell", + "version_check", +] + +[[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 = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "borsh" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +dependencies = [ + "borsh-derive", + "hashbrown 0.11.2", +] + +[[package]] +name = "borsh-derive" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytesize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[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.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +dependencies = [ + "libc", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[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 = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", +] + +[[package]] +name = "dyn-clone" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" + +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[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.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "iana-time-zone" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +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 = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[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 = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + +[[package]] +name = "itoa" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" + +[[package]] +name = "js-sys" +version = "0.3.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + +[[package]] +name = "near-abi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "885db39b08518fa700b73fa2214e8adbbfba316ba82dd510f50519173eadaf73" +dependencies = [ + "borsh", + "schemars", + "semver", + "serde", +] + +[[package]] +name = "near-account-id" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d258582a1878e6db67400b0504a5099db85718d22c2e07f747fe1706ae7150" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e75673d69fd7365508f3d32483669fe45b03bfb34e4d9363e90adae9dfb416c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "near-account-id", + "once_cell", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad1a9a1640539c81f065425c31bffcfbf6b31ef1aeaade59ce905f5df6ac860" +dependencies = [ + "borsh", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "once_cell", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "serde", + "serde_json", + "smart-default", + "strum", + "thiserror", +] + +[[package]] +name = "near-primitives-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91d508f0fc340f6461e4e256417685720d3c4c00bb5a939b105160e49137caba" +dependencies = [ + "base64 0.11.0", + "borsh", + "bs58", + "derive_more", + "near-account-id", + "num-rational", + "serde", + "sha2 0.10.8", + "strum", +] + +[[package]] +name = "near-rpc-error-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ee0b41c75ef859c193a8ff1dadfa0c8207bc0ac447cc22259721ad769a1408" +dependencies = [ + "quote", + "serde", + "syn 1.0.109", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e837bd4bacd807073ec5ceb85708da7f721b46a4c2a978de86027fb0034ce31" +dependencies = [ + "near-rpc-error-core", + "serde", + "syn 1.0.109", +] + +[[package]] +name = "near-sdk" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15eb3de2defe3626260cc209a6cdb985c6b27b0bd4619fad97dcfae002c3c5bd" +dependencies = [ + "base64 0.13.1", + "borsh", + "bs58", + "near-abi", + "near-crypto", + "near-primitives", + "near-primitives-core", + "near-sdk-macros", + "near-sys", + "near-vm-logic", + "once_cell", + "schemars", + "serde", + "serde_json", + "wee_alloc", +] + +[[package]] +name = "near-sdk-macros" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4907affc9f5ed559456509188ff0024f1f2099c0830e6bdb66eb61d5b75912c0" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "near-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397688591acf8d3ebf2c2485ba32d4b24fc10aad5334e3ad8ec0b7179bfdf06b" + +[[package]] +name = "near-vm-errors" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0da466a30f0446639cbd788c30865086fac3e8dcb07a79e51d2b0775ed4261e" +dependencies = [ + "borsh", + "near-account-id", + "near-rpc-error-macro", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b534828419bacbf1f7b11ef7b00420f248c548c485d3f0cfda8bb6931152f2" +dependencies = [ + "base64 0.13.1", + "borsh", + "bs58", + "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", + "near-primitives-core", + "near-vm-errors", + "ripemd", + "serde", + "sha2 0.10.8", + "sha3", + "zeropool-bn", +] + +[[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-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.4", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[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", +] + +[[package]] +name = "proc-macro2" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[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 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.11", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + +[[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 = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" + +[[package]] +name = "schemars" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", +] + +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" + +[[package]] +name = "serde" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "serde_json" +version = "1.0.62" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if 1.0.0", + "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 = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[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.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[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 = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wallet-contract" +version = "0.1.0" +dependencies = [ + "base64 0.21.0", + "near-sdk", + "serde_json", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[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.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" + +[[package]] +name = "wee_alloc" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "memory_units", + "winapi", +] + +[[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-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[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_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[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_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[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_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +dependencies = [ + "memchr", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +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.39", +] + +[[package]] +name = "zeropool-bn" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e61de68ede9ffdd69c01664f65a178c5188b73f78faa21f0936016a888ff7c" +dependencies = [ + "borsh", + "byteorder", + "crunchy", + "lazy_static", + "rand 0.8.5", + "rustc-hex", +] diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.toml b/runtime/near-wallet-contract/wallet-contract/Cargo.toml new file mode 100644 index 00000000000..71b037f5c6a --- /dev/null +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "wallet-contract" +version = "0.1.0" +authors = ["Near Inc "] +publish = false +edition = "2021" + +[lib] +crate-type = ["cdylib"] + +[dependencies] +base64 = "0.21" +serde_json = "1" +near-sdk = "4.1.1" + +[profile.release] +codegen-units = 1 +# Tell `rustc` to optimize for small code size. +opt-level = "z" +strip = true +lto = true +debug = false +panic = "abort" +rpath = false +debug-assertions = false +incremental = false + +[workspace] +members = [] + +[features] +nightly = [] +latest_protocol = [] diff --git a/runtime/near-wallet-contract/wallet-contract/src/lib.rs b/runtime/near-wallet-contract/wallet-contract/src/lib.rs new file mode 100644 index 00000000000..aced207aadf --- /dev/null +++ b/runtime/near-wallet-contract/wallet-contract/src/lib.rs @@ -0,0 +1,18 @@ +//! Temporary implementation of the Wallet Contract. +//! See https://github.com/near/NEPs/issues/518. +//! Must not use in production! + +// TODO(eth-implicit) Change to a real Wallet Contract implementation. +use near_sdk::borsh::{self, BorshDeserialize, BorshSerialize}; +use near_sdk::{near_bindgen, AccountId, Promise, Balance}; + +#[near_bindgen] +#[derive(Default, BorshDeserialize, BorshSerialize)] +pub struct WalletContract { } + +#[near_bindgen] +impl WalletContract { + pub fn transfer(&self, to: AccountId, amount: Balance){ + Promise::new(to).transfer(amount); + } +} diff --git a/runtime/runtime/Cargo.toml b/runtime/runtime/Cargo.toml index ed5cdb4f37b..d945d11477b 100644 --- a/runtime/runtime/Cargo.toml +++ b/runtime/runtime/Cargo.toml @@ -33,6 +33,7 @@ near-primitives.workspace = true near-primitives-core.workspace = true near-store.workspace = true near-vm-runner.workspace = true +near-wallet-contract.workspace = true [features] nightly = [ @@ -73,4 +74,5 @@ tempfile.workspace = true near-chain-configs.workspace = true near-store = { workspace = true, features = ["test_features"] } near-test-contracts.workspace = true +near-wallet-contract.workspace = true testlib.workspace = true diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 7b4e63509b5..7d311601b9a 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -22,9 +22,7 @@ use near_primitives::transaction::{ }; use near_primitives::types::validator_stake::ValidatorStake; use near_primitives::types::{AccountId, BlockHeight, EpochInfoProvider, Gas, TrieCacheMode}; -use near_primitives::utils::{ - account_is_implicit, create_random_seed, wallet_contract_placeholder, -}; +use near_primitives::utils::{account_is_implicit, create_random_seed}; use near_primitives::version::{ ProtocolFeature, ProtocolVersion, DELETE_KEY_STORAGE_USAGE_PROTOCOL_VERSION, }; @@ -41,6 +39,7 @@ use near_vm_runner::logic::types::PromiseResult; use near_vm_runner::logic::{VMContext, VMOutcome}; use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; +use near_wallet_contract::wallet_contract; /// Runs given function call with given context / apply state. pub(crate) fn execute_function_call( @@ -479,7 +478,7 @@ pub(crate) fn action_implicit_account_creation_transfer( AccountType::EthImplicitAccount => { if checked_feature!("stable", EthImplicitAccounts, current_protocol_version) { // TODO(eth-implicit) Use real Wallet Contract. - let wallet_contract = wallet_contract_placeholder(); + let wallet_contract = wallet_contract(); let storage_usage = fee_config.storage_usage_config.num_bytes_account + fee_config.storage_usage_config.num_extra_bytes_record + wallet_contract.code().len() as u64; From 7b0a69c907be89a4a50ebb830189811feb380cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 7 Dec 2023 15:52:37 +0100 Subject: [PATCH 02/17] Test Wallet Contract --- Cargo.lock | 723 ++++++-- Cargo.toml | 4 + integration-tests/Cargo.toml | 1 + .../tests/client/features/delegate_action.rs | 79 +- .../src/tests/standard_cases/mod.rs | 2 +- .../src/tests/standard_cases/runtime.rs | 4 +- .../lib/compiler-test-derive/src/lib.rs.orig | 3 - runtime/near-wallet-contract/Cargo.toml | 2 +- runtime/near-wallet-contract/LICENSE-APACHE | 1 - runtime/near-wallet-contract/LICENSE-MIT | 1 - runtime/near-wallet-contract/README.md | 1 - runtime/near-wallet-contract/build.rs | 8 +- .../res/nightly_wallet_contract.wasm | Bin 84755 -> 346006 bytes .../res/wallet_contract.wasm | Bin 84755 -> 347821 bytes .../wallet-contract/Cargo.lock | 1525 ----------------- .../wallet-contract/Cargo.toml | 36 +- .../wallet-contract/src/lib.rs | 44 +- runtime/runtime/src/actions.rs | 2 +- 18 files changed, 734 insertions(+), 1702 deletions(-) delete mode 120000 runtime/near-wallet-contract/LICENSE-APACHE delete mode 120000 runtime/near-wallet-contract/LICENSE-MIT delete mode 100644 runtime/near-wallet-contract/wallet-contract/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index 1f6a78552dd..daecb8fc7f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,12 @@ # 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" + [[package]] name = "actix" version = "0.13.0" @@ -434,6 +440,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "assert_matches" version = "1.5.0" @@ -581,6 +593,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.12.3" @@ -665,16 +683,28 @@ dependencies = [ "typenum", ] +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty 1.1.0", + "radium 0.6.2", + "tap", + "wyz 0.2.0", +] + [[package]] name = "bitvec" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "funty", - "radium", + "funty 2.0.0", + "radium 0.7.0", "tap", - "wyz", + "wyz 0.5.1", ] [[package]] @@ -695,7 +725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -703,6 +733,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.5", +] + [[package]] name = "block-buffer" version = "0.10.2" @@ -908,6 +947,12 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + [[package]] name = "bytecheck" version = "0.6.8" @@ -1067,10 +1112,10 @@ dependencies = [ "log", "near-async", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-network", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "openssl-probe", @@ -1234,7 +1279,7 @@ dependencies = [ "clap", "near-chain-configs", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "rand 0.8.5", @@ -1645,6 +1690,19 @@ dependencies = [ "memchr", ] +[[package]] +name = "curve25519-dalek" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -1827,7 +1885,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer", + "block-buffer 0.10.2", "crypto-common", "subtle", ] @@ -1870,6 +1928,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" +[[package]] +name = "dyn-clone" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" + [[package]] name = "dynasm" version = "1.2.3" @@ -1929,13 +1993,36 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature 1.6.4", +] + [[package]] name = "ed25519" version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "signature", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.1", + "ed25519 1.5.3", + "rand 0.7.3", + "serde", + "sha2 0.9.9", + "zeroize", ] [[package]] @@ -1944,10 +2031,10 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" dependencies = [ - "curve25519-dalek", - "ed25519", + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", "rand_core 0.6.4", - "sha2", + "sha2 0.10.6", "subtle", ] @@ -2123,7 +2210,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d81b511929c2669eaf64e36471cf27c2508133e62ade9d49e608e8d675e7854" dependencies = [ - "bitvec", + "bitvec 1.0.1", "dissimilar", "num-traits", "prefix-sum-vec", @@ -2145,6 +2232,9 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", "static_assertions", ] @@ -2218,6 +2308,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + [[package]] name = "funty" version = "2.0.0" @@ -2362,9 +2458,9 @@ dependencies = [ "clap", "csv", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-network", - "near-primitives", + "near-primitives 0.0.0", "nearcore", "serde", "serde_json", @@ -2380,9 +2476,9 @@ dependencies = [ "indicatif", "near-chain", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "near-test-contracts", "near-vm-runner", @@ -2739,6 +2835,26 @@ dependencies = [ "version_check", ] +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[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.103", +] + [[package]] name = "indexer-example" version = "0.0.0" @@ -2827,7 +2943,7 @@ dependencies = [ "near-chunks", "near-client", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-fmt", "near-jsonrpc", @@ -2836,8 +2952,8 @@ dependencies = [ "near-network", "near-o11y", "near-performance-metrics", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-stdx", "near-store", "near-telemetry", @@ -2851,6 +2967,7 @@ dependencies = [ "parking_lot 0.12.1", "primitive-types", "rand 0.8.5", + "rlp", "serde", "serde_json", "smart-default", @@ -2955,7 +3072,7 @@ name = "keypair-generator" version = "0.0.0" dependencies = [ "clap", - "near-crypto", + "near-crypto 0.0.0", "nearcore", ] @@ -3292,6 +3409,12 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "mime" version = "0.3.16" @@ -3368,14 +3491,14 @@ dependencies = [ "near-chain-configs", "near-chunks", "near-client", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-jsonrpc", "near-jsonrpc-client", "near-network", "near-o11y", "near-performance-metrics", - "near-primitives", + "near-primitives 0.0.0", "near-store", "near-telemetry", "nearcore", @@ -3419,6 +3542,28 @@ dependencies = [ "tempfile", ] +[[package]] +name = "near-abi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "885db39b08518fa700b73fa2214e8adbbfba316ba82dd510f50519173eadaf73" +dependencies = [ + "borsh 0.9.3", + "schemars", + "semver 1.0.9", + "serde", +] + +[[package]] +name = "near-account-id" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d258582a1878e6db67400b0504a5099db85718d22c2e07f747fe1706ae7150" +dependencies = [ + "borsh 0.9.3", + "serde", +] + [[package]] name = "near-account-id" version = "1.0.0-alpha.4" @@ -3448,11 +3593,11 @@ dependencies = [ "clap", "near-chain", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-network", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-store", "near-test-contracts", "nearcore", @@ -3474,7 +3619,7 @@ dependencies = [ "futures", "near-o11y", "near-performance-metrics", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "serde", "serde_json", @@ -3511,14 +3656,14 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-network", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives", + "near-primitives 0.0.0", "near-store", "num-rational", "once_cell", @@ -3540,14 +3685,14 @@ dependencies = [ "chrono", "derive_more", "near-config-utils", - "near-crypto", + "near-crypto 0.0.0", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "num-rational", "once_cell", "serde", "serde_json", - "sha2", + "sha2 0.10.6", "smart-default", "tracing", ] @@ -3557,8 +3702,8 @@ name = "near-chain-primitives" version = "0.0.0" dependencies = [ "chrono", - "near-crypto", - "near-primitives", + "near-crypto 0.0.0", + "near-primitives 0.0.0", "thiserror", "tracing", ] @@ -3580,14 +3725,14 @@ dependencies = [ "near-chain", "near-chain-configs", "near-chunks-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-network", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives", + "near-primitives 0.0.0", "near-store", "once_cell", "rand 0.8.5", @@ -3602,7 +3747,7 @@ name = "near-chunks-primitives" version = "0.0.0" dependencies = [ "near-chain-primitives", - "near-primitives", + "near-primitives 0.0.0", ] [[package]] @@ -3628,7 +3773,7 @@ dependencies = [ "near-chain-primitives", "near-chunks", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-dyn-configs", "near-epoch-manager", "near-network", @@ -3636,7 +3781,7 @@ dependencies = [ "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives", + "near-primitives 0.0.0", "near-store", "near-telemetry", "num-rational", @@ -3667,8 +3812,8 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-chunks-primitives", - "near-crypto", - "near-primitives", + "near-crypto 0.0.0", + "near-primitives 0.0.0", "serde", "serde_json", "strum", @@ -3695,12 +3840,12 @@ dependencies = [ "borsh 1.0.0", "bs58", "c2-chacha", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "derive_more", - "ed25519-dalek", + "ed25519-dalek 2.1.0", "hex", "hex-literal", - "near-account-id", + "near-account-id 1.0.0-alpha.4", "near-config-utils", "near-stdx", "once_cell", @@ -3709,12 +3854,38 @@ dependencies = [ "secp256k1", "serde", "serde_json", - "sha2", + "sha2 0.10.6", "subtle", "tempfile", "thiserror", ] +[[package]] +name = "near-crypto" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e75673d69fd7365508f3d32483669fe45b03bfb34e4d9363e90adae9dfb416c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.3", + "bs58", + "c2-chacha", + "curve25519-dalek 3.2.1", + "derive_more", + "ed25519-dalek 1.0.1", + "near-account-id 0.14.0", + "once_cell", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + [[package]] name = "near-database-tool" version = "0.0.0" @@ -3726,7 +3897,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "rand 0.8.5", @@ -3743,7 +3914,7 @@ dependencies = [ "anyhow", "near-chain-configs", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "prometheus", "serde", @@ -3763,8 +3934,8 @@ dependencies = [ "near-cache", "near-chain-configs", "near-chain-primitives", - "near-crypto", - "near-primitives", + "near-crypto 0.0.0", + "near-primitives 0.0.0", "near-store", "num-rational", "primitive-types", @@ -3784,7 +3955,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "tracing", @@ -3800,7 +3971,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "rayon", @@ -3812,7 +3983,7 @@ dependencies = [ name = "near-fmt" version = "0.0.0" dependencies = [ - "near-primitives-core", + "near-primitives-core 0.0.0", ] [[package]] @@ -3826,11 +3997,11 @@ dependencies = [ "hex", "near-chain", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-mirror", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "rayon", @@ -3850,11 +4021,11 @@ dependencies = [ "futures", "near-chain-configs", "near-client", - "near-crypto", + "near-crypto 0.0.0", "near-dyn-configs", "near-indexer-primitives", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "node-runtime", @@ -3870,7 +4041,7 @@ dependencies = [ name = "near-indexer-primitives" version = "0.0.0" dependencies = [ - "near-primitives", + "near-primitives 0.0.0", "serde", "serde_json", ] @@ -3894,8 +4065,8 @@ dependencies = [ "near-jsonrpc-primitives", "near-network", "near-o11y", - "near-primitives", - "near-rpc-error-macro", + "near-primitives 0.0.0", + "near-rpc-error-macro 0.0.0", "once_cell", "serde", "serde_json", @@ -3910,7 +4081,7 @@ name = "near-jsonrpc-adversarial-primitives" version = "0.0.0" dependencies = [ "near-network", - "near-primitives", + "near-primitives 0.0.0", "serde", ] @@ -3922,7 +4093,7 @@ dependencies = [ "awc", "futures", "near-jsonrpc-primitives", - "near-primitives", + "near-primitives 0.0.0", "serde", "serde_json", ] @@ -3938,7 +4109,7 @@ dependencies = [ "near-jsonrpc", "near-jsonrpc-primitives", "near-jsonrpc-tests", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "serde", "serde_json", @@ -3952,9 +4123,9 @@ dependencies = [ "arbitrary", "near-chain-configs", "near-client-primitives", - "near-crypto", - "near-primitives", - "near-rpc-error-macro", + "near-crypto 0.0.0", + "near-primitives 0.0.0", + "near-rpc-error-macro 0.0.0", "serde", "serde_json", "thiserror", @@ -3971,12 +4142,12 @@ dependencies = [ "near-actix-test-utils", "near-chain-configs", "near-client", - "near-crypto", + "near-crypto 0.0.0", "near-jsonrpc", "near-jsonrpc-primitives", "near-network", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "once_cell", "serde", @@ -3987,9 +4158,9 @@ dependencies = [ name = "near-mainnet-res" version = "0.0.0" dependencies = [ - "near-account-id", + "near-account-id 1.0.0-alpha.4", "near-chain-configs", - "near-primitives", + "near-primitives 0.0.0", "serde_json", ] @@ -4003,7 +4174,7 @@ dependencies = [ "borsh 1.0.0", "bs58", "clap", - "ed25519-dalek", + "ed25519-dalek 2.1.0", "hex", "hkdf", "near-chain", @@ -4011,14 +4182,14 @@ dependencies = [ "near-chain-primitives", "near-client", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-indexer", "near-indexer-primitives", "near-network", "near-o11y", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-store", "nearcore", "once_cell", @@ -4028,7 +4199,7 @@ dependencies = [ "secp256k1", "serde", "serde_json", - "sha2", + "sha2 0.10.6", "strum", "thiserror", "tokio", @@ -4057,12 +4228,12 @@ dependencies = [ "itertools", "lru", "near-async", - "near-crypto", + "near-crypto 0.0.0", "near-fmt", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", - "near-primitives", + "near-primitives 0.0.0", "near-stable-hasher", "near-store", "once_cell", @@ -4100,9 +4271,9 @@ dependencies = [ "bencher", "clap", "itoa", - "near-crypto", + "near-crypto 0.0.0", "near-fmt", - "near-primitives-core", + "near-primitives-core 0.0.0", "once_cell", "opentelemetry", "opentelemetry-otlp", @@ -4157,7 +4328,7 @@ dependencies = [ "near-jsonrpc", "near-network", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "prometheus", "tokio", @@ -4169,9 +4340,9 @@ name = "near-pool" version = "0.0.0" dependencies = [ "borsh 1.0.0", - "near-crypto", + "near-crypto 0.0.0", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "rand 0.8.5", ] @@ -4193,11 +4364,11 @@ dependencies = [ "enum-map", "hex", "insta", - "near-crypto", + "near-crypto 0.0.0", "near-fmt", "near-o11y", - "near-primitives-core", - "near-rpc-error-macro", + "near-primitives-core 0.0.0", + "near-rpc-error-macro 0.0.0", "near-stdx", "near-vm-runner", "num-rational", @@ -4218,6 +4389,35 @@ dependencies = [ "tracing", ] +[[package]] +name = "near-primitives" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad1a9a1640539c81f065425c31bffcfbf6b31ef1aeaade59ce905f5df6ac860" +dependencies = [ + "borsh 0.9.3", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.14.0", + "near-primitives-core 0.14.0", + "near-rpc-error-macro 0.14.0", + "near-vm-errors", + "num-rational", + "once_cell", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "serde", + "serde_json", + "smart-default", + "strum", + "thiserror", +] + [[package]] name = "near-primitives-core" version = "0.0.0" @@ -4229,17 +4429,34 @@ dependencies = [ "derive_more", "enum-map", "insta", - "near-account-id", + "near-account-id 1.0.0-alpha.4", "num-rational", "serde", "serde_json", "serde_repr", "serde_with", - "sha2", + "sha2 0.10.6", "strum", "thiserror", ] +[[package]] +name = "near-primitives-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91d508f0fc340f6461e4e256417685720d3c4c00bb5a939b105160e49137caba" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.3", + "bs58", + "derive_more", + "near-account-id 0.14.0", + "num-rational", + "serde", + "sha2 0.10.6", + "strum", +] + [[package]] name = "near-rosetta-rpc" version = "0.0.0" @@ -4253,15 +4470,15 @@ dependencies = [ "futures", "hex", "insta", - "near-account-id", + "near-account-id 1.0.0-alpha.4", "near-actix-test-utils", "near-chain-configs", "near-client", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-network", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "node-runtime", "paperclip", "serde", @@ -4282,17 +4499,74 @@ dependencies = [ "syn 2.0.32", ] +[[package]] +name = "near-rpc-error-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ee0b41c75ef859c193a8ff1dadfa0c8207bc0ac447cc22259721ad769a1408" +dependencies = [ + "quote", + "serde", + "syn 1.0.103", +] + [[package]] name = "near-rpc-error-macro" version = "0.0.0" dependencies = [ "fs2", - "near-rpc-error-core", + "near-rpc-error-core 0.0.0", "serde", "serde_json", "syn 2.0.32", ] +[[package]] +name = "near-rpc-error-macro" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e837bd4bacd807073ec5ceb85708da7f721b46a4c2a978de86027fb0034ce31" +dependencies = [ + "near-rpc-error-core 0.14.0", + "serde", + "syn 1.0.103", +] + +[[package]] +name = "near-sdk" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15eb3de2defe3626260cc209a6cdb985c6b27b0bd4619fad97dcfae002c3c5bd" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.3", + "bs58", + "near-abi", + "near-crypto 0.14.0", + "near-primitives 0.14.0", + "near-primitives-core 0.14.0", + "near-sdk-macros", + "near-sys", + "near-vm-logic", + "once_cell", + "schemars", + "serde", + "serde_json", + "wee_alloc", +] + +[[package]] +name = "near-sdk-macros" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4907affc9f5ed559456509188ff0024f1f2099c0830e6bdb66eb61d5b75912c0" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 1.0.103", +] + [[package]] name = "near-stable-hasher" version = "0.0.0" @@ -4309,9 +4583,9 @@ dependencies = [ "near-network", "near-o11y", "near-ping", - "near-primitives", + "near-primitives 0.0.0", "once_cell", - "sha2", + "sha2 0.10.6", "tokio", "tracing", ] @@ -4329,8 +4603,8 @@ dependencies = [ "near-client", "near-jsonrpc", "near-o11y", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-store", "nearcore", "once_cell", @@ -4367,10 +4641,10 @@ dependencies = [ "near-chain", "near-chain-configs", "near-chunks", - "near-crypto", + "near-crypto 0.0.0", "near-fmt", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-stdx", "near-vm-runner", "num_cpus", @@ -4388,6 +4662,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "near-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397688591acf8d3ebf2c2485ba32d4b24fc10aad5334e3ad8ec0b7179bfdf06b" + [[package]] name = "near-telemetry" version = "0.0.0" @@ -4398,7 +4678,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", - "near-primitives", + "near-primitives 0.0.0", "once_cell", "openssl", "serde", @@ -4428,7 +4708,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "tracing", @@ -4508,6 +4788,40 @@ dependencies = [ "tracing", ] +[[package]] +name = "near-vm-errors" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0da466a30f0446639cbd788c30865086fac3e8dcb07a79e51d2b0775ed4261e" +dependencies = [ + "borsh 0.9.3", + "near-account-id 0.14.0", + "near-rpc-error-macro 0.14.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b534828419bacbf1f7b11ef7b00420f248c548c485d3f0cfda8bb6931152f2" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.3", + "bs58", + "byteorder", + "near-account-id 0.14.0", + "near-crypto 0.14.0", + "near-primitives 0.14.0", + "near-primitives-core 0.14.0", + "near-vm-errors", + "ripemd", + "serde", + "sha2 0.10.6", + "sha3", + "zeropool-bn", +] + [[package]] name = "near-vm-runner" version = "0.0.0" @@ -4519,16 +4833,16 @@ dependencies = [ "bolero", "borsh 1.0.0", "clap", - "ed25519-dalek", + "ed25519-dalek 2.1.0", "enum-map", "expect-test", "finite-wasm", "hex", "loupe", "memoffset 0.8.0", - "near-crypto", - "near-primitives", - "near-primitives-core", + "near-crypto 0.0.0", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-stdx", "near-test-contracts", "near-vm-compiler", @@ -4549,7 +4863,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_with", - "sha2", + "sha2 0.10.6", "sha3", "strum", "thiserror", @@ -4577,7 +4891,7 @@ version = "0.0.0" dependencies = [ "arbitrary", "libfuzzer-sys", - "near-primitives", + "near-primitives 0.0.0", "near-test-contracts", "near-vm-runner", "wasm-smith", @@ -4702,7 +5016,7 @@ dependencies = [ "near-client", "near-client-primitives", "near-config-utils", - "near-crypto", + "near-crypto 0.0.0", "near-dyn-configs", "near-epoch-manager", "near-jsonrpc", @@ -4712,7 +5026,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-pool", - "near-primitives", + "near-primitives 0.0.0", "near-rosetta-rpc", "near-store", "near-telemetry", @@ -4753,7 +5067,7 @@ dependencies = [ "near-chain-configs", "near-client", "near-config-utils", - "near-crypto", + "near-crypto 0.0.0", "near-database-tool", "near-dyn-configs", "near-epoch-sync-tool", @@ -4765,7 +5079,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-ping", - "near-primitives", + "near-primitives 0.0.0", "near-state-parts", "near-state-parts-dump-check", "near-store", @@ -4823,10 +5137,10 @@ dependencies = [ "hex", "indicatif", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-o11y", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-store", "near-test-contracts", "near-vm-runner", @@ -4839,7 +5153,7 @@ dependencies = [ "rayon", "serde", "serde_json", - "sha2", + "sha2 0.10.6", "tempfile", "testlib", "thiserror", @@ -5185,6 +5499,44 @@ dependencies = [ "syn 1.0.103", ] +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.4", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.103", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + [[package]] name = "parity-wasm" version = "0.41.0" @@ -5416,6 +5768,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" dependencies = [ "fixed-hash", + "impl-codec", "uint", ] @@ -5651,6 +6004,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + [[package]] name = "radium" version = "0.7.0" @@ -5942,10 +6301,10 @@ version = "0.0.0" dependencies = [ "clap", "integration-tests", - "near-crypto", + "near-crypto 0.0.0", "near-jsonrpc-client", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "nearcore", "tokio", ] @@ -6008,6 +6367,15 @@ dependencies = [ "libc", ] +[[package]] +name = "rlp" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73" +dependencies = [ + "rustc-hex", +] + [[package]] name = "rocksdb" version = "0.21.0" @@ -6036,10 +6404,10 @@ dependencies = [ "insta", "libc", "near-chain-configs", - "near-crypto", + "near-crypto 0.0.0", "near-fmt", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "near-test-contracts", "near-vm-runner", @@ -6069,10 +6437,10 @@ dependencies = [ "near-chain-configs", "near-client", "near-client-primitives", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "near-test-contracts", "nearcore", @@ -6141,7 +6509,7 @@ dependencies = [ "serde", "serde-xml-rs", "serde_derive", - "sha2", + "sha2 0.10.6", "thiserror", "time", "tokio", @@ -6276,6 +6644,30 @@ dependencies = [ "winapi", ] +[[package]] +name = "schemars" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.103", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -6411,6 +6803,17 @@ dependencies = [ "syn 2.0.32", ] +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.103", +] + [[package]] name = "serde_ignored" version = "0.1.3" @@ -6535,6 +6938,19 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha2" version = "0.10.6" @@ -6607,6 +7023,12 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + [[package]] name = "signature" version = "2.2.0" @@ -6709,7 +7131,7 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-epoch-manager", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "serde", @@ -6750,12 +7172,12 @@ dependencies = [ "near-chain", "near-chain-configs", "near-client", - "near-crypto", + "near-crypto 0.0.0", "near-epoch-manager", "near-network", "near-o11y", - "near-primitives", - "near-primitives-core", + "near-primitives 0.0.0", + "near-primitives-core 0.0.0", "near-store", "near-test-contracts", "nearcore", @@ -6790,7 +7212,7 @@ dependencies = [ "anyhow", "near-chain-configs", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "node-runtime", "serde_json", @@ -6808,7 +7230,7 @@ dependencies = [ "near-client", "near-epoch-manager", "near-o11y", - "near-primitives", + "near-primitives 0.0.0", "near-store", "nearcore", "serde_json", @@ -6979,8 +7401,8 @@ version = "0.0.0" dependencies = [ "near-chain", "near-chain-configs", - "near-crypto", - "near-primitives", + "near-crypto 0.0.0", + "near-primitives 0.0.0", "near-test-contracts", "node-runtime", "once_cell", @@ -7628,6 +8050,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "wallet-contract" +version = "0.0.0" +dependencies = [ + "hex", + "near-sdk", + "rlp", + "serde_json", +] + [[package]] name = "want" version = "0.3.0" @@ -8255,6 +8687,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "wee_alloc" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "memory_units", + "winapi", +] + [[package]] name = "which" version = "4.2.5" @@ -8520,6 +8964,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + [[package]] name = "wyz" version = "0.5.1" @@ -8596,9 +9046,23 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.6.0" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.32", +] [[package]] name = "zeropool-bn" @@ -8606,6 +9070,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e61de68ede9ffdd69c01664f65a178c5188b73f78faa21f0936016a888ff7c" dependencies = [ + "borsh 0.9.3", "byteorder", "crunchy", "lazy_static", diff --git a/Cargo.toml b/Cargo.toml index 94d3545128d..ea775484359 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,6 +59,8 @@ members = [ "runtime/near-vm/compiler-test-derive", "runtime/near-vm-runner", "runtime/near-vm-runner/fuzz", + "runtime/near-wallet-contract", + "runtime/near-wallet-contract/wallet-contract", "runtime/runtime", "runtime/runtime-params-estimator", "runtime/runtime-params-estimator/estimator-warehouse", @@ -227,6 +229,7 @@ near-primitives-core = { path = "core/primitives-core" } near-rosetta-rpc = { path = "chain/rosetta-rpc" } near-rpc-error-core = { path = "tools/rpctypegen/core" } near-rpc-error-macro = { path = "tools/rpctypegen/macro" } +near-sdk = "4.1.1" near-stable-hasher = { path = "utils/near-stable-hasher" } near-state-parts = { path = "tools/state-parts" } near-state-parts-dump-check = { path = "tools/state-parts-dump-check" } @@ -288,6 +291,7 @@ reqwest = { version = "0.11.14", features = ["blocking"] } ripemd = "0.1.1" rkyv = "0.7.31" rlimit = "0.7" +rlp = "0.4.6" rocksdb = { version = "0.21.0", default-features = false, features = ["snappy", "lz4", "zstd", "zlib", "jemalloc"] } runtime-tester = { path = "test-utils/runtime-tester" } rusqlite = { version = "0.29.0", features = ["bundled", "chrono", "functions"] } diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 8bc7f68e47e..254e0b49f4f 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -25,6 +25,7 @@ once_cell.workspace = true parking_lot.workspace = true primitive-types.workspace = true rand.workspace = true +rlp.workspace = true serde.workspace = true serde_json.workspace = true smart-default.workspace = true diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index 920ae6009aa..00ba2993515 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -8,15 +8,15 @@ use crate::tests::standard_cases::fee_helper; use near_chain::ChainGenesis; use near_chain_configs::Genesis; use near_client::test_utils::TestEnv; -use near_crypto::{KeyType, PublicKey, Signer}; +use near_crypto::{KeyType, PublicKey, SecretKey, Signer}; use near_primitives::account::{ id::AccountType, AccessKey, AccessKeyPermission, FunctionCallPermission, }; use near_primitives::checked_feature; use near_primitives::config::ActionCosts; use near_primitives::errors::{ - ActionError, ActionErrorKind, ActionsValidationError, InvalidAccessKeyError, InvalidTxError, - TxExecutionError, + ActionError, ActionErrorKind, ActionsValidationError, FunctionCallError, InvalidAccessKeyError, + InvalidTxError, TxExecutionError, }; use near_primitives::test_utils::{ create_user_test_signer, eth_implicit_test_account, near_implicit_test_account, @@ -26,6 +26,7 @@ use near_primitives::transaction::{ DeployContractAction, FunctionCallAction, StakeAction, TransferAction, }; use near_primitives::types::{AccountId, Balance}; +use near_primitives::utils::derive_eth_implicit_account_id; use near_primitives::version::{ProtocolFeature, ProtocolVersion, PROTOCOL_VERSION}; use near_primitives::views::{ AccessKeyPermissionView, ExecutionStatusView, FinalExecutionOutcomeView, FinalExecutionStatus, @@ -34,6 +35,7 @@ use near_test_contracts::{ft_contract, smallest_rs_contract}; use nearcore::config::GenesisExt; use nearcore::test_utils::TestEnvNightshadeSetupExt; use nearcore::NEAR_BASE; +use rlp::RlpStream; use testlib::runtime_utils::{ add_account_with_access_key, add_contract, add_test_contract, alice_account, bob_account, carol_account, eve_dot_alice_account, @@ -945,3 +947,74 @@ fn meta_tx_create_eth_implicit_account() { } meta_tx_create_implicit_account(eth_implicit_test_account()); } + +fn meta_tx_call_wallet_contract(authorized: bool) { + let genesis = Genesis::test(vec![alice_account(), bob_account(), carol_account()], 3); + let relayer = alice_account(); + let node = RuntimeNode::new_from_genesis(&relayer, genesis); + let sender = bob_account(); + + let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); + let public_key = secret_key.public_key(); + let eth_implicit_account = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); + let other_public_key = SecretKey::from_seed(KeyType::SECP256K1, "test2").public_key(); + + let initial_amount = 50 * NEAR_BASE; + let actions = vec![Action::Transfer(TransferAction { deposit: initial_amount })]; + node.user() + .meta_tx(sender.clone(), eth_implicit_account.clone(), relayer.clone(), actions) + .unwrap() + .assert_success(); + + let target = carol_account(); + let transfer_amount = NEAR_BASE; + let initial_balance = node.view_balance(&target).expect("failed looking up balance"); + + let mut stream = RlpStream::new_list(3); + stream.append(&target.as_str()); + // The RLP trait `Encodable` is not implemented for `u128`. + stream.append(&transfer_amount.to_be_bytes().as_slice()); + if authorized { + stream.append(&public_key.key_data()); + } else { + stream.append(&other_public_key.key_data()); + } + let rlp_encoded_data = stream.out().to_vec(); + + let args = serde_json::json!({ + "target": target.to_string(), + "rlp_transaction": rlp_encoded_data, + }) + .to_string() + .into_bytes(); + + let actions = vec![Action::FunctionCall(Box::new(FunctionCallAction { + method_name: "execute_rlp".to_owned(), + args, + gas: 30_000_000_000_000, + deposit: 0, + }))]; + let tx_result = node.user().meta_tx(sender, eth_implicit_account, relayer, actions).unwrap(); + let wallet_contract_call_result = &tx_result.receipts_outcome[1].outcome.status; + + if authorized { + tx_result.assert_success(); + let final_balance = node.view_balance(&target).expect("failed looking up balance"); + assert_eq!(final_balance, initial_balance + transfer_amount); + } else { + let expected_error = near_primitives::views::ExecutionStatusView::Failure(TxExecutionError::ActionError( + ActionError { index: Some(0), kind: ActionErrorKind::FunctionCallError { 0: FunctionCallError::ExecutionError("Smart contract panicked: Public key does not match the Wallet Contract address.".to_string()) }} + )); + assert_eq!(wallet_contract_call_result, &expected_error); + } +} + +#[test] +fn meta_tx_call_wallet_contract_authorized() { + meta_tx_call_wallet_contract(true); +} + +#[test] +fn meta_tx_call_wallet_contract_unauthorized() { + meta_tx_call_wallet_contract(false); +} diff --git a/integration-tests/src/tests/standard_cases/mod.rs b/integration-tests/src/tests/standard_cases/mod.rs index e358f8294a9..1483f882a69 100644 --- a/integration-tests/src/tests/standard_cases/mod.rs +++ b/integration-tests/src/tests/standard_cases/mod.rs @@ -330,7 +330,7 @@ pub fn test_send_money(node: impl Node) { ); } -pub fn transfer_tokens_implicit_account(node: impl Node, public_key: PublicKey) { +pub fn transfer_tokens_to_implicit_account(node: impl Node, public_key: PublicKey) { let account_id = &node.account_id().unwrap(); let node_user = node.user(); let root = node_user.get_state_root(); diff --git a/integration-tests/src/tests/standard_cases/runtime.rs b/integration-tests/src/tests/standard_cases/runtime.rs index c939a0b0e14..3fa8e5d8e68 100644 --- a/integration-tests/src/tests/standard_cases/runtime.rs +++ b/integration-tests/src/tests/standard_cases/runtime.rs @@ -120,7 +120,7 @@ fn test_send_money_runtime() { fn test_transfer_tokens_near_implicit_account_runtime() { let node = create_runtime_node(); let public_key = node.user().signer().public_key(); - transfer_tokens_implicit_account(node, public_key); + transfer_tokens_to_implicit_account(node, public_key); } #[test] @@ -130,7 +130,7 @@ fn test_transfer_tokens_eth_implicit_account_runtime() { } let node = create_runtime_node(); let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); - transfer_tokens_implicit_account(node, secret_key.public_key()); + transfer_tokens_to_implicit_account(node, secret_key.public_key()); } #[test] diff --git a/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig b/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig index aa50ac8a040..f858e180615 100644 --- a/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig +++ b/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig @@ -1,8 +1,5 @@ -<<<<<<< HEAD -======= #[cfg(not(test))] extern crate proc_macro; ->>>>>>> 27e96cad2 (compiler-test-derive: Switch to proc_macro exclusively) use proc_macro::TokenStream; use quote::quote; use std::path::PathBuf; diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index 23c6745f00b..ff2dae083bc 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -4,7 +4,7 @@ version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true -description = "A temporary Wallet Contract placeholder." +description = "Builds and exposes a temporary Wallet Contract wasm file." repository.workspace = true license.workspace = true publish = false diff --git a/runtime/near-wallet-contract/LICENSE-APACHE b/runtime/near-wallet-contract/LICENSE-APACHE deleted file mode 120000 index 0eb30ff1b50..00000000000 --- a/runtime/near-wallet-contract/LICENSE-APACHE +++ /dev/null @@ -1 +0,0 @@ -../../licenses/LICENSE-APACHE \ No newline at end of file diff --git a/runtime/near-wallet-contract/LICENSE-MIT b/runtime/near-wallet-contract/LICENSE-MIT deleted file mode 120000 index df3ae884029..00000000000 --- a/runtime/near-wallet-contract/LICENSE-MIT +++ /dev/null @@ -1 +0,0 @@ -../../licenses/LICENSE-MIT \ No newline at end of file diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md index c1d765bd982..ef1993baa23 100644 --- a/runtime/near-wallet-contract/README.md +++ b/runtime/near-wallet-contract/README.md @@ -6,7 +6,6 @@ Must not use in production! To use the contract you need to make sure that this crate was compiled. The contract is built via `build.rs` and WASM file is generated to the `./res` directory. -You might want to `touch build.rs` before `cargo build` to force cargo to generate the WASM file. If you want to use the contract from rust core, add diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index b437f93c5f4..94559c185c5 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -10,12 +10,8 @@ fn main() { } fn try_main() -> Result<(), Error> { - build_contract("./wallet-contract", &["--features", "latest_protocol"], "wallet_contract")?; - build_contract( - "./wallet-contract", - &["--features", "latest_protocol,nightly"], - "nightly_wallet_contract", - )?; + build_contract("./wallet-contract", &[], "wallet_contract")?; + build_contract("./wallet-contract", &["--features", "nightly"], "nightly_wallet_contract")?; Ok(()) } diff --git a/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm b/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm index 55eaf301197b5188304c1910632968d7adcef1c4..32b2a0c5eff003b4436de4ee61164420ea145235 100755 GIT binary patch literal 346006 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

^2{1U12%l7INOLJ(&Y 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 delta 37947 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�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 diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm index 2d543deef9b4bd494f2d538bae8348fd2bc0128b..b13371acede12cf41e64aa79bc2dee9962e176f7 100755 GIT binary patch literal 347821 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 b&YyhiQ$6umuJq3n%-{O@IcW4NfE51+n9ALm delta 38056 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 z"] +version.workspace = true +authors.workspace = true +edition.workspace = true +rust-version.workspace = true +description = "A placeholder implementation of the Wallet Contract." +repository.workspace = true +license.workspace = true publish = false -edition = "2021" + +[lints] +workspace = true [lib] crate-type = ["cdylib"] [dependencies] -base64 = "0.21" -serde_json = "1" -near-sdk = "4.1.1" - -[profile.release] -codegen-units = 1 -# Tell `rustc` to optimize for small code size. -opt-level = "z" -strip = true -lto = true -debug = false -panic = "abort" -rpath = false -debug-assertions = false -incremental = false - -[workspace] -members = [] +hex.workspace = true +serde_json.workspace = true +near-sdk.workspace = true +rlp.workspace = true [features] nightly = [] -latest_protocol = [] diff --git a/runtime/near-wallet-contract/wallet-contract/src/lib.rs b/runtime/near-wallet-contract/wallet-contract/src/lib.rs index aced207aadf..3954e1ff523 100644 --- a/runtime/near-wallet-contract/wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/wallet-contract/src/lib.rs @@ -1,18 +1,50 @@ //! Temporary implementation of the Wallet Contract. //! See https://github.com/near/NEPs/issues/518. //! Must not use in production! - // TODO(eth-implicit) Change to a real Wallet Contract implementation. + +use hex; use near_sdk::borsh::{self, BorshDeserialize, BorshSerialize}; -use near_sdk::{near_bindgen, AccountId, Promise, Balance}; +use near_sdk::{env, near_bindgen, AccountId, Promise}; +use rlp::Rlp; #[near_bindgen] #[derive(Default, BorshDeserialize, BorshSerialize)] -pub struct WalletContract { } +pub struct WalletContract {} #[near_bindgen] impl WalletContract { - pub fn transfer(&self, to: AccountId, amount: Balance){ - Promise::new(to).transfer(amount); - } + pub fn execute_rlp(&self, target: AccountId, rlp_transaction: Vec) { + let rlp = Rlp::new(&rlp_transaction); + + let to: String = match rlp.val_at(0) { + Ok(to) => to, + _ => env::panic_str("Missing `to` field in RLP-encoded transaction."), + }; + if target.to_string() != to { + env::panic_str("`target` equals the transaction's `To` address."); + } + + let value_bytes: Vec = match rlp.val_at(1) { + Ok(value_bytes) => value_bytes, + _ => env::panic_str("Missing `value` field in RLP-encoded transaction."), + }; + let value = u128::from_be_bytes( + value_bytes.try_into().expect("Incorrect `value` field in RLP-encoded transaction."), + ); + + let signer_public_key_bytes: Vec = match rlp.val_at(2) { + Ok(signer_public_key_bytes) => signer_public_key_bytes, + _ => env::panic_str("Signature extraction failed for RLP-encoded transaction."), + }; + + let hash = env::keccak256(&signer_public_key_bytes); + let signer_address = format!("0x{}", hex::encode(&hash[12..32])); + + if signer_address != env::current_account_id().to_string() { + env::panic_str("Public key does not match the Wallet Contract address."); + } + + Promise::new(target).transfer(value); + } } diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 7d311601b9a..84cee3e3a15 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -759,7 +759,7 @@ fn receipt_required_gas(apply_state: &ApplyState, receipt: &Receipt) -> Result Date: Thu, 7 Dec 2023 18:39:10 +0100 Subject: [PATCH 03/17] Virtually deployed Wallet Contract --- Cargo.lock | 1 + runtime/near-vm-runner/src/code.rs | 1 + runtime/near-wallet-contract/Cargo.toml | 1 + runtime/near-wallet-contract/src/lib.rs | 11 ++++--- runtime/runtime/src/actions.rs | 44 +++++++++++++------------ runtime/runtime/src/lib.rs | 1 - 6 files changed, 33 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index daecb8fc7f2..92e9b2bcab2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4983,6 +4983,7 @@ name = "near-wallet-contract" version = "0.0.0" dependencies = [ "near-vm-runner", + "once_cell", "wasm-encoder 0.27.0", "wasm-smith", "wat", diff --git a/runtime/near-vm-runner/src/code.rs b/runtime/near-vm-runner/src/code.rs index 820457894be..73ca0dd294d 100644 --- a/runtime/near-vm-runner/src/code.rs +++ b/runtime/near-vm-runner/src/code.rs @@ -1,5 +1,6 @@ use near_primitives_core::hash::{hash as sha256, CryptoHash}; +#[derive(Clone)] pub struct ContractCode { code: Vec, hash: CryptoHash, diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index ff2dae083bc..ba6a4e1bcd0 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -14,6 +14,7 @@ workspace = true [dependencies] near-vm-runner.workspace = true +once_cell.workspace = true wat.workspace = true wasm-encoder.workspace = true wasm-smith.workspace = true diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index e93d65fc178..9288aa0e5e0 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -1,17 +1,20 @@ #![doc = include_str!("../README.md")] use near_vm_runner::ContractCode; +use once_cell::sync::OnceCell; use std::path::Path; /// Temporary (placeholder) Wallet Contract. -pub fn wallet_contract() -> ContractCode { - read_contract("wallet_contract.wasm") +pub fn wallet_contract() -> &'static ContractCode { + static CONTRACT: OnceCell = OnceCell::new(); + CONTRACT.get_or_init(|| read_contract("wallet_contract.wasm")) } /// Temporary (placeholder) Wallet Contract that has access to all host functions from /// the nightly protocol. -pub fn nightly_wallet_contract() -> ContractCode { - read_contract("nightly_wallet_contract.wasm") +pub fn nightly_wallet_contract() -> &'static ContractCode { + static CONTRACT: OnceCell = OnceCell::new(); + CONTRACT.get_or_init(|| read_contract("nightly_wallet_contract.wasm")) } /// Read given wasm file or panic if unable to. diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 84cee3e3a15..d4ee3fba23f 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -41,6 +41,20 @@ use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; use near_wallet_contract::wallet_contract; +fn get_contract_code( + runtime_ext: &RuntimeExt, + account: &Account, +) -> Result, StorageError> { + let account_id = runtime_ext.account_id(); + let code_hash = account.code_hash(); + if account_id.get_account_type() == AccountType::EthImplicitAccount { + let contract = wallet_contract(); + debug_assert!(code_hash == *contract.hash()); + return Ok(Some(contract.clone())); + } + runtime_ext.get_code(code_hash) +} + /// Runs given function call with given context / apply state. pub(crate) fn execute_function_call( apply_state: &ApplyState, @@ -57,7 +71,7 @@ pub(crate) fn execute_function_call( ) -> Result { let account_id = runtime_ext.account_id(); tracing::debug!(target: "runtime", %account_id, "Calling the contract"); - let code = match runtime_ext.get_code(account.code_hash()) { + let code = match get_contract_code(&runtime_ext, account) { Ok(Some(code)) => code, Ok(None) => { let error = FunctionCallError::CompilationError(CompilationError::CodeDoesNotExist { @@ -433,7 +447,6 @@ pub(crate) fn action_create_account( /// Can only be used for implicit accounts. pub(crate) fn action_implicit_account_creation_transfer( state_update: &mut TrieUpdate, - apply_state: &ApplyState, fee_config: &RuntimeFeesConfig, account: &mut Option, actor_id: &mut AccountId, @@ -477,26 +490,15 @@ pub(crate) fn action_implicit_account_creation_transfer( // It holds because in the only calling site, we've checked the permissions before. AccountType::EthImplicitAccount => { if checked_feature!("stable", EthImplicitAccounts, current_protocol_version) { - // TODO(eth-implicit) Use real Wallet Contract. - let wallet_contract = wallet_contract(); let storage_usage = fee_config.storage_usage_config.num_bytes_account - + fee_config.storage_usage_config.num_extra_bytes_record - + wallet_contract.code().len() as u64; - - *account = - Some(Account::new(transfer.deposit, 0, *wallet_contract.hash(), storage_usage)); - - // TODO(eth-implicit) Store a reference to the `Wallet Contract` instead of literally deploying it. - set_code(state_update, account_id.clone(), &wallet_contract); - // Precompile the contract and store result (compiled code or error) in the database. - // Note, that contract compilation costs are already accounted in deploy cost using - // special logic in estimator (see get_runtime_config() function). - precompile_contract( - &wallet_contract, - &apply_state.config.wasm_config, - apply_state.cache.as_deref(), - ) - .ok(); + + fee_config.storage_usage_config.num_extra_bytes_record; + + *account = Some(Account::new( + transfer.deposit, + 0, + *wallet_contract().hash(), + storage_usage, + )); } else { // This panic is unreachable as this is an implicit account creation transfer. // `check_account_existence` would fail because in this protocol version `account_is_implicit` diff --git a/runtime/runtime/src/lib.rs b/runtime/runtime/src/lib.rs index 737e7c2803f..f63983fbcbb 100644 --- a/runtime/runtime/src/lib.rs +++ b/runtime/runtime/src/lib.rs @@ -382,7 +382,6 @@ impl Runtime { debug_assert!(!is_refund); action_implicit_account_creation_transfer( state_update, - apply_state, &apply_state.config.fees, account, actor_id, From 17a70729d94c25561d8d837b45b1202f5158b264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 7 Dec 2023 19:42:47 +0100 Subject: [PATCH 04/17] Zero-balance ETH-implicit accounts. Add comments. --- .../access_key_nonce_for_implicit_accounts.rs | 2 +- .../tests/client/features/delegate_action.rs | 45 ++++++++++++++---- runtime/near-wallet-contract/README.md | 11 +---- .../res/nightly_wallet_contract.wasm | Bin 346006 -> 346006 bytes .../res/wallet_contract.wasm | Bin 347821 -> 347821 bytes runtime/near-wallet-contract/src/lib.rs | 4 +- .../wallet-contract/src/lib.rs | 5 +- runtime/runtime/src/actions.rs | 4 ++ 8 files changed, 48 insertions(+), 23 deletions(-) diff --git a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs index 7e5dca362f5..6e2f0a5a256 100644 --- a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs +++ b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs @@ -250,7 +250,7 @@ fn test_transaction_from_eth_implicit_account_fail() { .nightshade_runtimes(&genesis) .build(); let genesis_block = env.clients[0].chain.get_block_by_height(0).unwrap(); - let deposit_for_account_creation = 10 * nearcore::NEAR_BASE; + let deposit_for_account_creation = NEAR_BASE; let mut height = 1; let blocks_number = 5; let signer1 = InMemorySigner::from_seed("test1".parse().unwrap(), KeyType::ED25519, "test1"); diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index 00ba2993515..ba51d2fd09b 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -283,7 +283,7 @@ fn meta_tx_near_transfer() { let node = RuntimeNode::new(&relayer); let fee_helper = fee_helper(&node); - let amount = nearcore::NEAR_BASE; + let amount = NEAR_BASE; let actions = vec![Action::Transfer(TransferAction { deposit: amount })]; let tx_cost = fee_helper.transfer_cost(); check_meta_tx_no_fn_call(&node, actions, tx_cost, amount, sender, relayer, receiver); @@ -839,7 +839,7 @@ fn meta_tx_create_and_use_implicit_account(new_account: AccountId) { // Check the account doesn't exist, yet. We will attempt creating it. node.view_account(&new_account).expect_err("account already exists"); - let initial_amount = nearcore::NEAR_BASE; + let initial_amount = NEAR_BASE; let actions = vec![ Action::Transfer(TransferAction { deposit: initial_amount }), Action::DeployContract(DeployContractAction { code: ft_contract().to_vec() }), @@ -889,7 +889,12 @@ fn meta_tx_create_implicit_account(new_account: AccountId) { node.view_account(&new_account).expect_err("account already exists"); let fee_helper = fee_helper(&node); - let initial_amount = 10 * nearcore::NEAR_BASE; + let initial_amount = match new_account.get_account_type() { + AccountType::NearImplicitAccount => NEAR_BASE, + // ETH-implicit accounts fit within zero-balance account limit. + AccountType::EthImplicitAccount => 0u128, + AccountType::NamedAccount => panic!("must be implicit"), + }; let actions = vec![Action::Transfer(TransferAction { deposit: initial_amount })]; let tx_cost = match new_account.get_account_type() { @@ -948,6 +953,11 @@ fn meta_tx_create_eth_implicit_account() { meta_tx_create_implicit_account(eth_implicit_test_account()); } +/// Creating an ETH-implicit account with meta-transaction, then attempting to use it with another meta-transaction. +/// +/// Depending on `rlp_transaction` blob that is sent to the `Wallet Contract` +/// the transaction is either authorized or unauthorized. +/// The parameter `authorized` controls which case will be tested. fn meta_tx_call_wallet_contract(authorized: bool) { let genesis = Genesis::test(vec![alice_account(), bob_account(), carol_account()], 3); let relayer = alice_account(); @@ -959,7 +969,8 @@ fn meta_tx_call_wallet_contract(authorized: bool) { let eth_implicit_account = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); let other_public_key = SecretKey::from_seed(KeyType::SECP256K1, "test2").public_key(); - let initial_amount = 50 * NEAR_BASE; + // Although ETH-implicit account can be zero-balance, we pick 1 here in order to make transfer later from this account. + let initial_amount = 1u128; let actions = vec![Action::Transfer(TransferAction { deposit: initial_amount })]; node.user() .meta_tx(sender.clone(), eth_implicit_account.clone(), relayer.clone(), actions) @@ -967,12 +978,13 @@ fn meta_tx_call_wallet_contract(authorized: bool) { .assert_success(); let target = carol_account(); - let transfer_amount = NEAR_BASE; + let transfer_amount = 1u128; let initial_balance = node.view_balance(&target).expect("failed looking up balance"); + // TODO(eth-implicit) When `Wallet Contract` is complete, append appropriate values to the RLP stream. let mut stream = RlpStream::new_list(3); stream.append(&target.as_str()); - // The RLP trait `Encodable` is not implemented for `u128`. + // The RLP trait `Encodable` is not implemented for `u128`. We must encode it as bytes. stream.append(&transfer_amount.to_be_bytes().as_slice()); if authorized { stream.append(&public_key.key_data()); @@ -994,17 +1006,32 @@ fn meta_tx_call_wallet_contract(authorized: bool) { gas: 30_000_000_000_000, deposit: 0, }))]; + // Call Wallet Contract with JSON-encoded arguments: `target` and `rlp_transaction`. The `rlp_transaction`'s value is RLP-encoded. let tx_result = node.user().meta_tx(sender, eth_implicit_account, relayer, actions).unwrap(); let wallet_contract_call_result = &tx_result.receipts_outcome[1].outcome.status; if authorized { + // If the public key recovered from the RLP transaction's signature is valid for this ETH-implicit account, + // the transaction will succeed. `target` balance will increase by `transfer_amount`. tx_result.assert_success(); let final_balance = node.view_balance(&target).expect("failed looking up balance"); assert_eq!(final_balance, initial_balance + transfer_amount); } else { - let expected_error = near_primitives::views::ExecutionStatusView::Failure(TxExecutionError::ActionError( - ActionError { index: Some(0), kind: ActionErrorKind::FunctionCallError { 0: FunctionCallError::ExecutionError("Smart contract panicked: Public key does not match the Wallet Contract address.".to_string()) }} - )); + // The public key recovered from the RLP transaction's signature isn't valid for this ETH-implicit account. + // The Wallet Contract will reject this transaction. + let expected_error = near_primitives::views::ExecutionStatusView::Failure( + TxExecutionError::ActionError( + ActionError { + index: Some(0), + kind: ActionErrorKind::FunctionCallError { + 0: FunctionCallError::ExecutionError( + "Smart contract panicked: Public key does not match the Wallet Contract address." + .to_string() + ) + } + } + ) + ); assert_eq!(wallet_contract_call_result, &expected_error); } } diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md index ef1993baa23..d3938c8756b 100644 --- a/runtime/near-wallet-contract/README.md +++ b/runtime/near-wallet-contract/README.md @@ -7,14 +7,5 @@ Must not use in production! To use the contract you need to make sure that this crate was compiled. The contract is built via `build.rs` and WASM file is generated to the `./res` directory. -If you want to use the contract from rust core, add - -```toml -[dev-dependencies] -near-wallet-contract = { path = "../near-wallet-contract" } -``` - +If you want to use the contract from rust core, add this crate as a dependency to the Cargo.toml and use `near_wallet_contract::wallet_contract()`. - -If you want to use a contract from an integration test, you can read -the wasm file directly from the `./res` directory. diff --git a/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm b/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm index 32b2a0c5eff003b4436de4ee61164420ea145235..3cd209f989327fe596379473a7e1b8a6c0bbb79b 100755 GIT binary patch delta 735 zcmZ9IUr19?9LLZ1ZqB>5TUT_7%Rkpz|E18%9yIiji=rgxrH2UVL5UTO>DsGTdT3<1 z$qkQ&4?=qhgcdh;AL?QDS0Yd$NvMHf)G8#c9+pLP?#;pM;mbXr@Av+`zrz`hd4^-2 z~jqZpv`ddIn!qB}QWnPm#-vc9$Zj&obooKPUA zR8=K@NuXKNp!*ep)&}Uw%wqe|`wc$epeC%@w)O|S^R=Pr0&R~=3MVuCrsI90O3-8$}`h_kS1X!oCxnw-9ozJpwL)%VxAk?5Ah{ E0%j%Kt^fc4 delta 733 zcmZ9IT}TvB9L4XMU3K26`K@7e;mxY5A!`SkMnV9IU{AK0Wgc7}Jt(rZJ{>&)&3SR+F;pFt2UR z`dYqSGh55#ym=3=OK9Uyp&}fV2wxP7o8g+(p|BD@*46BvZJ0CqL^RqlZlv6hCE?u= zyW>R_+u=nSds~BQEE+#*@X3Z0%hsX;57_oP+(*XvP=_Za^>YbxhmWR5`Bxq>uR&b& zrS;IYG+|^K@T*E#POzsfm=|J0?CX9UHootJY{RHwYs33p@UzchP-j>8!s&AnCEDG^ zntKpsw|j6IFIXUgPRHI-nUoVkeC&DzXK{-;qc~QcgcHNI=rbcw#G(SdJgFYy<@}i+HxR6wIjOb7uHp)I^b@P@x(V?Xe zU76t3Q1IX-SaD-w=TOj^eRv2|DpG1eFmekbwGNv>^v>qOT8D?>_x%4n&!2b3hCO4$ zp7?yT^ZBi$MyRCEE*0tH%`W3tbF5a%SZ0Gztb#5ZMqtTX8@bIL6-q+WG~$;9nzjtO zPZelYI~}@X!885IRSh$GOV3u!87F!MN|Df4Sv}%WsEzAMjY8pE!iHQS&rbgorWyb_y8P2i{F%)HpXcYR3m%PHn?S zeMhRi@kg(f>QvUOJIX|%g+G&qpkF4uDB5QYH*XvY>%%ESOa0!7MKkQeZaW^DF$sz+ zEcCPSGL*1AWpJ|hrSM|e{9cOBHpE$~0!NW#yDISrGv-nyUKCU+hyKu_g#$ zs>#_F`}DQ6N~oy4%vWd=Ee`!>OVTf{m}WqzR6rMXJ(REU4@SA8K%P=nm9$F&T`� zR}pAK7mZ&xA+0^QpdzES_HV*#{X~D76D=?_fymYU>TneI+4g$eL&nJ0<4IY=T+Hn7(sY7<;0m6zKrc=?_uFJrP6+X`o4x49ZRU#LSoson8@YRg%gME5bVYCy1G^kD zY34k=<`;RDv&2 &'static ContractCode { static CONTRACT: OnceCell = OnceCell::new(); CONTRACT.get_or_init(|| read_contract("wallet_contract.wasm")) } /// Temporary (placeholder) Wallet Contract that has access to all host functions from -/// the nightly protocol. +/// the nightly protocol. Read from file once, then cache in memory. pub fn nightly_wallet_contract() -> &'static ContractCode { static CONTRACT: OnceCell = OnceCell::new(); CONTRACT.get_or_init(|| read_contract("nightly_wallet_contract.wasm")) diff --git a/runtime/near-wallet-contract/wallet-contract/src/lib.rs b/runtime/near-wallet-contract/wallet-contract/src/lib.rs index 3954e1ff523..193e0942cc9 100644 --- a/runtime/near-wallet-contract/wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/wallet-contract/src/lib.rs @@ -14,6 +14,9 @@ pub struct WalletContract {} #[near_bindgen] impl WalletContract { + /// For the sake of this placeholder implementation, we assume simplified version of the `rlp_transaction` + /// that only has 3 values: `To`, `Value`, and `PublicKey`. We assume this is a transfer transaction. + /// The real implementation would obtain the public key from `Signature`. pub fn execute_rlp(&self, target: AccountId, rlp_transaction: Vec) { let rlp = Rlp::new(&rlp_transaction); @@ -22,7 +25,7 @@ impl WalletContract { _ => env::panic_str("Missing `to` field in RLP-encoded transaction."), }; if target.to_string() != to { - env::panic_str("`target` equals the transaction's `To` address."); + env::panic_str("`target` not equal to transaction's `To` address."); } let value_bytes: Vec = match rlp.val_at(1) { diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index d4ee3fba23f..1ed6751725d 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -41,6 +41,9 @@ use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; use near_wallet_contract::wallet_contract; +/// Returns `ContractCode` for the given `account` (if exists) or returns `StorageError`. +/// For ETH-implicit accounts returns `Wallet Contract` implementation that it is a part +/// of the protocol and it's cached in memory. fn get_contract_code( runtime_ext: &RuntimeExt, account: &Account, @@ -493,6 +496,7 @@ pub(crate) fn action_implicit_account_creation_transfer( let storage_usage = fee_config.storage_usage_config.num_bytes_account + fee_config.storage_usage_config.num_extra_bytes_record; + // We do not literally deploy `Wallet Contract`, just store a reference to the contract. *account = Some(Account::new( transfer.deposit, 0, From 16143464ed36168d6c15f178b2d30778e86ca775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 7 Dec 2023 22:04:26 +0100 Subject: [PATCH 05/17] Isolate wallet-contract from workspace --- Cargo.lock | 709 ++------ Cargo.toml | 2 - integration-tests/Cargo.toml | 2 + .../tests/client/features/delegate_action.rs | 11 +- .../lib/compiler-test-derive/src/lib.rs.orig | 3 + runtime/near-wallet-contract/Cargo.toml | 10 +- .../res/nightly_wallet_contract.wasm | Bin 346006 -> 90868 bytes .../res/wallet_contract.wasm | Bin 347821 -> 90868 bytes .../wallet-contract/Cargo.lock | 1529 +++++++++++++++++ .../wallet-contract/Cargo.toml | 35 +- runtime/runtime/Cargo.toml | 2 + runtime/runtime/src/actions.rs | 12 +- 12 files changed, 1707 insertions(+), 608 deletions(-) create mode 100644 runtime/near-wallet-contract/wallet-contract/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index 92e9b2bcab2..ed207a52c76 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +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" - [[package]] name = "actix" version = "0.13.0" @@ -440,12 +434,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - [[package]] name = "assert_matches" version = "1.5.0" @@ -593,12 +581,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" - [[package]] name = "base64" version = "0.12.3" @@ -683,28 +665,16 @@ dependencies = [ "typenum", ] -[[package]] -name = "bitvec" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" -dependencies = [ - "funty 1.1.0", - "radium 0.6.2", - "tap", - "wyz 0.2.0", -] - [[package]] name = "bitvec" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "funty 2.0.0", - "radium 0.7.0", + "funty", + "radium", "tap", - "wyz 0.5.1", + "wyz", ] [[package]] @@ -725,7 +695,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" dependencies = [ "arrayref", - "arrayvec 0.5.2", + "arrayvec", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -733,15 +703,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array 0.14.5", -] - [[package]] name = "block-buffer" version = "0.10.2" @@ -947,12 +908,6 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - [[package]] name = "bytecheck" version = "0.6.8" @@ -1112,10 +1067,10 @@ dependencies = [ "log", "near-async", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-network", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "openssl-probe", @@ -1279,7 +1234,7 @@ dependencies = [ "clap", "near-chain-configs", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "rand 0.8.5", @@ -1690,19 +1645,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -1885,7 +1827,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer 0.10.2", + "block-buffer", "crypto-common", "subtle", ] @@ -1928,12 +1870,6 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" -[[package]] -name = "dyn-clone" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" - [[package]] name = "dynasm" version = "1.2.3" @@ -1993,36 +1929,13 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.1", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -2031,10 +1944,10 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" dependencies = [ - "curve25519-dalek 4.1.1", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", - "sha2 0.10.6", + "sha2", "subtle", ] @@ -2210,7 +2123,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d81b511929c2669eaf64e36471cf27c2508133e62ade9d49e608e8d675e7854" dependencies = [ - "bitvec 1.0.1", + "bitvec", "dissimilar", "num-traits", "prefix-sum-vec", @@ -2232,9 +2145,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", "static_assertions", ] @@ -2308,12 +2218,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "funty" version = "2.0.0" @@ -2458,9 +2362,9 @@ dependencies = [ "clap", "csv", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-network", - "near-primitives 0.0.0", + "near-primitives", "nearcore", "serde", "serde_json", @@ -2476,9 +2380,9 @@ dependencies = [ "indicatif", "near-chain", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "near-test-contracts", "near-vm-runner", @@ -2835,26 +2739,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "impl-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" -dependencies = [ - "parity-scale-codec", -] - -[[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.103", -] - [[package]] name = "indexer-example" version = "0.0.0" @@ -2943,7 +2827,7 @@ dependencies = [ "near-chunks", "near-client", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-fmt", "near-jsonrpc", @@ -2952,8 +2836,8 @@ dependencies = [ "near-network", "near-o11y", "near-performance-metrics", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-stdx", "near-store", "near-telemetry", @@ -3072,7 +2956,7 @@ name = "keypair-generator" version = "0.0.0" dependencies = [ "clap", - "near-crypto 0.0.0", + "near-crypto", "nearcore", ] @@ -3409,12 +3293,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - [[package]] name = "mime" version = "0.3.16" @@ -3491,14 +3369,14 @@ dependencies = [ "near-chain-configs", "near-chunks", "near-client", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-jsonrpc", "near-jsonrpc-client", "near-network", "near-o11y", "near-performance-metrics", - "near-primitives 0.0.0", + "near-primitives", "near-store", "near-telemetry", "nearcore", @@ -3542,28 +3420,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "near-abi" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "885db39b08518fa700b73fa2214e8adbbfba316ba82dd510f50519173eadaf73" -dependencies = [ - "borsh 0.9.3", - "schemars", - "semver 1.0.9", - "serde", -] - -[[package]] -name = "near-account-id" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d258582a1878e6db67400b0504a5099db85718d22c2e07f747fe1706ae7150" -dependencies = [ - "borsh 0.9.3", - "serde", -] - [[package]] name = "near-account-id" version = "1.0.0-alpha.4" @@ -3593,11 +3449,11 @@ dependencies = [ "clap", "near-chain", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-network", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-store", "near-test-contracts", "nearcore", @@ -3619,7 +3475,7 @@ dependencies = [ "futures", "near-o11y", "near-performance-metrics", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "serde", "serde_json", @@ -3656,14 +3512,14 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-network", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives 0.0.0", + "near-primitives", "near-store", "num-rational", "once_cell", @@ -3685,14 +3541,14 @@ dependencies = [ "chrono", "derive_more", "near-config-utils", - "near-crypto 0.0.0", + "near-crypto", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "num-rational", "once_cell", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "smart-default", "tracing", ] @@ -3702,8 +3558,8 @@ name = "near-chain-primitives" version = "0.0.0" dependencies = [ "chrono", - "near-crypto 0.0.0", - "near-primitives 0.0.0", + "near-crypto", + "near-primitives", "thiserror", "tracing", ] @@ -3725,14 +3581,14 @@ dependencies = [ "near-chain", "near-chain-configs", "near-chunks-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-network", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives 0.0.0", + "near-primitives", "near-store", "once_cell", "rand 0.8.5", @@ -3747,7 +3603,7 @@ name = "near-chunks-primitives" version = "0.0.0" dependencies = [ "near-chain-primitives", - "near-primitives 0.0.0", + "near-primitives", ] [[package]] @@ -3773,7 +3629,7 @@ dependencies = [ "near-chain-primitives", "near-chunks", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-dyn-configs", "near-epoch-manager", "near-network", @@ -3781,7 +3637,7 @@ dependencies = [ "near-performance-metrics", "near-performance-metrics-macros", "near-pool", - "near-primitives 0.0.0", + "near-primitives", "near-store", "near-telemetry", "num-rational", @@ -3812,8 +3668,8 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-chunks-primitives", - "near-crypto 0.0.0", - "near-primitives 0.0.0", + "near-crypto", + "near-primitives", "serde", "serde_json", "strum", @@ -3840,12 +3696,12 @@ dependencies = [ "borsh 1.0.0", "bs58", "c2-chacha", - "curve25519-dalek 4.1.1", + "curve25519-dalek", "derive_more", - "ed25519-dalek 2.1.0", + "ed25519-dalek", "hex", "hex-literal", - "near-account-id 1.0.0-alpha.4", + "near-account-id", "near-config-utils", "near-stdx", "once_cell", @@ -3854,38 +3710,12 @@ dependencies = [ "secp256k1", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "subtle", "tempfile", "thiserror", ] -[[package]] -name = "near-crypto" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e75673d69fd7365508f3d32483669fe45b03bfb34e4d9363e90adae9dfb416c" -dependencies = [ - "arrayref", - "blake2", - "borsh 0.9.3", - "bs58", - "c2-chacha", - "curve25519-dalek 3.2.1", - "derive_more", - "ed25519-dalek 1.0.1", - "near-account-id 0.14.0", - "once_cell", - "parity-secp256k1", - "primitive-types", - "rand 0.7.3", - "rand_core 0.5.1", - "serde", - "serde_json", - "subtle", - "thiserror", -] - [[package]] name = "near-database-tool" version = "0.0.0" @@ -3897,7 +3727,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "rand 0.8.5", @@ -3914,7 +3744,7 @@ dependencies = [ "anyhow", "near-chain-configs", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "prometheus", "serde", @@ -3934,8 +3764,8 @@ dependencies = [ "near-cache", "near-chain-configs", "near-chain-primitives", - "near-crypto 0.0.0", - "near-primitives 0.0.0", + "near-crypto", + "near-primitives", "near-store", "num-rational", "primitive-types", @@ -3955,7 +3785,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "tracing", @@ -3971,7 +3801,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "rayon", @@ -3983,7 +3813,7 @@ dependencies = [ name = "near-fmt" version = "0.0.0" dependencies = [ - "near-primitives-core 0.0.0", + "near-primitives-core", ] [[package]] @@ -3997,11 +3827,11 @@ dependencies = [ "hex", "near-chain", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-mirror", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "rayon", @@ -4021,11 +3851,11 @@ dependencies = [ "futures", "near-chain-configs", "near-client", - "near-crypto 0.0.0", + "near-crypto", "near-dyn-configs", "near-indexer-primitives", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "node-runtime", @@ -4041,7 +3871,7 @@ dependencies = [ name = "near-indexer-primitives" version = "0.0.0" dependencies = [ - "near-primitives 0.0.0", + "near-primitives", "serde", "serde_json", ] @@ -4065,8 +3895,8 @@ dependencies = [ "near-jsonrpc-primitives", "near-network", "near-o11y", - "near-primitives 0.0.0", - "near-rpc-error-macro 0.0.0", + "near-primitives", + "near-rpc-error-macro", "once_cell", "serde", "serde_json", @@ -4081,7 +3911,7 @@ name = "near-jsonrpc-adversarial-primitives" version = "0.0.0" dependencies = [ "near-network", - "near-primitives 0.0.0", + "near-primitives", "serde", ] @@ -4093,7 +3923,7 @@ dependencies = [ "awc", "futures", "near-jsonrpc-primitives", - "near-primitives 0.0.0", + "near-primitives", "serde", "serde_json", ] @@ -4109,7 +3939,7 @@ dependencies = [ "near-jsonrpc", "near-jsonrpc-primitives", "near-jsonrpc-tests", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "serde", "serde_json", @@ -4123,9 +3953,9 @@ dependencies = [ "arbitrary", "near-chain-configs", "near-client-primitives", - "near-crypto 0.0.0", - "near-primitives 0.0.0", - "near-rpc-error-macro 0.0.0", + "near-crypto", + "near-primitives", + "near-rpc-error-macro", "serde", "serde_json", "thiserror", @@ -4142,12 +3972,12 @@ dependencies = [ "near-actix-test-utils", "near-chain-configs", "near-client", - "near-crypto 0.0.0", + "near-crypto", "near-jsonrpc", "near-jsonrpc-primitives", "near-network", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "once_cell", "serde", @@ -4158,9 +3988,9 @@ dependencies = [ name = "near-mainnet-res" version = "0.0.0" dependencies = [ - "near-account-id 1.0.0-alpha.4", + "near-account-id", "near-chain-configs", - "near-primitives 0.0.0", + "near-primitives", "serde_json", ] @@ -4174,7 +4004,7 @@ dependencies = [ "borsh 1.0.0", "bs58", "clap", - "ed25519-dalek 2.1.0", + "ed25519-dalek", "hex", "hkdf", "near-chain", @@ -4182,14 +4012,14 @@ dependencies = [ "near-chain-primitives", "near-client", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-indexer", "near-indexer-primitives", "near-network", "near-o11y", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-store", "nearcore", "once_cell", @@ -4199,7 +4029,7 @@ dependencies = [ "secp256k1", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "strum", "thiserror", "tokio", @@ -4228,12 +4058,12 @@ dependencies = [ "itertools", "lru", "near-async", - "near-crypto 0.0.0", + "near-crypto", "near-fmt", "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", - "near-primitives 0.0.0", + "near-primitives", "near-stable-hasher", "near-store", "once_cell", @@ -4271,9 +4101,9 @@ dependencies = [ "bencher", "clap", "itoa", - "near-crypto 0.0.0", + "near-crypto", "near-fmt", - "near-primitives-core 0.0.0", + "near-primitives-core", "once_cell", "opentelemetry", "opentelemetry-otlp", @@ -4328,7 +4158,7 @@ dependencies = [ "near-jsonrpc", "near-network", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "prometheus", "tokio", @@ -4340,9 +4170,9 @@ name = "near-pool" version = "0.0.0" dependencies = [ "borsh 1.0.0", - "near-crypto 0.0.0", + "near-crypto", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "rand 0.8.5", ] @@ -4364,11 +4194,11 @@ dependencies = [ "enum-map", "hex", "insta", - "near-crypto 0.0.0", + "near-crypto", "near-fmt", "near-o11y", - "near-primitives-core 0.0.0", - "near-rpc-error-macro 0.0.0", + "near-primitives-core", + "near-rpc-error-macro", "near-stdx", "near-vm-runner", "num-rational", @@ -4389,35 +4219,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "near-primitives" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad1a9a1640539c81f065425c31bffcfbf6b31ef1aeaade59ce905f5df6ac860" -dependencies = [ - "borsh 0.9.3", - "byteorder", - "bytesize", - "chrono", - "derive_more", - "easy-ext", - "hex", - "near-crypto 0.14.0", - "near-primitives-core 0.14.0", - "near-rpc-error-macro 0.14.0", - "near-vm-errors", - "num-rational", - "once_cell", - "primitive-types", - "rand 0.7.3", - "reed-solomon-erasure", - "serde", - "serde_json", - "smart-default", - "strum", - "thiserror", -] - [[package]] name = "near-primitives-core" version = "0.0.0" @@ -4429,34 +4230,17 @@ dependencies = [ "derive_more", "enum-map", "insta", - "near-account-id 1.0.0-alpha.4", + "near-account-id", "num-rational", "serde", "serde_json", "serde_repr", "serde_with", - "sha2 0.10.6", + "sha2", "strum", "thiserror", ] -[[package]] -name = "near-primitives-core" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d508f0fc340f6461e4e256417685720d3c4c00bb5a939b105160e49137caba" -dependencies = [ - "base64 0.11.0", - "borsh 0.9.3", - "bs58", - "derive_more", - "near-account-id 0.14.0", - "num-rational", - "serde", - "sha2 0.10.6", - "strum", -] - [[package]] name = "near-rosetta-rpc" version = "0.0.0" @@ -4470,15 +4254,15 @@ dependencies = [ "futures", "hex", "insta", - "near-account-id 1.0.0-alpha.4", + "near-account-id", "near-actix-test-utils", "near-chain-configs", "near-client", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-network", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "node-runtime", "paperclip", "serde", @@ -4499,74 +4283,17 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "near-rpc-error-core" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ee0b41c75ef859c193a8ff1dadfa0c8207bc0ac447cc22259721ad769a1408" -dependencies = [ - "quote", - "serde", - "syn 1.0.103", -] - [[package]] name = "near-rpc-error-macro" version = "0.0.0" dependencies = [ "fs2", - "near-rpc-error-core 0.0.0", + "near-rpc-error-core", "serde", "serde_json", "syn 2.0.32", ] -[[package]] -name = "near-rpc-error-macro" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e837bd4bacd807073ec5ceb85708da7f721b46a4c2a978de86027fb0034ce31" -dependencies = [ - "near-rpc-error-core 0.14.0", - "serde", - "syn 1.0.103", -] - -[[package]] -name = "near-sdk" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15eb3de2defe3626260cc209a6cdb985c6b27b0bd4619fad97dcfae002c3c5bd" -dependencies = [ - "base64 0.13.0", - "borsh 0.9.3", - "bs58", - "near-abi", - "near-crypto 0.14.0", - "near-primitives 0.14.0", - "near-primitives-core 0.14.0", - "near-sdk-macros", - "near-sys", - "near-vm-logic", - "once_cell", - "schemars", - "serde", - "serde_json", - "wee_alloc", -] - -[[package]] -name = "near-sdk-macros" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4907affc9f5ed559456509188ff0024f1f2099c0830e6bdb66eb61d5b75912c0" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 1.0.103", -] - [[package]] name = "near-stable-hasher" version = "0.0.0" @@ -4583,9 +4310,9 @@ dependencies = [ "near-network", "near-o11y", "near-ping", - "near-primitives 0.0.0", + "near-primitives", "once_cell", - "sha2 0.10.6", + "sha2", "tokio", "tracing", ] @@ -4603,8 +4330,8 @@ dependencies = [ "near-client", "near-jsonrpc", "near-o11y", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-store", "nearcore", "once_cell", @@ -4641,10 +4368,10 @@ dependencies = [ "near-chain", "near-chain-configs", "near-chunks", - "near-crypto 0.0.0", + "near-crypto", "near-fmt", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-stdx", "near-vm-runner", "num_cpus", @@ -4662,12 +4389,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "near-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397688591acf8d3ebf2c2485ba32d4b24fc10aad5334e3ad8ec0b7179bfdf06b" - [[package]] name = "near-telemetry" version = "0.0.0" @@ -4678,7 +4399,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-performance-metrics-macros", - "near-primitives 0.0.0", + "near-primitives", "once_cell", "openssl", "serde", @@ -4708,7 +4429,7 @@ dependencies = [ "near-chain", "near-chain-configs", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "tracing", @@ -4788,40 +4509,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "near-vm-errors" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0da466a30f0446639cbd788c30865086fac3e8dcb07a79e51d2b0775ed4261e" -dependencies = [ - "borsh 0.9.3", - "near-account-id 0.14.0", - "near-rpc-error-macro 0.14.0", - "serde", -] - -[[package]] -name = "near-vm-logic" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b534828419bacbf1f7b11ef7b00420f248c548c485d3f0cfda8bb6931152f2" -dependencies = [ - "base64 0.13.0", - "borsh 0.9.3", - "bs58", - "byteorder", - "near-account-id 0.14.0", - "near-crypto 0.14.0", - "near-primitives 0.14.0", - "near-primitives-core 0.14.0", - "near-vm-errors", - "ripemd", - "serde", - "sha2 0.10.6", - "sha3", - "zeropool-bn", -] - [[package]] name = "near-vm-runner" version = "0.0.0" @@ -4833,16 +4520,16 @@ dependencies = [ "bolero", "borsh 1.0.0", "clap", - "ed25519-dalek 2.1.0", + "ed25519-dalek", "enum-map", "expect-test", "finite-wasm", "hex", "loupe", "memoffset 0.8.0", - "near-crypto 0.0.0", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-crypto", + "near-primitives", + "near-primitives-core", "near-stdx", "near-test-contracts", "near-vm-compiler", @@ -4863,7 +4550,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_with", - "sha2 0.10.6", + "sha2", "sha3", "strum", "thiserror", @@ -4891,7 +4578,7 @@ version = "0.0.0" dependencies = [ "arbitrary", "libfuzzer-sys", - "near-primitives 0.0.0", + "near-primitives", "near-test-contracts", "near-vm-runner", "wasm-smith", @@ -5017,7 +4704,7 @@ dependencies = [ "near-client", "near-client-primitives", "near-config-utils", - "near-crypto 0.0.0", + "near-crypto", "near-dyn-configs", "near-epoch-manager", "near-jsonrpc", @@ -5027,7 +4714,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-pool", - "near-primitives 0.0.0", + "near-primitives", "near-rosetta-rpc", "near-store", "near-telemetry", @@ -5068,7 +4755,7 @@ dependencies = [ "near-chain-configs", "near-client", "near-config-utils", - "near-crypto 0.0.0", + "near-crypto", "near-database-tool", "near-dyn-configs", "near-epoch-sync-tool", @@ -5080,7 +4767,7 @@ dependencies = [ "near-o11y", "near-performance-metrics", "near-ping", - "near-primitives 0.0.0", + "near-primitives", "near-state-parts", "near-state-parts-dump-check", "near-store", @@ -5138,10 +4825,10 @@ dependencies = [ "hex", "indicatif", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-o11y", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-store", "near-test-contracts", "near-vm-runner", @@ -5154,7 +4841,7 @@ dependencies = [ "rayon", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "tempfile", "testlib", "thiserror", @@ -5500,44 +5187,6 @@ dependencies = [ "syn 1.0.103", ] -[[package]] -name = "parity-scale-codec" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" -dependencies = [ - "arrayvec 0.7.4", - "bitvec 0.20.4", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.103", -] - -[[package]] -name = "parity-secp256k1" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" -dependencies = [ - "arrayvec 0.5.2", - "cc", - "cfg-if 0.1.10", - "rand 0.7.3", -] - [[package]] name = "parity-wasm" version = "0.41.0" @@ -5769,7 +5418,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" dependencies = [ "fixed-hash", - "impl-codec", "uint", ] @@ -6005,12 +5653,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" - [[package]] name = "radium" version = "0.7.0" @@ -6302,10 +5944,10 @@ version = "0.0.0" dependencies = [ "clap", "integration-tests", - "near-crypto 0.0.0", + "near-crypto", "near-jsonrpc-client", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "nearcore", "tokio", ] @@ -6405,10 +6047,10 @@ dependencies = [ "insta", "libc", "near-chain-configs", - "near-crypto 0.0.0", + "near-crypto", "near-fmt", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "near-test-contracts", "near-vm-runner", @@ -6438,10 +6080,10 @@ dependencies = [ "near-chain-configs", "near-client", "near-client-primitives", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "near-test-contracts", "nearcore", @@ -6510,7 +6152,7 @@ dependencies = [ "serde", "serde-xml-rs", "serde_derive", - "sha2 0.10.6", + "sha2", "thiserror", "time", "tokio", @@ -6645,30 +6287,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "schemars" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 1.0.103", -] - [[package]] name = "scopeguard" version = "1.1.0" @@ -6804,17 +6422,6 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "serde_derive_internals" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.103", -] - [[package]] name = "serde_ignored" version = "0.1.3" @@ -6939,19 +6546,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha2" version = "0.10.6" @@ -7024,12 +6618,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" @@ -7132,7 +6720,7 @@ dependencies = [ "near-chain-configs", "near-chain-primitives", "near-epoch-manager", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "serde", @@ -7173,12 +6761,12 @@ dependencies = [ "near-chain", "near-chain-configs", "near-client", - "near-crypto 0.0.0", + "near-crypto", "near-epoch-manager", "near-network", "near-o11y", - "near-primitives 0.0.0", - "near-primitives-core 0.0.0", + "near-primitives", + "near-primitives-core", "near-store", "near-test-contracts", "nearcore", @@ -7213,7 +6801,7 @@ dependencies = [ "anyhow", "near-chain-configs", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "node-runtime", "serde_json", @@ -7231,7 +6819,7 @@ dependencies = [ "near-client", "near-epoch-manager", "near-o11y", - "near-primitives 0.0.0", + "near-primitives", "near-store", "nearcore", "serde_json", @@ -7402,8 +6990,8 @@ version = "0.0.0" dependencies = [ "near-chain", "near-chain-configs", - "near-crypto 0.0.0", - "near-primitives 0.0.0", + "near-crypto", + "near-primitives", "near-test-contracts", "node-runtime", "once_cell", @@ -8051,16 +7639,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wallet-contract" -version = "0.0.0" -dependencies = [ - "hex", - "near-sdk", - "rlp", - "serde_json", -] - [[package]] name = "want" version = "0.3.0" @@ -8688,18 +8266,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "memory_units", - "winapi", -] - [[package]] name = "which" version = "4.2.5" @@ -8965,12 +8531,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - [[package]] name = "wyz" version = "0.5.1" @@ -9050,20 +8610,6 @@ name = "zeroize" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" -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.32", -] [[package]] name = "zeropool-bn" @@ -9071,7 +8617,6 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e61de68ede9ffdd69c01664f65a178c5188b73f78faa21f0936016a888ff7c" dependencies = [ - "borsh 0.9.3", "byteorder", "crunchy", "lazy_static", diff --git a/Cargo.toml b/Cargo.toml index ea775484359..ab5b6976383 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,7 +60,6 @@ members = [ "runtime/near-vm-runner", "runtime/near-vm-runner/fuzz", "runtime/near-wallet-contract", - "runtime/near-wallet-contract/wallet-contract", "runtime/runtime", "runtime/runtime-params-estimator", "runtime/runtime-params-estimator/estimator-warehouse", @@ -229,7 +228,6 @@ near-primitives-core = { path = "core/primitives-core" } near-rosetta-rpc = { path = "chain/rosetta-rpc" } near-rpc-error-core = { path = "tools/rpctypegen/core" } near-rpc-error-macro = { path = "tools/rpctypegen/macro" } -near-sdk = "4.1.1" near-stable-hasher = { path = "utils/near-stable-hasher" } near-state-parts = { path = "tools/state-parts" } near-state-parts-dump-check = { path = "tools/state-parts-dump-check" } diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 254e0b49f4f..45cf62e42e8 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -107,6 +107,7 @@ nightly = [ "near-telemetry/nightly", "near-undo-block/nightly", "near-vm-runner/nightly", + "near-wallet-contract/nightly", "nearcore/nightly", "node-runtime/nightly", "testlib/nightly", @@ -132,6 +133,7 @@ nightly_protocol = [ "near-telemetry/nightly_protocol", "near-undo-block/nightly_protocol", "near-vm-runner/nightly_protocol", + "near-wallet-contract/nightly_protocol", "nearcore/nightly_protocol", "node-runtime/nightly_protocol", "testlib/nightly_protocol", diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index ba51d2fd09b..3939aa1ce23 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -959,6 +959,9 @@ fn meta_tx_create_eth_implicit_account() { /// the transaction is either authorized or unauthorized. /// The parameter `authorized` controls which case will be tested. fn meta_tx_call_wallet_contract(authorized: bool) { + if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { + return; + } let genesis = Genesis::test(vec![alice_account(), bob_account(), carol_account()], 3); let relayer = alice_account(); let node = RuntimeNode::new_from_genesis(&relayer, genesis); @@ -970,18 +973,18 @@ fn meta_tx_call_wallet_contract(authorized: bool) { let other_public_key = SecretKey::from_seed(KeyType::SECP256K1, "test2").public_key(); // Although ETH-implicit account can be zero-balance, we pick 1 here in order to make transfer later from this account. - let initial_amount = 1u128; - let actions = vec![Action::Transfer(TransferAction { deposit: initial_amount })]; + let transfer_amount = 1u128; + let actions = vec![Action::Transfer(TransferAction { deposit: transfer_amount })]; + // Create ETH-implicit account by funding it. node.user() .meta_tx(sender.clone(), eth_implicit_account.clone(), relayer.clone(), actions) .unwrap() .assert_success(); let target = carol_account(); - let transfer_amount = 1u128; let initial_balance = node.view_balance(&target).expect("failed looking up balance"); - // TODO(eth-implicit) When `Wallet Contract` is complete, append appropriate values to the RLP stream. + // TODO(eth-implicit) Append appropriate values to the RLP stream when proper `Wallet Contract` is implemented. let mut stream = RlpStream::new_list(3); stream.append(&target.as_str()); // The RLP trait `Encodable` is not implemented for `u128`. We must encode it as bytes. diff --git a/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig b/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig index f858e180615..aa50ac8a040 100644 --- a/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig +++ b/runtime/near-vm/tests/lib/compiler-test-derive/src/lib.rs.orig @@ -1,5 +1,8 @@ +<<<<<<< HEAD +======= #[cfg(not(test))] extern crate proc_macro; +>>>>>>> 27e96cad2 (compiler-test-derive: Switch to proc_macro exclusively) use proc_macro::TokenStream; use quote::quote; use std::path::PathBuf; diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index ba6a4e1bcd0..62c5aa2bf44 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -4,7 +4,7 @@ version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true -description = "Builds and exposes a temporary Wallet Contract wasm file." +description = "Builds and exposes Wallet Contract code." repository.workspace = true license.workspace = true publish = false @@ -20,4 +20,10 @@ wasm-encoder.workspace = true wasm-smith.workspace = true [features] -nightly = [] +nightly_protocol = [ + "near-vm-runner/nightly_protocol", +] +nightly = [ + "nightly_protocol", + "near-vm-runner/nightly", +] diff --git a/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm b/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm index 3cd209f989327fe596379473a7e1b8a6c0bbb79b..fe6c39c36b180dd8cb4548c6202b6b1572987fa3 100755 GIT binary patch delta 41566 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 z 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 JF0RvY{U4C>J`Ml? literal 346006 zcmeFa4YXy|Rp+}u&iBW?r-}k9RQa;cvHDqbf|T76kT{;TZYKl+5wz18X@^5VC{1o5 zp*|?^JyLa{Do6wqw0Ygc5K|^3g%Mgbs2H&=w2YXbjcxiRt(b?33GIt-@D%$oUK4n~ z|6FVBz0bMlLRE>aJw_K)?S1xMd#$ZGkl-JLtGy6VcE|KwZGNjmzy{;KPD@7{6k-pjAN>Zz(sPg_h*=j}TCKTYy=8`r0Ke)`7z^mX~-V!F7P=V|(yG|kT7SDK}1 zl5X0Z>Xz!#GtzW%{Wq*v{flYxKfPAh)AA(ERf0MxpQ{4?oStQyX_i*`gP7n?qnTcp zzUfWPJWbZMUXve4-O9?*q<#{PK70xbiwi!JZv?*1a}OT-yI))~O=5!_fK>ES-?(~!C&w;m}PtQI3ylZ~Q{j;4*-*&;9zV%Rg{=ZGn z`sQs%((iraC(;`}p5B+f=U3Ak-6YIPU6kGVbNnQ}l}V@>xkT>ATC8spqA1*JR*&7Y!5MHTbUS2IpiO zxOA3_bo8$U3O_b17fl-0KZDV~(Zg}O07d6yNs$PI#-P_P`mWgR{ycfhkas|q6?xGZ z-L2AtZlC(|rMo}W-1VH9?w7$AbX-n}?}O#x42` zZ2EiArU^jNvMABkJCzni^k312B(6s%zyhQlgzpDgzc5<2sPFLaco>gcCl1m1c zuGOiZ%F^sW7;&SWliZ`gC1)j%9DH;oIfDw5t=Yr6KPMY_YGvD9)6q{iSRUOk7BJE} z7@E;>jxS8lDVA>MojU+sXWr)O<;qIq(qYQYXfLIxzai{d9Ubl(?v|CtvPKwKrSX|Y z!RJ(qVtOG@-5qgZY!0|2XJ*N{)X~s@PWT4~v^w1=(7R}WoF{Ikhm4f_)YHi743^Ke z@-{Llt>LH{aFmL_<9{VbOi87>M1uO_`EFzv#D)Zs`xna#d733z9~S9OkN)ns)z|R3 zlyM%ULQhgbEH&wd?=M?6A=Z`9}8VTesx4zL=};xved3^TOr?xveX1 z>lQt6TTh|~hFC7BEDWzMs1CxhE8&>0Az~OxJ@wB9QNF#PN<&KMRNwV39p?1CC#cnT zK4`noBQujr5EgAG@rl6AkiG4TMgR8w5}AXg;@7~Te&nY+_P!il|Z1(^6D}dmSrjd-5pI!SiUSe7ei%}DP5=xUS5&PJyF>s@Z_l6 z7M0sID);77SzHhY)uJ)3J8V+4J!8OfEEzk~{={xpg= zGyeItkxTA227!=`{=`>$AZ;9oL#i`r3N?*MOBR43shw?yt=dJ?lzs=LuhHVVhDG3o ztx#PZ%!MXW3QVCzy%xV<2(1DKpvH|7^s0JdioO3Qc@yX8ri{P!-UT619_+QQ`h0g{;&7_ z_2YkX;NxTL1NTsdBAIUXq3mMQ4sDn3b&ov`qL*KnBY85+A9vubwA?DXd@WAp?qieI zhXR1l9{BzeE=q&m4nxWC-Jnjv07qtAd%X5?P}*M7$exzcs8LEI&z4>qp2KE)})&KKoLHmdeo5qH;NuOG!;06d|#)jL5_yJY$o(i^$mOXDpCPkpmfJ37KxjhsY0ah2;o{0#z0SNUKPe@^f=>w(v7(OFA~ENu-Xr zOT(~b$k0Dj+z8;s_7(7z30VjJ=R$;UYpy|l2r#9AJagFy+W zFK$9gMis>oqq?gX?_;GE-O3MnI}p@Q@^00{oW?;h@;@Ru+jSNk?m%t|j#%F$JzHvNQVywc+O9&n6 zz_k!@e%=XSQFvVx!BtyIm2v$S(S;}i;cdFZ8M>usJ@b}|SKXpHd^0kCZPqv@p)##s|934t`x za51HgEtrT6^+sl_;6k%s0AtG@ohsXX8)Hc7ecXh_0ib8&ZT=uDnz(AHPt`7`z3E3; zP1`p;F?o_=NM>r9I-A^0dPP(Ex;Mrz_XZ_KMCm%eFvb3{fnZMbkIAL<*y&8L@uf8K zD6=z@+0veQDYGTPbC-@ArOdAUNK-R7K~_fEj)L+9Pt0=;eq<)G2L$FvLR*O%oG|=I zVQ5-H|Ep%&ivAIXUF!WKVZHuefgh<(a-owVW#Y9x)e4zBPq5!IqhluBNQ(spA+gt( zB_E&{r7E(h7CIt!V=N)%qc?y^D5c1T8Mw+_GA1A?)k1AxZni#*!KS(=bO{(Zph4?$ z$TA6qP-$8uAs&<}mS9XPiUoa;83#p!N9r~&iBuUpo+h41GB@QXEl-jYB$7bI;HeSG zKtjNmz)h7jj3GvrSJ9d*hxLv9t0C+;zz^Y;hOoDbPHqTK#p^7HLP*yS;^4C&jHbnHk-RAh zf8xzb>A)Zs@g%$h6A|A3!+zGPoR=q((kQ6QXX_>WD0Fl2-b*at**c&c=k@!R7Y3S- z2!GPVlx!?*RkhtG4lFN>^IrKU3wMcKQ~#?$+&nOhBKcD2mkvkv2$6y-Cf(2qv97-% z)T6kKR04l5-ZW`nFkEMa^U{&;7+ZYJic%~VkfCCJet3;nB^60{3c`E2$+g*3p4}DJw;}FvUN^Ruq3x;uP=LowUN8t`H3hb zqNEs?_e$J@gHM>)ZwwYxrvLI~hAPv3`7-7?tz>UZU#>BPN$!%DFH`N7n&b1fBJ`yiK~b?iaCs1 z=<_Wl6(+0A4 z8^af>c*>~^KIGv)FY7*7)lC!NY`O_XKQ+WA)YEOTqe=fG8Ij(~X2?7SeAn>HrMi=G zD!4L}=KO=Hpdo}^cP5iSxdzOv1z_K6wk{nv;qlcocEKOjr$V63QTnj4w*XE)z!W^K zngx()Yz3xBVc>?_F#42GX4qb32V`Zmy-52XAZHgenI^+DfHI__D`z)E8eG5ru!7~j!MAaI80f@E3Wckp=sCBpxt zc|09Ak*AZ%=;;teAToOqk~y>^+k-ygk;v}R%blaI*r;PXcCa?-@tN7+T=~W(s|T+E z5MN1R-;A65rgl6vHPPB>l}woR6jM^`=(nvtz1377*JOf?Lb3txj%lQw5ugz)_DSf! z#xVH_pHi73KP%ZV)MPt1r^+^a`)Nt-&xYFlE8d=JB~IaAa$xMwI{qCci!F;X^_i5Q zAtPbS8`8|XB}Ug)8L+TnNEro~8I%mJDqztrhfzIXk&5}ewm3mUdNxigu>o!%V;D(o zsW>=l#){T_!HUiAza%2iyJ@;F`ktCS3Vkh9F1MgkbI~d_negg#2GiD9T;YdR{eaC7 zsfanBaI%r9s@Y&U-z?POw(2adM!hx@^WP4934}T!EQn-17@R%_bhygKUl=-?kg}oE znI1L7oa>_o(%PtD7I|4SsMDinf_1NP!$(YKl;gPvZ`eqt4I9hCX*HImG6mv)H@NJs zVgoVvvtLDYjv{mG$x~BLOtht=pOpx)@tdEWc4Qu$o%V>@tURCZB0#(HAn_a-f-4W_ zN^HvAy8j+UfF?)5!1UxFv>z}bX2zO{)B7uNYAEq&kx+fod>e^9jZXp;2tNfxr6FcN z)r>2Jns1hZ)yIFMnH9q z2GSHd`3^9V?mj;`9b={GTKmcer}3cW2GxU8?ZNteuD#1Wt4}t#Mwka@6#V)DI)CRQ z2b5%!OWjKif}Ygo?{qgZbaNM*^cB+NQD0j|ZQ`|BkrIfftcbmJcNUiBkRdi(l}Jo96D)fI z3vv}GK6)(LDD|p&0mF(N)rjk26%vv^sc(n+*7|kg?GhW%yxmE)JJ7c_5Kg?^j=s%L zuHCcst!&nl!1I%dK2A^W;|bp~@??r)9a)G^HZ+x)oWryC-XUUb1G%s=+ms_lK$4_T`iN-GjwI%P0I+$q&N-G|4O5pnVOvh2=H3O zvljUeA$j!&8`5T@+zrbM|0GFBypHkC>N@99c-cS-GJqu3HC@2a&b(FUrz$k327;OJ zvJy<@gKD$k8FZA539}Yr$@EU8OEhPt6^1qBp5y zI!Is(&LSJ*4N2vq8ed1KC)VID=%#((UMJGb6!5sMzp%=FI8 zL4x?yo#OFpK7JU(FFO>f!CMW5`rv(ahXSZ=)`o&|{O2XLL(4ywbz1LG$uQVCYme-| z*X~%9Pm&e&5_lwz;VArz6CA_y@pCL^WHV+G#TO;lJckA@y~$>O-Hia^-O$|a-z674 zcQ@fY6$#d&V|-cuJhC4C;B8>?#NC8}jTTi|3#Yd&{^QbJu^C&D(zg5$V8~qthvWVG zgb>^ebhyiR746;ft>p)g@t##lLv?Bfl_qc6B|k(jah7v}UwqNv3tv=e1oojEB-N%D zjG}NSkSKx~zRM@0Au<#;6eLQWme208-J1KCF;y6A(*cb`rQA<|Q6Q*RT5_p1+$6CA zj=Xc_(G^M9=U+n7M*Gt}Xivv1Ug2$gN_99t76|2Is=kSCQ$GZl|AC_yVJ$+x|6Fq_ zcARd(hN0zZl|w}(FjmKHDB7lZdMPHKp8PYZmEF6G++Kn4m5!X4`Z7S9eg1 z@e4_kNn$d|gb0)Wh!*tWMMNaH;DyR1CTe|=Vj}v4^>!B#De7vnjr6$gMMIxKM2xN= z2HxB?Av;gv068IBB+3VqQ8vW8u5-~)#k-QN)D{f`as_wl9eo+o1#uZL_~iqzRVix( zy#VhTuo9YGNigLObb`>7B=T+$qHZk5s6cMpL+d!?QFTF{`|2bWi*&cr5_oMgQ9KJQ zGB2XwdgzwA;F83BugO1^L{?f`W4r_MZ-P8jgO*!ZwkPk*11}BYeK0U(?T-0SGqSLW zb?B@_^w~5vx6ry>sT2bel~EwbO;>b$4`cmA3q0DvaM2N>3`5pY)nekB5)I8QTTcad z*R+GiqY45PAFCyOpBhH!CyyCYHUU|X4Cfysw#6fe?FwI0g1*G!{HM>=l|rdN4%IQf z#?wfhyQa#s1arLm&snZD9A)NN zl^pH9NlD6L;-x!(FZmvjiKm2G*K-g?mJkz4iiX~_?2D{SnoH0Ae7?U(ZaRWQw1Df= z$+b*arhDCsLd^2niK*e1+rNwixaYt%ij!Hv*&-M-hVZ4A9{u9k?_e6VDUAEbOwl|- zvwxOIV0tj9Z-Sr8^IE&DmutX;CnVHTgXv1}?54rhRBvcTfdJeyrr<4XB$}^iU6zY= zEW2;gl&Ghk;V2GC}v(ay4Te8P?jE!#tS0;{E3#DXtJ zQ4ew3HQ;NcUuG5-m1&|ru~l^Xf#}iVL(z$cMW(4a=77@ICyD#@18=p3-)dQlDd>&X zDfW3!qIqaQ0-hREN^rXY#l>YKDoeUPAN`dWh!MrKQqe4W)$m^gJ{4_DFq)bDJjoic zUrl0C(}*ni#BEcu1p}uTvkF>3X%@bCS=a!;*0`tA+>nTVYS|7FdYd2~t-IMq0fL!~ zc@&1KUDY2+je>9}O(`s|wKX<_tI9Pa?}r9(P11!%mZS+WfOfT-2wv*edm`R_xaXe;Igc8b$H@Mw2E8%jgV4VS8PJUUPZPlqHMU7*vm{q<8A82_1Mfl!Z z^nn)C5eb2DDMHBpYr(D)7IH~k8o|wVH7p9vINxP8&=qc*A~!r_V#bSQ(kno%p&`&4ghaxKg05v(&VN*7$|d9oab0 zsU_Q`L2n3w9#8>W|If%Hz`Z;HJ;WgxrQ%LT+?jcDnY~2@Z7i}g^R0yWNYl-*tJKwo zdl50LO%7zhBmB1*$8U2V5>tlzjU*6_l%3}kw z+n^Ek>z05_Y#A{dT2?f}%jV{rarJ`&k?HDMdoAgUbcF}ToqP%d6*d(1_dqZ77+iUy z*=l#XW~{$ofT-h|y&qT)8t@K18U3ieB8thP-^9o=rtAekHPys{bJpqlXw>aA~3&G-h@ zj6q5>vBAaJ1{ZyU!(xHv1~iC3AKhV1+7jYUXi{*FDmb;w6F57gAG4wa6~k+gprRXB z7vXXrr+bijh+1f@52*N9*<}oU9WG@)D2U1oUP)Rr_p32DDYJaq%*bFEhfQx1aV;V_MKn$Ab|X2oDm=;rDk{Kvkr>|^ zT`dBv)S&uqH@*&pKhLZ1sDkPB7RMH^tD3X@oghMyE3Ruh+jQ*ifu(H3M3_c7k1=Vy zT$hSDH$Sh)$okG1)Ed@XO@eGCX~RAB8%HrfZ^2W*U3O2{uY=*&v(xVseQ~RI$uT*B z$k5(X))r`1TZIHh2%X|tS(6)s^VEq_1q2sTDQ6`%$&!!mQV-As@JSG=IiAbPZwkr? z*U>tZpKX}drWV*ivND<#-)>a16l$;9Y!QPRQzrFs29MYO zC~X`K20C?6f6&`nkQ&UukRG86r`@;CIl_*V^T5m0XrB-HMU!ZHPH!3j$iCQTl9E>jn&2(>N4^)uOYlHXD ze5?QzRt50^rL({YrKu+UC$FKkH`rJ9`t_I=YRWWbI(o!7uK%gb3@jlgF>S3nWhtpA z=;r@n1XV`RX@(TpuT!>rSHBU9EC{qHX|nW(AAa%0-}&%|KianK3YI?j=`a7kfB3$? z`qcXmpegzb6i2T9mhkTqtqZO1Mwa>EUyVteamBDQwIEk%WyIWrh~rGU@`l@(ez#!1 zNbs}Vx`F+w<<<>dPLu;quYa>RTdJ%i);hEjwJgB_S%OM$0t}Q!hduga0-7Iyli`!+ z^gRS*k$R&X13F;Nxi*QCXDbZi-136Ku9~ zO7f@%a#75+QnNOz%0;7D_)aZ8bEEQdr7Tc5^=6 z>k@r|AykKTDX+RD%~tPHR(0u@8xXx(m(!RYVpMN^!hX6$Bg_9MEXq~ot&k0r6KGRS zJ_{&*r;Gy`0H_n3LAJMQV}#JBU`TCNeHZi_$U+sXiTj&I^MvB?wUI zjbgL*YqM+#@DdoIRs}-@ql=Oh@ssj0Dm4~>Wb}De33MtHcQ&j6t?^d^tt^NW02)HA z0$St&l)(uD4PPpJQUJBlR&3yByaB#xVHJtnsdqv-w3vEkq>#L^=k|;F$vfw!Tg-jx zArMi@vG5z2NsGu6Moa|;wO4~&xRZ&4^eitOaOSDGaQ?#JSTzr1#lzd7&il~Y; ztF}v^@&AAaPuy|T$J&#)VIY$yj2QPNy@&zzyV9yYqUTwtFLPhJ#XcANh(W-5ZSiUb z--BIzvK6(Vw=fenggdNs8gpsfLH}|KHSnb1qR$k| z@=8>MFf3a&%mdeR$1DA-5M;8jzKW;x`h(%Z;%FU84G_;tFgB!Vw}jQd)+ec-Cq8R^ zBI@Mc=ljHx4g6skW=z+4Jfd5^gB|N2#`6XZFgeXOOM!f1e*{`#ou~}GIjwxHYUS3G zZ-vbbj<*$yclngg6YUF;P+DP)to9z8)0aDbyTq6U&Q7iswl1I*7{K$>D!SZPwPI1R zlWT>|4}`I-aW2ZU-WS+j)IVCaVga_3YlZC-tZo~lnRJxueypn7CXdBM#yf$%C{p7f z3*mr;={lY~p*q-oVGbP6o=_bYbzKF=ZI6{SKaRdwd}&o3cb`xlgcRoV<=zvjL(7Ua z;-_)?;0e`X8H}syICesHm|?i8jwes34moS9`|{ig)nT^YDmd;?mX5{Uqb_+lK1Jbq z0m#rbm4l#+0#mXa>9&%X4KgM4-(TC3s#+yL1%6U7o0ab-8p7lgvniMf85%igJ3^R3 zhiPBi{3{uKNzKZ+L8SPZEAtm5U?$9%#P4NCF}d?r1%Ie8+QW2!lEGHj;x^{i%vNv8 z;+7xcqn}k`B}@0bsV#iSRHbBTZGa%9lVNEHRk5T(Pcn?rx%N~McvL0(?N2qLj@G|Z zKh;~geWi7Q?v#+R%f?WT00GkfButE{qBLKX6BIo>Jfj=uX<6z=Y$;F>6#VA8qTB%Q z9rel|1@CN<;GFFBl+Fk{8}D!@^|+PmXbr``0icXNM%>XC1!(_B%|l7IHnjEQ}&8wB!C?Elm{6E#f*eEP=m^wEapzS{XBa%;BFgF z5Xs(Z5e6~rw*ch|7E6B}|1c@wsKBR}oh%{`z0dmfY9X={5P1)_sHGi=eKiQ+7X?fj zyS?`+CzhUO>awDWWCQUUb3z94czw4_edP)7cKnrZCu|ZyMe~9&sDg;L21j!-&rt`ul!rRBM^m1kcCb^lGuxm z-|D&Ju24{>$#xV5Wxscl?Ce1Iev#+vs10U7k_1$Z+fy@mX4J9NT2(5N~9 zDafj0EL#Tn{4OfNiFj)$#HKI-4~*an4-|r_#el|BJ=4QNG}zTsr~O?(wm8u5Clq+9 zAT!ZZRd=40y30LL*{obV%s>_o^z^3TS&_SDdDklM+VML`Q-0DZUw6y9UU}CKpD@v_ zwQ>wQdIR?`uN@iRrqW?qaW0`4Vp(+1Y>KtVBmjs^o5dw_sN^LCc~Qz@E>D>R`ii_5!nY}`zM&?lB|7*UNgLiK4x_h3gMCRnd}FjP zQ7uYHuYz8@^g%C$&C6nPXoP3{VSCC|yZ&#~r?nOYZv8tA8uMe!Bx5@!AM4@E0bda= zx=oQMY$FSa$hv+;58OZH?Q56aJwK)&$Mo;$k7Q9*lMeGkVFj(*4pXQ^+1J*FNnsz7 zim}W4osf{#z135Kt3zG{Zm`=b;O2oVp;Up} z-)Vw-7F=0%HE{bjl~94(dnIrYM+}0ZfAOTVX=2CPXtOtrJwRmU%t2*m43^j0l$~RS=wPjXvFjUcCpyIX&oF4|=f&l!uL8p$8)A(DwjkBWW4vxmFK)HF~~s z54z(82W}uAe=pv&)67wJO;}3Ci?r1k$ljJk&cfccxI65txYZO)9G=87T^7*r@cyaFRn;R?PmZ$~ z9~S+c3>mDLi#LfG(fi|tC3&e29=oeE*7^*XBr{0?Z;QXX7jMF{$=NnwEU%Lb?#FnY z3eNw}FosRN?2&eGyxx~HlhYxwiuFqg2V_X-XfpzI$fd*e#mLyb&{2Glgl}&;yj>@6hlEb;uivRgKc;k7a-DJBFV=x(`I763!7!&u+aah$WQEyiIJ}pdZE^( zLk%9|)8z?xX0Jwf1BWS5?`S&J)K)SIAJXe`!MVJJO^LA!WxZ1|qBi(&mkd$f$V;=) zES#oylZKRAJa|H)nF*|-WB#mtO!1ip{L9664+oB|A3+99LR^;0!lOc!L!R!$cgry2K=Oh=zS5dBb<7cNiT%Qq zkw1r!f6H)@gi_W|Nt&5T^EUk@LuIib2#Jm3d4_k>{WI$f`bg8$=tX?eDe$is!68S- z&=fps4RHxQ&5M!Y5SM-=-7b4<2IcDnNgX3pijV&0;ex@g8YUeZCTst;wutV)xK6RzVsJfs^>*9;M4~X z);|D)nS1{8b$N(@a?eaX>G9;TsVCZD%M`j;ZxdB~ss6g$W#Yj8QOGj;_*q6c(1-l7i2b3}$@Z}>qdjI@fy zBRb7Q&bW?Rk=qyQnyQ9c{a3^uT<;orisd0mBG8~%fFZeA@caPt@f(?Be1p@J7YmVZ z%qA2o^A+18!7NHfv=XXk=jbPd3T?gHpf~tN3>ILr%^?djG&AI(mwy(50*`Ie{*m>m z5{rciHf6fr_Bcpq+3Ul)M#eDYFW~pzY19wMXS`$Q5ZaT$PaA}vMWhj(UzsWwN%usZ z95&+l%wz&^^(b+I*u2#t1F}=gPL{hf z)2KO0wH8g!P_5tO4@GVDsagaTl8ps_o8&v`zG3%@XP3DFom#fWR8|Fp;%F_;jQRXz zi?n`HB&wV#Y3*x0;8&dCN&HM?;_m-VNG=yIDQ9>@7kO=dxt*d4(Q#u5o+gBx)+!Ta z|Jp(Qc;<8b8yz?Q0-wxkD19;jk;9g&8LIR15Gg-ubN?SotH}pN`oG%{%2?t2xFA<`_~R4yDkx(wn)X6}Yb7kg)Rw1m!ShC7XiFHf+TCH_ z?KkiQNl~1ie7o+5{`mQs^vtYtZl*L1?wAK%JuQHE{yE10ZT3K;vsV=N_xur!N>gS2}#;#7ecbC1nW6$bDStbYhh_1f>dq1(+9 z(*12IaM@2%0#LNEpV0JG>!)(3j=P_kY!`)gem!8qa#d`|2}!VQ#6cjm-yBR z`C-;5qc_u`0GsKecE(i+c7}E4m#duq5{5?=2e5LzQ)v$#0Oo?uc951^t$m=7@p#ne zNeU{^mX*42eaSRWUjv767X>h?N(~e;pj}iPc`lCM-k*OERrP;8S zFdZ})jNfQ?>V+^IH7hp5;aeCVvpY7{X8p?{Gqri+&zzcdIo>q{=5;#KnvwbWf(9gb zOxmV|?YJpnyS6Fe%gc}RJc&vPBC<(jRuV+Bt6s3dza~Li`S#5It4R>KKoT~uiUf(F zAqbnX4iYMr5@ebPP-i}31AHy_N1BC}YDTr&;wd5~Xa^4D*~lH7$Jk?&ER-CG2&keP z5~M`XKm#1Y%)llg0i2ke)y+kl#zKee^t41rvlOT?MPKMR`J>Jyg{SnHM+bAPQJ~JC z1142>{ylqXf9X~j((4lo+jxuwy!d_?VZ98_#PgUbvSD@THQJ0aHfIuIz1emKvFSI9 zELPR2_vL^V8!l`~UU|dX2IFcC&h%clwuYn(C}3bCSsjB`h6oZl4Lf8SZ!kEKw}{_> zlD5vF4POD6_0;B;Fc}a6JVFkktLY7j$)u2tou0-HMpV%&#}2kqP=sFhYL8;+UNaYD z|A8S(QnsLgrUU%QVMeoHPb1GVb*8b1A)>b89{{cGd)hAf=hYcbQtM_NM0?2dPc@u` ztofqL3q2xVs9*BEBw}TA#0^U`x89RO#{4#7@afBN0OuU7Vb4|C;8P-fMKw-lD*v$ z{p5_`@yz*h^t=8W=|o>1034_Cyi8fEA9G}IWSm0|>{*#=I@%N_*@k2yFc|5j@n&YO z3^TeM4=$@Z43cUcK8eoyw!u>c|I7E)VNVKNmyqA0PFVb8s)7?n05%L2*v2u1w3C^= z-DGk&K#h{ReD9C@?1U7GV)K0uHGk_hbQfNg3<~sd_spU6Y4$ zRvNMyxEcM7hJp4ceUk`sj;fPMDbFAFJ|N#1!v?_!9_gJ7-3 zO8ug@*>+2C<;6%C9uoinE-T5PU3%|`?yMxS!zXs-Yg{IHC|f#UQhZ5hT71Wl8AV$< znjP`XNhITv;bP4tBn?MP)<_^!4?$N*Re3&z&*BP4SuxiAkT$Jll`c^T?RolL=1nK= z;gkSeEn`LX%`5y3V18@%NJ`705;;@U1>PicTGe%@1!;sT}g4h`ru^yq*XuPuD%=f{ZDk|Rx-$>vw zjLmSfda0j$Lva%3!t;voVc=UC5A8C4(>wo16HRTu!jRyL8lmPv;&Oj z=V{ZTt&%nZf`;|io7EWA!LU|B4y0k?6XPZaLW8nVl1=F}ldktwPyW~nK}ImD=Bs+L zG2I$$UwKYF#TgFY0!n9t12w$P(rNm4i34HX=mj3+LKtsiKAD>~kR|2E$1psS6RU-k zedxisJx zm@s&Ft7J#TghJd}3|MlLQkm&k-#Du0e(84c>*DD5C2}xEnN59-GMI~nFje>(40=*p z7MR0+4QdfCd(b{<#ZLxoju0qPv?Oo4ZX$tG@q=TA#8fu6%Y6D@Ci=g+2U%py&F0iYZ43d88jJtHyy%kF?$Yy1dW}M}zlzd9N>; zF~03FNlNyIEHb7JBZ4e9Zm2QN!-xWV2#|{H&OBAj6kKOz+5hMH(^{9#U-u1`J zx7y{OJlv&r&HS$xX`|7&P<~7p4~&?Sk=s1<3`~&m(&6d)DIUiKkZz6eaf+Y(M6{s~ zN3ypEIZjOUQaVHanGR>wjjSQ(&q_xK#u7QRjp%sNVZ(dUqeN&LF>2jbQtP9hz@B}! zX15u&?x?7>X-&vaT?=x58vP99r_G1l_tGHuC1xPkDefkkBjk6l1^L|u`8^fnXRHbN zDQiLQkEgFg-nw9@mFI?YuPUZ-jy8!U*yG%22-f`x^!|W)#Bwa5&3KI}o@(KQ`id&| zt<|^ttZ(;MeVfZqe$X5iK_wgV0Y|n*@mX=5FZE}!RHmax14m{iD;~6A_7KBtXR%&8 zWn1D4n+;-{{mSyXDJ z?o@ybn>#S<^J{608#VZEDm8{I1~V)U3sRPooT@41Q|OtxA_KBVl8wfK`XDRQ=7`J= zkI-6Q7*-S{nQkt`e^*Zf6#oqo)vleJu4ccm@z|X zVM~^g=aR1aQ-9PjDX0)VDKxVt-YFn=*p)e2Nk62tx6fn^3{EY%tmxV7pS+RGe2pLu zRfnc)BFp9x8P?rU$bYLD9)%TyZBW?+uszBGy^3GOaE1HU`@uM7t=sq%2~%)L-sB0< zweX-3#$X+e2cLw0xmAc*?^d~$6*2Z!cees5anii(Ds!0GcC~I+st6JZAUm}iQw6$J zssPWt~7O5^FNwT8kKVuGv7p#a7!VnDnaHTa=JV9ei&rYs5Ea9tP3_)34nk$`## z?nvqOd{wh&m6#_;7TNb@dX^O}-0I$rmddFmh%D~**) zhOhU7H`UsK`QK5fr50)=)Y&~qrL{hYYDqREssiZE~lA%OF;hAA& zqa&*itAB80?6BWykYBgeVySEM3F zLx6C4#F??kBO*^0K9$U~h;587wOUDQ)t~yK2CNdTfFLLtRI-~*1I(d?1f^)fSNi)8 zj~31PblhzgYz>n%QNqDv(UT@AkzaFyW81~9Zwl<%)C{h-!)yjA#zZ(K)PyiozjG@& zPnCRoSqa~+lD1$|qgA;RcgnO{cTRSPu8Zenx9LiH^&wq}=4jGIQDIHW=v)cSNo1_= zmZ9AorbHN;3Wkc|nixy^X%nFeT_8s(Q0GZlHLG)~rTWa(5Q)1JgtgDYr{z5tAChM z%@#d$cXtzzYdqYXPDY{o9&?1%8PgzD_-;X7YAse!O^cjf@W?D7LXYwZ= zgQBtBH`(5y`8n2_HLQ_rl$S>6+WDOG+iaJ`{5T>>{*4)+S zSSHNiDinKE8Z*JOXAn(PNjqn}m1LhqS5<1t%$DLuH<_-@dTtRtbu zvSKX1gYiKL_aSjciQ=R7>tSQzuzAJOdzVt5P9Wo+`G7A8BU~TnDkJ4FT^WqW^xO-E zV^Av@{kcH#Kx^dN^uY`1g!F<&q?_Mu3(~w52veE4BvGdB;R9NWt6g+1CQ#URpW`${ z_CE1HerG?smgu%|Rsv=Hl|uPme{$HvoXsHIS@^(=M2VoPY(ITjJvWC)vs`C=m#BNRa~Dox#IbP!5eAC?ms z(l=JMrtGP@Q&p{4Ojl_&!~?Zt1ClmDgt&&_7nz7`Br-)A-g?T=T16Z12|?+6TC5A( z)a$4hBUgP%$~v(7)kuR=i&N_52^+NC%?C*NBN$GFBQsB);>y`R;S zXM_W!&j(DNesd{&>Iey=8;8%9SHfMULCjb3w01!Wo{&Q{g=l)X<3!%5baXcjjPT;lOh`=|kacWbN zu)|KOi+0a^c_^}3C~zzc$azqNceF9F+<#37(>@z9dVnUUN`D^`+(><^r;_~OThhdy zasznh=6okQXmOH%&N)-{=g>g?u!5jId7h(u4reuC2SG~#=RHhEh|^aV)S)b<8O3DA zo~=VhtRoy|UQ3*58+R54=pb>p-Yqu0)2&;;Pw}<>3i0rE)C*g?$CU z;+gc~+yt@ZG2&69lfdkmVZ)=Pd{*Pe@C>Le_E8N5eS)9kr{dfIeXM;KHQ;@O-a2&* z{|G6i7uvrAsZwaNLU!F)X=fJMRZ<(BUfkvGILzRb#b-*dv9I<(7MQ4q%Kj~5)i!3C zG9u=UA3r*kugRJc(BcP@4Wq>Um_9!zds>78l`@gtlZu6ugOve!PWBYfc|%%S7|d$i z_{Q%zn{5}m8F&mP3U1A$RHH!wSZ2g7=z4F)J|SH1%fIR4mVx;APc5`fl)D@v_vyM~$0KnKn+C3yFin!xe!dabKi#|)3Cawc??@IIw= z!(u&PF4-w)-3=2H2h*n6OiRiMQ-8~EwJv@^rdg*Npb||?T6?A8tsno5VN*uOw8BjoqXnP^E0R-a!!myJh}%=k{Mu8?{NO(+>vp-! zuN{~9QK=Xdt){tJ%tKo#z&(>oqRpF!Y{{vy-|_~eVQ1A4!6kY%w1v=QJLY15&ExiI zZE>2h`9Nm^YeyWQO^ZR$7P5OF%sg$u8_Q*@b&7ad$#Jt>mTh+%oWOyOFPrL1!F0QZ z_sfeu$-v_leKRf3&HF|4r8cHMhzNigmTrcRMw0ER0*04x!Ee5h3*o{y@!t4M=ftHX zdFKW2AQ0F;SijhPSUV;pqradOHQ?UqpA9I&7UmzzR+i4Ym48-V%nvSYz4ef8S6*lz zT-s<)S5}^1Jh;@k^^jh4Zc|e{;C`d-DW~UKx#x54&b#fiaT zRSVq47Ia&+u%Xt%hFS|7$`+`~w;)_-*3))cR);iUXXdmc>sGN<;Xsy*bdCwiAS8|K zc6=CoGt`h>U@#1$d&}H{EBp`Muh;uidA~lq=NaBaqUmf58NV)pXRDlI+CQ2tZxLl` z`&idDsX#cdu}cLaeDo{&&i(QGkMi%gL=(^5KmEHf*TMP-ven0+U+IXQ~QPPMQ+*@B*|HjY!eIqriR~zKercuW1ipC_1hy)5@ zE+A56a5VI53ZL1lj8739f2Nkyyb7QA$*{`|KCM(T`dMMINY763gD@2&QpcH6bW42G zgG^Iq*5}BL#PgvXR8pXZsthe4reY>r-e5Rj#A0jLc?vB(ho{PodRf?UVmt+gm&XEl zmZut#r%YQ1!CYi^YE14P)X0gR^&(h!phzAV-Rei?=bLG_HZpTRGF=w8L#DGJtHHh> zw&INYWYSWT*^6cV{XeT>75!_2sDQN_p;&f3+J8a>jSP>T^3D5nOdKbhw9}=uV{HT5Q7qxFi zRbof%H)k;&To^Wc-Dz8`F+Za_)s7qH_h9s4{<3FG)j?PboHL1>1Fkwm3TNyPHpiH5 zsyEG<-mnK@(F9yLv#Cwk*z{gI>R~`AsHBPS2^X!~;*sFcbdlgAPo*a+(>VOco^tvY zT)>2iy6Vsc!fV(%a+E;j3`haTtaTDpn9C)G*`r9^okrnZpRJ*=MC`F?#L_h^vk-^I z_9;4V0~{{yX)74^)+|5&Lj7}8gQ+LGV4bQH8V4e+#-M&uh9e@GD@MMfNNht6Fdvg< z5_%bT;ldUsS&Ri%m3>l}v^26+cgTuhdj$$L1FSFTck@{VL^W50i zvvAxs<0#f6TSuc!ihL*ArqWIP4OkE2bE|ng+g`qC!8NvNl2!r$F?_qT6Z2-8o$6DD2DdZsc+y{Zdwyw*aQr?A-1Wa_bXrbOwAyCH~h;{}0cESfG8ZH?& zJ*A!kv-GDV8*qoueBF{g_0M9_qkQMTg2rNI=<~p#qI*bZ0VW!t*vRw}*=@KG@odRB zTm>vi;3@@f;ks1XM |PGTdKqFdY~vh-9XgM-npVZxwF`u{$yjylD-%C?B#63=Ue z%%#-t5XPon;?G24By;GjFpV_GB-DItg1HRdm7DkJYv3Vz@;TM%k}<#GdOem*u?su* zX?G)F8K`LO`!SK+Si~CBy5u;B3mt+uH%j~?>6DEcbdu^;|LK7`pMwSfU1IW7Km7T4 zs2EwVdSLP~cTanBSYsx<+(Hd1FEPrU_GHon<=z)uh1|F}_&>C(9rD3!0K{Xq{;vre z|3Jqi*m)0{C$gpDWA+xYc_LXa+l72f7n7-wk*iqq<@0Hx;Hx2SDq;kQhA=PpO6)TH z%#9C6Q_}J3Eyh0Rwg4tPWCv7=VX%=xDN!ve{DZpcg?F}XUESOMp0m{%<*L5t&k`_frot0?o{5au*!j*7o z*n|&STN6Io(3fI5ZG&QA!iQ~m;e86m37@tmT(tjjR}((eqi@i}<%AE9*mby4DN}P3 z5DS&$VP|wVZ6by~XOK@}Va76Q(I#WE$PzT}r(~cQOskQtI3ZOr8Ro0f@pQ_&t5KgC z!xRwl9t1PB$D@sD!jxke_2u}t0YUd16ques@lzwdExNXri&}OKfm!X_Ow(+}>{H>< z@aioWHqKY4MIC;~+k)vX0TER&s_Fv%lg-vkU>;vDY{rVrh#=sw2#}qOkY;&KR-F`i zU)&7{o}WoIO!Rs=M3az;@Fa@IN=O_;snh>*TAg`XdD9}DQL~I1&pAU`<^!uaiJ7(b znk|8}8C?V)2`PN9Jti{^F@Kt}7)OqIPH{Va(0nDlbPY>rh+N=?+N^+tKGrObzTT--ttep>RV~20#=St#0R>P|n z&joZia}x=N(WDj53-ulW+cua;fCM2!gHfW5cL<96gg2op=Pz}1Cw)oGfq2PMFSHl( zz$Vy-((--eh|aOnj<}p-r4675{v4}CoeZ_GTYG(@{{2Mpf}Zh-KgVi;H#u+Y8#~Tw zp;)xztgLD)ti8VN9IM6ZD5=R1v8gGNoC>hW8Tf?!mf6Ff!+u6TDsma@1PvN)#c#EF zR!{P6)M*_rom~Ojoueo zaNMT;MWCoRfnr5gp{lr`n;_kakdI^A*1eAEawvV>uV`5|0=KOroVfP1%{Z0wfxo8h{AY!R>7#f}f zL|K`ayoculanb(Bgo?76o0MHtPAijk%YH-_O`Sxh?-5b=)&W}2=$<|YrVl(C^=IS< zG*9jPnu35s0#D586vd&;&=iD}8H3SfuO8`)!s4=;-qZy9~sBjc@@aT+Jo zmVstJ=Ll7Rl)hG{Az7F}^Jwan?+I>{O2p3hfJ$`HeD!y=T?X%Lw0CVL5m^PEIh z(*N1K`tDhFQVbRxBKbLQ7uG%wPd4~ku?_t$#<@H6F$jz(S2w)vo4d#HMea}=-q<{E zdIRL#vHD2HY3_|vjLh$)zK4B9@8tG&|LwQaSk5k7=VVvdowh^1(C!pTMWgU`BX{R< zRh9RC08pZJ$}_B9hJkEq?IfH_(eX(30sq8D1&8+7%t;9rNAIfW7pSq;iMf6HK-Ec9 zvU>5g;WP?xWVel;zriD2pMim9%t#jLFA| zXFy{@D$%yFqg{*u5GBW+Ie5$r{F`4;Kk<`fGw_T^-b?KIga|@^PdH1SO{?7(5s62b z4yO(_dLR$yTk3K$E@~tf^?YjyC&GIhEU=5FbQ(*OdMFz zRWe1A|FEPb)n|L%(T~t$Wrcu`T<)dzGs>w$q8#gcmo3R)M>?ul^0q-H^mB9`1>3vE z&G^))kSV{UvA<~FG->}Y+-3-x39+>Jn9SAk4cc#wH-k0awE0|mgpov)xv4|Qnn6$H zEZTg?B!38T(O=PbO{l0KR9EeKZ2Z?gVh98q-^9^Xg_w{N0=+Mv%ac&}Ssp1^M4fIe z8xC1fo{3#YQ{TD=kkxcRirP`U$ANN8Z4B&Ll-tv?b4x3~@x`tICj9Fq|KWpgFuGX}Y=fXTu*wJGR+F??XW$Y357E#6`Iz;~dLdQ-QR zNdi;_>Xw0gQ_eLt=O3bneDfAjy_Hxy1*^(8G9SR7-J`V_DzORO$VI4sLX$X=$@?tO| z2yrYfJ0>m@MkTlGQPeCsnx$EO7NjRF&Q^3BWp3A5l|kl_l&AAxAX#%?Trd>{p+>AE zpXr=zZ-Iq#lWmtwry)@ItB@!bqLQDm2r9XNLc2N~p0KwC{voC+qY;~mHk|Dr%ZF`(Q5#07`t_;ER5%O>VBL;%*x zsyhr?1kzba;=T>%839$;kJPM0{0zC!WPB~VZACAz2b441Vm`TVv2g}JeTz1B-Nrb^ zB%mU@mFVL;adydB1oxI76`yMs0pu0UM~M#Lv-V|{@-Z^gX1L8Gmys85B-HNvDM(*t z9q7qzvrlwxkzU+A^#UrsF%_#~r(i0WY%MGAAI?+n^I1q-kybjOi9&egjcHPnD}NLY zPyHmDkLqI{VjNm$LTMd;%11hahPIeV#kY|;j)m`;-wuY*en1)toEKqYUT4ad0hOvDR#Uun>gd}AGYTpT%8aiaFMrnL>z$$*I*dQ=m~UvAgH6NG$VZ=Gdct zEOEq2EX*nKeGJtQ+uc^?WLY_%osH13R0H>zs<2Rx`=D%KK?OUwEx@NkxKqxmvE8Q? zdnv;c$6fu`s_O4N{_11@e($e^0cCy6V&D%OY5#x}u=0<&z_GfJrh(ChejRI1P=%$v zsnu2FGn^>Q%oxfxXDpD05~s#ZRFkTqqik(5s^^mlCP~rLK89R4);1)L@of)lL-LQ8 zWPiZ2=m)KAC8mvyb|VKHO6z2(0EQ8PMl1-FISXo%v6`-ZE~#GoT*c7&s>AQ)*|*{( zm}rVu8h7Y^^sf7!NcOmwzW!ftP~7^!o?V6lN=&_BW@^u_GKWFNH7*?1JhHzpz-T1` zX4Z3G>W($|J3+&EC`e5m)?mfvpM}-jTE3*`C=Nj>vxVB}v6&MQQ8XoT6derZ4#5~c zgc1ge!y+!)JkQ3`@=Oy7an#WS#j^UCNVE_O zmFkH!CM~;J45d5=So$1;EGMC=OVf3VCSxYF`tKxa>RAgR39qsp!lO7NW25Ljj~3HdbKQ-nu)iSF1~)-bi8! z^FVg+CD8fPRBAvyYF|@yH2`XJGgB=F2$ro5SZlgBpbYhm>ENPsX0|~G>S?~%ADG4g zui-c~uJ~fSViNH@E>vd+u5ovkKZK3bk#&-ZKK5s<>8kFI-gooLN&;H-Aoj3)h;6Pj zsAAt#tbQ09KkA3E*=B?Q-z?B{=O?lzjwZ`n5NyyP>03PBdW1f;bJ;apWpot)sk{4= z^wu@~!U9+&bsw=O4gaM72mMNaSD|nXh1vg#bYW{V?oyfNolX{i)UURWWt*XyS`KZl zoFD?17-OwdPueR))#?f#wpU92TGiH5SUfiNGsoNv z5s`FGp<`AE1Bya1YBJmW?^&7D`oE5;ah(o*-+oi{})^?LiMLON^!gTw3Gd7n_zfr~Rx=TV^O4oBY?5Tg%<^tHKHb zj~wTsshFl}Ld~^63LQ0Bsh$5MhUF+rO}|6}l7cy!cLPtlL7S%BJn`@zcIW@h>wLLi z{7?MCN7Ofedi&mG_osdTWSk1zizKRDo3rN}$`sb@{wrbUYEaXMg+EAWk3uF!Rnrs1j#|!4TUth#vk~L@%uHL-SnKT6n!qGEAM(I*=O;Z`5~(}<0M)wJyXWnCEOn3k zoF4o}KDxt1qlNWT_u?<;=~nl9pVsxGnfuFM)XmRjzL@1!!$am7V&4Oce4GY+cf*53)ER4OazhOOr8+7 zY&w>NL8u0!+pN1udUQgq3KsM%5gWLOxu`>ZqzNe5t8(dXfFNQ(s7+x0U#x?ccu_!E62QJrs3Ybf_{wDKkaEV%b^H$&OE1>LDIt43aQtOT; z_w-&SIX5vg1=*cTeOT9vA~jRj7jqPI?^U#z*anGF{AS+D1i>2 z=eg>hbd~p_j`P~I3p7(Ld_fT%i9X5dMfNiUR0Mw@7LoL<7kTgMBEU9Pgz#gn7Fzz_ zc%ZOfuE{qV)`=pXw!#Z|Ep$4i89tPWtzqo&!csM~V!uSL_0keR(Ya9F2BMOegeO9# zQsH3QdYF$p1=v-Bk)Yp_?}fr?lvxAdh}EqzHk zRoNB_42y59Vt6E`z?jx8Q((L*-sEXabZe_1qPIG&IGpXg)KtbmlYPXOW9ou_K0W>O zNq+vg#=05njzb(|PX9#pglH89K)WyeENtyhdq&jh_7a+G>H}}O>lEm7vUk}-r9@m| zcUorlPPwa>)RGO?)+1Q0_uhPp)m1>#-z z9~X!o9D(S;5s0h7nTMxZlL3f;3IVar;zyRH!P(RvqUR(FUKwc~Rf5RFCP&A^ri_wR zurWs6W9n-Z(ot@L&L}f&6u|JMaJeI`a)ydB-vZ{P4yg)4BN*0M^r+cjaa8<@iJE?KIQ$Vv#BKQYzr-~SaW_LQ!8fm zH^KfPKs1^(%XCE;T>vA01#&LjIsU>7uG8NC4Q%j`NK$|6(a# zJm}=xk%dYSq!npk9bZbrdIX-Ci$L16X#{hf?o8D$Cqx*DZF-bOW2Dfu9UYiXcOz_E zMhkH}1C|YW z?5Fe#HsM`sU-^1SG~fG$1vagW1+y;eH88j7zd33(5M;MiYxN?FR%HD?_w3w8N*E$g zLn7|bD1{X)x@imky#Q7ORv0fCD@H#M&RJ>P6={DREIgHH)c@B$Z^^Gz5{JtJ5n5z3 zFQSR!e`aL4f1y=DS&C|qGp9TTPjn9lqY6H-k9coO=0fh0l@m8##{8P=YMwEFV5zr% z(qv}+h$9*a@5$Oy_v9rOO*T=`Y$$>OJ3x$plTZN$7b__W-Bi^XL4nnB*Skhj^&U!D zgWv~|O5oL8EaNP?SXDUPK>s7nv=@WY6`Mt5WZRA5#9tB#){r7NPzL7H>3fV5RJQ34&LtVWTgRFl5hNh-WPW zMEclcbU2{Tgq$r-rqNFq3nuOqwcRFTE-?f%B7h?bJTM{?X(#x`=VVBm0b={~G~D2t z>Xa&a-NbV<4uB$P1of7PgKP)nlm8+5^D|qfDCY7rS_k181jbop^Lq&yt}R)`GCKQA z(C|*7z&@%;uT;?h!x>1785&L#vZ9|yJ%FZuI*^5Pjqt1|t7Xz$Xk!CzFeMTip6$KXh6NA4tM5)g+tL;5Vp$_y1`3xJZP)Dd*6GBWNDTgDc;(%=V?tufW zIo2MsCfhwqFeQltz%OS9$DjSg(UpX-BNE<}p#tOrOQ#QIZaV^mmzcL8hzEYpL4(TB z;6G=;R9|QIwc$t&qsNTxV#8%C$P!wC+<==QP4KjQtOC{#UQ_H5DD!>FjCoX}QOrNj zh^$pC+zc$-WBAbmL0++N?!>~fLSf;ah^>X0bb%_A!!hYO+qSZ2>|v|Dd#>qj`y|LI zXTF)i_vxS{&657j_yh{`GkQu%z%s`{b-inW=f9-a;JLVM=%z$qXn~`d0Sy8<=D30~ zKaI^C=(P;O-gUk-)v&8h-)d-v8W=)O$M8au-=k=QeH~FYm*~cs^Dq+vP}%mg+?PuGq#6r01SQYxZk~D zd90-yv7(}&v0M4a-~zJmnzS~Ns`2?7+~YUk0ciG)X`S9>h`5UJ#A2Y@#8(Rz;xD0G zopKL7;Q`6aoZ6+ShN(7g*?r2c&8yR;vo*i zai35{=VTA+o_YTJNdiLvH{AV07zS!BdS$>dTa20Nv-@U0i=T-9p-il;z+J_{bB_$k zE|Bsgn*GM~VQVcw5Rw`U0&A6VQpdzA-MhVxNwG&K=&%bn6{Bm2Rv!I&q7XrMDfup1 zXUy%JtaGO>kJn3~?ZmL#57(}&WEX9ER0r#@XqXAeE0~20bQ--KtRjN06JvMTN($M` zgUB66lkomVy>Bj!ZpG89yo_dMJ8^MtiDUEQpwk1^ zGKZ!bEv~;C-B<((4m2QRydA@bBy75w2~u_lRQ?dC*s@>9=%(4Vm{QQHQMI#?46BnR zf5k^a;@Qkc&90Uqu%VVbktOfwC0PL3MXX$K{vt@+kb^hb%{SWv(&yCLO+=2Id|E0H zY$-Dc>m0YK32bCu#n`{-aqO(3@gE&#aqL*oUEYvnanQ0}k^&44ny0H@_WcoYAkj`B z3z0nlbr2pdiq<)>VFfd3$2CeEWW=0u47PX4;s75e#sPw|5bu_AJArd>p!ZNlAY?F1 z1R4k11IYu(yphpcJI7&qs~V@{tEF(^l*rArti|O^!i>eS`VO6vHJU{(mN~;|DG*j^ zaN3>rAgKk-EXmy47A(OH2=2sXKe+G*v>rl3e<%o0kntZPE!$8eU_XnrRMd$RE-Z+y6w%hcJt#C(&I`y{gnt3l9t-K)Lx4 zA3{(Qm+=Kttr$62tNaiG2q0Pj&f&NOUdhy`W@1=2N#>ie#9q>|j{qey4XwBz>pW|c zdx4?508l;^fa=sYObV_R0qn$#Bk@Ja*h5%J$7f+Y@MH$b!Zx}%gLn$m5_Blm{!z3? zAqR1e6}+eXq#CRVwVWsgdWHP6AW?lO059~apnVnw0=AG4B z1fncxHal%>E>t3J#(=#NF!Ew!w)G;xC6vZ~jbjHDBY73?RD5OhLbuVR9;|ItFDV#X z{U97zFEmVuPVn%iRs#gbOm-Nf_j@BTxUf>fYGv_ksEmZDRRjsyR*(j(1!B??k3h)} zD~jRE5QSDxp$IHWX4*AA-CHYktaelYgn3;$=_|-cMheI|3{`2+#^wq_Wkj-2BoW*O zTn<_vCb)?oTd>G@0WoA^3-xyN8j7S2`(fE5wX-EHpn0>TYbKIM6riP!El>gO(@ZTX zlb{e*A1qAP$tAH&lyXoCE$haa;$99Tt)>Iq_IsmZ9l=*1sOn&NYOoOlkzvu?LaXeV z{s&1GqoJAzvkL@Q2|xj%Gmy$)1K*Zq9SXc2^w`PpZs?H_&ILWPWdP8ug9wO_)!jg3 zgPIIPm^SL=4J!a3jS92t+`w}ODnZZ~n*a@`xVeGGa%Mn7z6@Zjz0A-`P2Xk&@6$;^ zn2Zl|MBvO~27)jKf-oQhAVDjhycCSX-QqNlh1XPDI9{`-+I%Tk#&IBtEUM6ADFYe^ zUQ2Q{m>^z+Es$rX7TH5d^kDddHLnx_XPL`ND!LLpG;ko;r)6LzQcz4UDP$mgy#~_O zT_*R_yf`E^0sB1-&|vMf7|JY#vxdtA18)q(KqFQ(UW^FA6In%c5|*s9ypa=4FM)~U zMJj;|y)arl4MJqZN9(h}Sg9&#c#(~6u#~`ZK%J0q=mGSAbu^{NFh*GyKnoXfTq67! z{xU8h;~fAaV*@qb(jT1Lf-K0Mf-0D?fSH&Ecna}w_R*ha+kt-23&_e4Ow|a6b_TB? z)>m{EwiM)voW$8Jv}+1jjVjQtDdYuCq!2pH7#4Ns6d|W8MD8~bE5-_tu3gKhnW!DT zrFzSPha3W<@-;%BYBU={vq_BJv3*B}Y5+bKv|SIP)x`2E3>bldo68JXx8`kjTx6@x z!y2tRZ$jOmc9q`MA*V?kbf6mNA>zUu11jKt%|@esN^L#nsA$rQ*lG}=iHci6geGK? zBY*S{uEEquK{Qkm6$LWF3dS;Ksl@<$OX@_(7$jl91NUM=$S^Ry6E`h`cxZ9ChR(NK zKz(z<)MN;deI2|!;MiKJ!v+rbC2CxRX)bwKat#`?FZLy|fy>s~o#I-<3{udLA}T2) znPJ$1=zYwDjW&2Mu-I($e!|OUr}utuTN^Z>ElsXSZEayP<8c24Y-kUlOi69wqJaqs z7|l>LBm*^)(4>+q=$t9)pjFTd;0{ce+Ry`{38(C|QaI&vExIGVOO!@4Ml4h2x)$Bh za0t4S7|o$(?Lc){b|?~m0sXO6jOa}i$#@}NQxPXz<%NM1MTQ*Xhm5Xd^rAXIF2svg z&$!rONMm*wq_RU6jW}ZHK!{|X95LwH95IkMVj$y)?NDRj5z)2;?}i*vlDQ!(qY*;{ zKVrv>(T&Uo$&U>S_y{B3&m_b!+FbyTVvpSgM9a8SnmDMHkT;xA-(euw5G@2rc6!id zzSLzR&W*oLmjQqOMwbz`qsv+=Y!aP=jv~=0h~54Sw=dAf-FM_6_a0tTZSCR0NEVLH zR(lUQ{ujL$PTi#TUVCLcYqs}VU%U5Q!x_2(oq;)Y4c%q|k-42iQ)z35Bl{&AJu3O2 zudde@;68t&FNjy6FIqL}3tw9}1PUUY#(m*QN$s0b5_0@6`oi}w_eHC}&==?h^aTzx zRtN)qft4rdi*Se#c+eM&Giqg)cr8{2q2O=yMKdCVn>Ij|a(@Ih?hg!KMCo`DZ3H!@ z4dnVi?GN8S=WM>$;%tANHdNV3WwedBn~Ofs8|V|v_bKBv`UK;4JHpX0$%#8mnaSP(v|83%y0pgY))bwL_K_POj4Gn56A%P$p$xJjRIL@$CiWCI~+Bi@tu$k8{c{PPs83eaF|;>8DOZRapxWjoc=B#uf^Qt+mf#zPTtk8<`w(U& z8miq*y17xUuG`I460u1ZBwl94Fr|ptRw7jG+nwDForN4lbD4$=k%D)JMll9-Ys z>jJigVlxEEs?<&Lwophb#8TO|P!dtCMJxw-U#OBLO3<-v)rm&7VV!biTSNs#5(ADi z?7~KFN4z>Qge{_0n3t)l#M#*=Ws71-jzj%ja-6JMN-ZIK&`MvL#@pP0KY;d0dV?lT z6Q0Nr7D$?zZAw^8wJ+iuI~wo}CSA&4V|e8)&Lnv8f;%d9mr=wt+C7cgVBu;3(HE2E&SD840E& z-osdjXxZq`yLQGx`brk2=N zYy6?s;|JTE8S9qPg>+uRhnHfcL)I{Q%Q-Mqrv^9o54KgsW`{%FU`!>O9UZLJz-EU7 z$3~%;1~xmCpxEp%Y5+*8%?{W_8ymbu0c&eO*ksS5m8=G4V8NYpFvv@mu6(@#>XU^m zSeUeu3^<#DH3>#0Aq+-dn6bblX;ROMa_lNZ$;8CMVa5XLkQoa|;|^zLEEWM~EQ$a# zR-*`N2{2<(1Wl6&av2B`lpsufkGAV!>L}icn$c--l9)b6GH%(pZgTkYix-9sA$Oa)+Fn7{su++GP;)Rjph|E9ugE&bRyBY}a8hvbT_p zV)g*Zmz;r83z)?M5l6A0>1NwmKu|5Fhg_yHOu5OXF*Rck)0iy;mN5>qYi3W&7_*D% zZiWSJPOU8zFf>W1f{DuXoo)A1ZEo;aOE$?R1j0~;J1ZM9M>cYTaJi+!6n=8faZ2j`yJc@ZntOlJ49mkI~K=fzhg1jyrbUX zw%_TQ{f@VA~=wJ4_U)$|Qh_evx9DTS{j?E;#(+tl44 znPTd8CsUKqnro4mKFeKU`prax45*q5caZ7LWiC8?2V6MZVj0;7R9|F?v127w@(@OS z(QzJ!D6&dge+7@i1md5^V5_S1vLTYeNHs(fl*}05LI|TS8~NWde8_u|CKWqQeZjFS56X)j%k-cYw-bkH8pByb*G~Ug{tT zCB=6ACJD$73s|k)cMP;V6iAm9fYlY*I)WvWVZsPp?&$EPeaI}=j+jg&QzD3snG)?- zt;i6G1lUeN`%!({u#JQ7m|!*tix0o zmjwYf7A#etwaKiQSt{UB)<#* zBbdN#ltODKz(Fu#<_&iBMtdoO2JIV|I*(FXUOU-N!NP$|oqa zh1u4_oXptE4vGjibBxwu?SKG{GgCb+%q(yL#!<Fl|Fxg2|D$M*`j^k(79W#@-2EouKDMk-d^}HwK0%hQ(26lY_HG;OQWzm!jm^EWD=LqT#|! zZwv*aWK`NlAW+Ag2oW<9vc<4HJ9&#vFzSGWMRq$$@$3x24pIl2$hV+zY+-GYy#wf` z{Xof%<9lJV#0Dx3yw)-hz8zq*B+_QaN;)e6#l?V;V2(F}&Co|Ptd=1G?`k_jz!|6j zsu+VR>7``J?4aZgIw6}SXjQRUf@h#7qhw84&MS&EWx^wl+FxXgBHWLX!46}M)*c~6 zNq7K9f#xB2R1*3!vw#y2kRvRY0$Jt=g#jR@9n&Hc*0ao|?+-Z>NAJ=h7H-R>Tmhg1 z`@l4?axjDzD=5GjB3VC0l7TA{yaos&V=QV3(M6m}BO3~4_DaGHn*i>mAzf6jnk#AH zs~RBpm@;|P;M76%lj;qkcAfSIYvnaUFxSy+NW;Sh^#l_=+N%XmZ$q$cW3e=+{t8fu z8!kTp#y0dpO9^z>Yy-vvrEm!6Knx5GV2#STgpq20gX|-zyX7N@BB@G|)ZIj7U{NA z>k9er0848SnoQ^XPjJ-@Mp5bnTQ)mQs}q4z85aR67brUsD2eMy;I#`NjEGVM7Fl4g zgJYwXxCsqZu7N`Kb=kjT5gVBP1h#RUA@(2(>y1;u*Jc04>1b+-6(ruvf_>u@@O9b0 z$w(NFmZCzeh-(dmu;XAL#6=nMK!-CKY@MViTSOyG zNtOy4|3x<@(SxpxVe|4*%=J17i1gPxif|Df6{ie^ayOB6I>HtM-U4?_s)l5P(Uk0fc%cXIQiMmfBaq{N&=CzJNKiV) zClZL7l1=Pi=m>NH$R?aRLKYanl8dM#BBjpsFy;mcQMf+q0^|Ja9f8Qy5salb>5NDl z3Gx2}9)?{1>(00yRmd9ApYt(v1v&(a3>7|xF%knKIwYB9WN0|VJWp~FyyZ3LQ8dax z#7luhpMu_E^1O)HNY(NBVm*YJ>vS4%CD(dHrt8X`hE(XZ7`1{X)TpTQ|Q5#-UZK-&H+9DC z_%t;}1CgAfwn&~|AXy1`L368MKAtMG$`G;rf@$;pp|DeCjdbNEtPnCBRvQM=*2|d2 zs*H!aqb|H?qEn)pjkL_BvV1dfXcDi!fuXlaKETvQIRh5pMI8YPShe+#Z!v#B5MifU zqRYX7&}dR!32bIht2RrC$qr1nL~|H(i)daIJZ`X;mz*n3T8xwQs#P1pok%AgGht3j z24{ks8NQR1C}4O#SSbMJ>4>Ae+ED3j;ERswh-JhQCbS((JzIz&<{v1AkSxK#Kn84m z0vmtXq>HSDvq_f-Vv*2cpoOQ9UYPRdB;!)6X)SsKnsJ55;<-At;hNXL`s`+BFaAY^ zn^t$Y@y$Ki`wyU)Vrx%OOi`hTR>I-Z2~(&O+Y=bulX{IFi)Ld-G|dr5|2a5a%5)QO zxK}m9H6;{HV1!!B<_)9WV2ma(MiUsLNwp@O)vdQe6KT+|DrbpqTs05+ zS0`H_lF&{;BCXY)Ya>vS%o;$3M5!2>l;s=XtQs3?0-ng`O&klb&cjUelxzwGwsVn| zNL+#vPfH|VQ>XOMb(JLK6Sij)NpxU%}6ughvahu#8~UewZle73?HM}l+`ahL^A z5MH!(Pr}?91_))Rwe?!eIoQo!gX-uZ?vQG}u9QE(~o_4#zgP z;f2}kun*#d={;|;iwh;O4xe*IyW+ghH#k2>lpD`RYaZhcQp#tg&=!B}sK=?0s23hK zbkUJH2KF_l%F!BUE6C{>1BGdmT|Fq$p-;>#LN^eKtkUe>L6KJBP;R2bb?+d$4p(vj z4*0+-BeVrmUpTOX@*sH;5JBVXXV4OUoOZ>*Mrz&fvX!a_@tAMbHMmz%<8BmHQ2xi# zqyAW!fCA|s6-tLD&==}Pz|}Gr&DHVjCL22SaNGQy*qeux>|_$mlk2du23?`tU>nYo zLw*sa;c!k`eiUA0-AHw`WBm}EXf^z;>Ls>Vfh4z;79ZiL6TGmx9g7}l7d0K4=9vY~ zfA78|4U=DK86CD~Z%7(b_a7 zE`~;cf741gEW{=@EP-~4Lju9!zt{n~n~*sapFAAv2~21bN>pLaqrv|e=1l?4QCAR7 z|6PEi-fZa|IEQ?c47w9I3Ls)K7j_4HH1y};4+Dej?;scU9yfc{@Za&37)gLK2%T8@ z$eGS)pl|e_ixe)1Zu&lkGXw>h7JxLUXIn|2l(nWL*i}fMu6he9;M=&BB z_z!_dKDSI@SG5rpA_J6%(>vJFY92m-OcVmnuSRZk?irD|eD)W8$!C8F>e+35C^(sF zAm>HLim}R^-GSuzjBuU3#fX$Rq@9k&lVh!9RTh*gD|yh$MLN+^xphviBLGE(tA03^ zly0I!xzuvCFf>L!=?j9lOj}5XB0;?L0?Jr?=QDA)p@m=6EnG0-8r9@kp^R7=(@|;<%0sI<3gL9Xo!qljH`lG1g5#KadNanR z!*2pUjud2d6g{wbC%I0&g}>I%SOv|4aY`283Qhn#VNffU&o~F}!k+p7butS8S7B@! z=j?$D1(haQv?A~#2WLJlxY4NTSx8{Z@{w8sVU>lPbg~u-XXp9Ro-7*7)MKpZTq_K1 z9%pOujnCGSuWs{5Lq}ybh~>&e&6UpE;vG0lOFvaPPYVkJsS{-w0BIN~U>cRsGV7{_ z%?EDq)K)hjAm}p;@Ti1b1dai79qGj;lNvx+IkFPyat#Qxv%6HAG*v}n1rr}vk39px z-{pBxU54pC*G{GY)bx5+1LG(*HY&r)>M<(Q;3H7?$QJ_3ql-Xu19UGint&knHeehT zgt)Fz8N15?OF+C(onaZr=I@s8S!Zsc+3B@DT2 z=Q}(5&L&U#=-Hj-9AfC{R&)7d21$sehQS*5E6|ByJc`3zU09IDgc&I7 z82RbQD6Hae+=@No*cCV!zF63e!3^=?O_zj2Mq{PSAT+|MGV*L9E5&Yf2yS2M)@Tk3 zLFj7l;36Dhg~55CmjN}LN%K%x{z@;FIhCni8jcfS5Q~*D%QH7x8bf!6Gkl5Wu)>j& z7~C0~9k^5s!+a{X3X_6waO^OOVz#=%3=)Ckw`;~jsF(x-{_|`e@ zS|Jyf^RZR`poNgw=RFj{8D} zSX~5)!6E4=9hi-!9TEmf*Emh9s2yf@-jsTY4c2x#w!A^iR5>shZqBiFH~A42-kRPC>BQ`Bk6<<85s@4bKr@h22G)K4lr<3?i7S7MFWyM4+F{+ zcQ+#*-wOg3yU)%6h9( z@T8u^q#^#_LwKU}U9wOD|6{*W5yBLF-XRBCS+9{$T*1C@{V^ddbtUdrmd~YatDph= z2!iZ_4n~A%dL~`P$67TGAlAs56WZhzipg~JjlesZm;{se{QYU&kY!Om>LXBAoOq@2p~E<3o? zE7%f9b(K|Z7RaKL8ty)M(JROjK>47IcaNbej$rE^f+41{nYaS~Z<&9X;vYa8#aa9X zUsC)~#owQHoHPH2nSY4l-@@Xn_`k^fEsDRN1zW&a{9Vkyh2rmP!AuPE|FD6-l_r9j z|F_KFTZ!*u!2~n&|Gj~~H|PS`*LWA7K7Hl=>KHH9PZP{1uh!ulTcbA(;Pa=HFKF*OU6n{C6{dwVrf{mhAr? z^H=M`&Lw5>Pcr{-B_FmxhxyMvLFFp_NQxHp4+>yol%ybpl8Vi5&~@Xa=MoZlXhWCa zJ-5DIB{mQVk)MYTqen$;CB>?3ib&{6bPNI@T7VD$Girk^Om{4-q z98b{1lDav-L%pMREhfdTp?Zg*#Y2w3m`6eb{sdcpqV{3Xa;bkVZGrQs$Nz&m-9BnK zVUdBUwBTOlRCHso%zzrFmbI@%V*s}(`5l6kUI3y+`Ii0MF z8&}v=LbzkcH^4F%2CBZBJ$*q9nD56#G+ExDQ!-wKB^Nkg*SefwgD_wjS;hf}Nx*7o+;RdP3*w306Eh?Vt4oodyQgNItXJ-4g(|(i1xB3EW?Wo`8y@0h<+i zK@!Lsy<{>{Wa9Sc6`r6MPRbA4SIl7Q%i+ z;wJ7Irrx3%3Gq*Q)OFS~%m;suwv--~uXjd|qIi%N3U9tcJ&A;!#G-9TW%vL8&0N4< zWcCakZp>0%=b@AVcWJC3Rh5`5U9ti%W_iFS9!>^20E7;115UE*?m1w!zn^pXJc%UD(R`W zp`nD(fQ-N6B~nWqG;7-E?08lSz>MZQ@glh&tejc zM7m~`#b6nDxSYYUi$R4J`}h~hLZ|{cXtU8AGkg;MMRQ&>oP(!Lb#VP{bZZ3gj!={N zF(f5z$&R5toL#gjcjw+ml*_aO1a93m##We6M(^QDs^y0Bj!ps&7-f* zUPc2*_e4VvT~fc*m>@6GI8dz8PBnmPOT#fi8p95%jgkbCLFn98ma{82j9VV%5XvGZ zS){`8#>5v$PPuCnnNm0HmJ3rosr)ZkvvCTD8^R!YVj(D(5!N;D0cILGK#fBwCCux% zaDx@45)COpo00G77>_l)r^AXbx+~wGf8Jd4*|$ zzGT(I@&0dwevq!3a1#RM-){6LEIV432xu@K=t(TsYPU=(O1p_<{#Lt5d?Chot#+f; z4d(uuSKXkP9TD8D*<;R+n4J8N$_WPvS>*%&CA#s0hMDUu=KvwgXaoK>sY z5>vp^{*#-}yU1il90|i$wVm_e9GnN|Xo88LQU%J4$)NshmnAXFxr|wwH5_`+j9At! z@WJ;%5)|4nR_cI)#;bZe^%ZG-c*{m1>Q~~Q8k%GWyA-{k=hIA^4ahHx#t;Z71`-ml z098<8qBUY$U`(>{o_8!I)TfH#Rt?A}^o6lEn!`**H0Nu5UalFCTpiq!8Owb1FC|+i zxGlMHxbQ`8kOM<0_7%|#1SD@#$=J7otS}5=gCz~!hbab@P?L)|tn6lq56MAD%D$jI zXwx_wUK+Z|1bP-RSu9f_My+#frOMLm2~M<^=Ob|rc7(7)sR3Qa=ingFQ&pHJh3=zJ zlEdjHLB*Fi3#)~s!GV3YOsZ)FL)x3u>pEvhjkd z2qwbjv2cwCAb_Dto%)CGMuG*#AT~Qdi;Q3kKx^0)A`sjVnayL_btxhiQ&AA}h2alV zyu_ZsEa6EZC`-l*%!08mTJQjUk*DIIv%2LlBo;}y1B4ZEtgYPfLNABtkn7t-Bx~Db z0^d_4bA^Hucn6!n=kd`OWbDtgwrQ6@u3JsW@ z3yo!VC1bBA;&@<;>v}Z@^a9isbD@oecpQp-9Ue`tY$FA(x^}sW7Ird7^Co6 z4Z)Lh)XO}`14Yy+r|Y1Ie={lBxZ+;;BSY4;G>9O(Q{ZvkO)mjMgu_bfVU!_(125x> zu{GUJw*?`XnRO5-VdaAe@r51CMpI?V+<*v#^us;ix)71dI8xl~n?TV0uxS1nC1tezs3 zPjglll$1|LL^bWlJjaEp36-};`qG+`>cWbWnN8ArCh>@$lb_!(s#?w`D96jA+{fYW z)2LM5E(Dr1=tH zQ&t6db%taGN)a0V8q+;hx zDZd;DLfuiCQ=K=3b;MYfkJMZ34^T&?v#Kg)RN>^Zoa&lNr{tW$dJ0vM3UUfdP`iTi z%4^qFrWqA)qfqY?qLtQLFx(~l9jf5oUxq+-HQ1E1I-6A; zuzIE^@9n0OX<5RX$|2sT#XE;OAJ|h(%mY;~tdo|7BZ*vIv+Xw*?Ag>dIiTf)_tU$1XI#zOQ8jvh(CG`#Um~`R z{(bL}`XfJV$kJPz0S@?VLO_Hor1wGPqD>RnzXsk15S5 ztCo65aa^Lo%5ZTf>QAs%-GAVl##Ge}nS~Z(x!hCXCZ3>%PlJ1`hkJgb_)fSz^BWAe z9r2I$4ec%-4E=iN#r;>{*>qY%)Pb# z>iQ=(J^#GvN-cBWKB%@to0WS@yDJNrdsN)c#O$lv-t2j0F>{Y@|MFdn7Y@5`!j)yr z{p#$F6>X%5LV~IOnEAdye8H@@-xj7=ir zFdVnQxa|ClE#odSF*XI4Wmg~dZPi)$^IMw;Z=2scF!J#W-tEQbGxv9QRD|aL#DCg>FJbOM(@#He z|0AVq)A?%VURYeW<)#_NUo!bx=AIt>`OGyZGPX?T7clqhZ#+2h?wcpxd^f+Cxw}ug zZ{HiElJ;%nmofKqtC#@b-?`y-op_14qZW)^XFc8ekR)orfjF*X{9WIk zeAN12S1ghs_d}MIYc4)${bsc2FNdG)n)`_qv9Ur7XYPduAD?yO;6C-Yi*1=Z`tyxq zuM@WIkBL#tz2s`28)H{azH^6|$lQ*ti&s7r)cNqIVmIb~GVH4@cYhZ0@NZ%t=Kf^* z(U;4%-}k+bW(adPJ3Kbw?UO4Dt7_O-Y4x@;x#UUIoyK|9Z9;A&2YcvG`GwO8^PSK( zq*>0&a*w#Z5SMs=(}BX4TT>8ISd~R8-^_@P9%+ss4V6cgHsQ&~a|*J!6-vPBn|ZER zx(`=>-wKZV@;5E_)&pJDdUeKFN%d0QC2&*Os{1RrX`ENxr{Nyt;oh&fuM4Nr@_YhL zs*jcFUW9o}25KUgpm`JHCSf4V&Fm1DiK@HOysD&uq8#06SkAD*vVyp#@FDO((~9Uw zqD^Ve419a!F$Z;}F|SEoAvVRzb&QEY_*K*sQMtJIgwBac$tkH_a&q(XodxO8ILfE@ zrHKLgb7)O9bLEtfvN%)9Wf7eD&=ixbR?ZK3s6nMQ)tEbI5QQ6oIHc32P2{-xWGlWP z&%%%TP<>bAlojR`lN4AjrJ-Y0iHPEK#=~YAq;iPcQ&tNx29j zMNy6jACB9MGVtOKDRm^-SED?Mcz5sahHQ3;v!Gg%Dhnr1f!-j?k0wbX-!vR<%lt_( z)75n(b-YPP2#;4)I>4j|7kq%Filb&i`6hl!cEgt*ReiE&AB$#E%h zsc~K6YS9Al$4a5l#-O1 z)FnACIX*cdxpQ)2a#C_~a!PV)a+j32l=zf{l+G!MDM=~GDJdzbDP23N)rgrIqDt1BfU66GbB3^YKn`2mF58t;Ofk}4C-}{moa#|^Kh1tGD$fs zfh%~R^O?1!y$3IlzAO3{v{=`N<4gEYyY(fpt zO=2r(M5-jcggfGIWqqBFJ}2Jg>83dw)t!Vn9h#q0-Fc1N`HFjDOiawAT+E4=Z*Zb@TU6a;Z1$5&VSK-oQgkWm6&p-X=RxwjYGP2h);AyyiIk}m`-!3 zoDS3byhhOK^@71*6iiyP;H|OpzJi~&g|9y!AOr~^Ug6r7hSq#rzDQFnJS{#WY!eO& z?+S-49~eIrJ`z6Vk7>UYzR{c#ev-~;&I^Bt7kNvEu04hgU-Iz7t8Tjep8M85`|{1t z==8?q?mfo*dgxt^e{gcjn6Y!#KlSvhNyq$dx%JM6HD2DnejVcz)B5%sIB3}Ld}rnh zFNTHd4JNaHP;!^FC!YNH6JyHKyPnXSy7nk2TynQ>dDixyPEW`^d+F+^j0YZ!iR}Kl7BQk!<|BRZ$1 z4Hz_J#Hi6@#!bk)F+0y$P+T>mZq99wu77&-jzdp9T~_|uJvZ8K(u$gBu|VWwW9sL% z6ytruHEoTpw4JnlG~SW*>ve54Z8Z^wMDwuTb5o3gCPQ%7zFovTgE1};n_R=Re6Li^ zU~R0%q&Mn&Ngc31G+9j3hUzsI{fL1noxM8iV+^Lb?MDvoWQYt5Z6EF*WE_S9`gn!t zO}YVw4#paDdXGq5SFK5RgO1l)MQ#1#rWVALcQJCu; zrOCI9G1Whn+R`gZW7G@Yy7~v^f2{Epy~OF7EbN2feJq+(G%mtmA2v6`(h_w^Hh3ed zQD6UdJJSLkR)lD^I-Q``8T3Y9Q@AAm z#7<(gIfjoDd?tb!_mtT2f&zo<3apL4vPQws7C9P}sfrBP3xD$a}UVdfITL%uF zILW!ty({7Sjrq<6cRl#fn+Fbh`F2d}+IQgCiJ3QMq#VeI*epMExA#jEe^IdE{`u;F9J-j|Hk1D zj-2`Vx5}y|)iw9EkBNQ!=@+-}J^0bl2YM}E5x1oEdxsBP9X5QzM7_bs+9CF*(`Dr; z-Fv3@U3%B3$u;}lJoN6zpL}!WDko*x=N;9|>thJh=zQmH^se8aZEc(zCWaVzO{^wS zqZfI-PVZ|P;p3+ttrs=nCZlK&^|*aU6fGL9Xx8!G0oq~uF#TA)pbN5$(DW9g!Jd3| zK9)31%XV2(sivr1{XXry&0?r--eqyTKF}C!B!nx{nRKDL@%m2Mex@kwAmGJ#bCf1j zXBO)>A}BU~s967~p_}L1rU!Cgg@F4fQvySJ*%t;7kM@y7c3 z!QrMr;}A{#ZMqGQT7oq3Ycz8|ZI69i+WK|YxxeXoDN={fJ2dsLiD9CT*EM;#!ppPr zbE2y{uzzse2t4#w-I@5N@uNvTPMSKV0U)#HCWPlBJ@NlsJZ+kbPgAtHuq!Bn z>@vh}g?Jk=){tJ{mfqF*-m-F8HE9}>UpTq2x=QLMB{ri@l|yl;WYdxyCvx0;jl|uh z&E_VxSk3tbNv$nXcI(qot2;%;Nm1qNjztMiWJkBUm>t7ik&++2nw@-^|1z03*;3ki zeVMYsJEu!*@R}}h;W-0-ZM9}duf&`YXNuO`FudG0@}X^OMsf#pMmgVIGm87vmcbqS za`aQjbH@H~!Z!ZUsWsyz?x*o*_&F1}3Qo^OLx{uDES?`=jtj8zPT-w@_4{r3R$&v( zX+|R-tl^CqBDI~wZidKU9Q%d@8Uyf4ZxUMaX_Q=JKopY@$_qjljHMa@_{_HwM3~#* z)*=G$F9c$wMQr44;Ps+OXoW2zJa0kD2xO03MJ+I04+}TtN>xIk0=dJ5E~uYcN=tqK zufcj5o;UC}@PgiA$mIp2SwBz+Lw-D;;?1K(t(k9Y#{Ukr#eL&jTa)r6^Cs zV?BqC^^{H!V*qeY4}kC^15p*^GE0X70CQj)6~%Mt-9)XHzIdGv2iC*!JvBGLpNkQK zpkQEcxWORkTWOYwT#6>az8=3;^rd<(yZ%f=J6|g3w+o&$ zJf6Bf$%G@>@&ZugbQsf|s<90wvne^#oDwk~Dc6~oQ&Z)XraPsgnkp;>s4OShne;Hk zE3A(B-(wH1fQ7EGia6LY$;xG;t_$#V#G|_B;JdqroA?~fU#Q{tHF9qQBa`4qQx`dT zd6?LMJ+F@}<1?E)!j{^sY~27pT|bZcwI=Hm{)M)~&=?&TlNggMFY$oIu1c2MkDxB& zQ48Ylq`Ro@aD3DJ+P_{lYEsCwHs}a;x$K@)4j$Eg65muG)%_j5rABV5pBkP5n3Jxr zx_iS-TFGsxBtiK;pK-A0|ky8{VWd zVQ8+Fmv3OcOYs|C!Hl77-M|U>(R@;wb9(j63YxVb(=o@Lhd=40>M9azTUlo;&8grd zd}BD|oEU(k@J%|aQVy18lvSs~&oj?yIn0|I0)HRGt;U)UCn_cTV!Vex!BsBX9Z(B@ zszVJi1?6`={3iX7%BA|y917X2yW+`_`V>}Gl;q6(Qxh|mIjMZ5WM&io6I%(Ek{6rO z#n~k#J~sPcFv7Y&dEzk?OYHSpPbqyIf0fxN%t`Ou|0`+c!3%y<`iB*c?Y%YV;r`F835X%|@ZrqfXI?Ds zH*inqj2|A;)eg*Dz2&(M3!WKRwQtSp_>(6GE=haKF#E=^K@a55e#1NLhCw?ne?INK zoP~qp>hAUL|MJU&dX#-$QnKaDpaXCEFS_N+wu2p)LW;f(nK1at?jw%Jk61dm#n2NI zdgSjOJU08GpNH067+ktlQ?}+v?2taczJB7ww|PSXHvii4#uF=sgsrT2tfu9`A$R2z z+)`L64*iX-Uq~HVd49=PyK~Ei_P^N0`<2UUhlb4B_io2mKN`AfMOwe=jb6j@SDo0f z@AmXz-S>X};ma}8hgrJZySVU=jl&-A{rT^6!;cTUYuVwNwT}c2fBvO`Ep8t&WVo-t z_YWUFJ$HEE{l1Uy4|`$w#H$}1+P?Pt;rDM}c>Kk_wh?n;JABq|`REZ@7th>q`qFJ9 z!X8S#C*X@6BXav_&OZ?F+lZS+YhU0eM&3|5dYA8)GqP{k7nwLFWcjiiW+m<1aCF<7 zHQkpt8Q8QRC--T-L7TrHVu3>BlGNqvfv|MXH-qydRwb|!bhL#_gvtwpWQHeZE*IH z(<5&l{Z^|P?{E0#mC-$0bjp9b;^)!cA18IcvcKIJzhU$DckeZE%-h!YR<$?WHRj5) zJ^kYby)mYH+Sc*gR{k-jplyq-zpaTITmNHF`>MC{#~wTN&}pB`_m5rt%~U!9 z=}DcdwhYybD^7wKk<(?|8|mEH!k5a&z0$Eh_4xabjEhWMz30K(m! z;_|O|j~cXc=fv*P3#T&0a}$R?@s&MsL8r{Pfd}qgosg4R`9FM8w*xXstJ8Qb!`3NNq#xUb)~C~ zH*TmM+P06T*Nq>3mK{A>TYckxzn5mL*FAaToUz{ojvjFI#;5Na5tDRBi>!&;PRyKF zF(9k*`$@r%ES{a!;kmTaCxf2L`Z>#3eDw2gvVMH=?Y?6_XqkO>nGUza zY#eqAs3Rh6to_w&Vfpw4(~^G4-gT+G-Qm~U=bXLxcFe6+nK?7+dcK;p@2;E=GnYj5 zPTP}XNqp}2_xD}QxrIA4Yr&-W+$XsO_n+M2%stGVyxPkCVD19xbk?Zf4&^>}>bsOD z60~^-*PiSEp&6`y_AGl#ahAMOpLry#8x- z@033IGoFhZ>ECx|{+MIi3dY~}bbhiW`PlETewE*QN$-zqHU&HVt1^bY|M4*A4|~sA z7xbU+Jar*Hz!|dDnKNVdgx6aCLFz+A-z~p*uHfcA+LLuJM@>FFsLj)Np3RwjYs()dJUjKi$=|nq{O4BQ`zN=U zZW#OiB7Vw8%ifAIe4jMMEA4X1Th8Js1NvOaeYo|SDHA?;_2R(56|FcbW>H z9=37gv8}xdC**$gQSdj_g+Hgg<8@S8U-)64)l+WII96yGvoHOrLjR&A#k1ZISun7u zN;iIhbaGCS;n9@n#M93eneJGa%71^VXvmp$H}7oMx;So3#Mu?oM-{(PoDe@}^rGVR zx;dA>D0;0pGQa%Bw}oGele(LeXYcAzGS717u1Q-amAtz*^?{d{-d(ci!k%8=Chjds z*?N9y8{u+Eo2m!X#@G@{zaO6d=7uK=O27W zlFI1Lt=4xfyMOYfqaz1REt@m<;_`1+K2~-#=Z`v@=CiV>x@|u#J8mtXwz4=fEv#?( zviZ8_4Y{+*yZg1B+P7|V`ToGtckWwxqI^!~zWQyuLMje+sXH_}bVNn(MJxM!FD#J-h7IH_Mh+ZixTm`b>?Cj;*QEjGVdQt8pJz-Mnt>ec`9g)&Bd=eLl6u zQ5`(1dh~(!YN{Vz@$PqX`){buyZU;bqpZq#)!phj&ryY!#UNQe-bcUEUy?w%~EB$ltnZ9}U54-M9+c!P);cpUq z4ZJe_!s}Msz8@22Z2dK(W7?CGXFL|S{<%f>JTznSje{zZYTui|pUd2z9;Tl;uXFXB z7RS5Ij9>jk>=3WYncer@-F4N{bu)*~nr_;gcw}b9#@h-mt@fR@cx-fiS7X0f<(pEo zZ@c}bSZ%$n0bDonHREl*4O{@{q4-s^s=@U^(`rha#H znt!y<%Qp>4z4(l|_{>dNx>*k&SlG7q+%3WV(jOmR`$xvX;#&<%Yf~e4?b%@3UAy;e z)z&dy7i!P{ytH8Bh}gQW%R_e*-TcVto4%rM$l{Kf`<5N3+x+|eT`q@FnbZdkq@Ce(mf}D-VT#mGRN+rAss?!Xmxqy!^?$vK!LU=X6}! z=B<Nl_z3=;lzwZBX&cC3SHNTFZ?H_=o+jn?B*t@XYSE|UVWJ|?! zq!R2BXvV)xD$gy#3fg9Z6b-An5T?ecQoEF$mhJwI%9dbi&7RcMtIq8OgBf%(bvA+J zrY>5S=OtAaw4Gd73fW)PPR0znY6N8(ltxL>BD02U)6w*b@7EEl zV6kMO34mlhfmT|V(kwk&yh#WBqD#ZQ0HkQ9No6%9B~i#;Su>4znTSvN zvOP1O>=mvyEojl z=LJ)V*Zs*e`iS^H_@N2^*Z)*_tiyx~&0Wz|w14NvVM1Fzk5fq{AIo{|EdDI~+A05! zgyhjS5^N-r=cv-sYRaZp=2S#<1Sc;86U-h4{+F#xXxRX-#`8Vh;HR#c0$-=y2((^; zvDpe|CEKoqoWS!7o%vwTWf*Vd-3A4iH*V;I1wT{D!G1mVzLhzvrwuWOG*fgztP&3UhpI(+*Sze6AAr*xcPNn+l3OeTujG9&D zXoS2!VtRQEc3kCR8%D9bA|$_%_5+ny&crf~9LeQ!eaO3BXyqjFlIZd>EXOOrz+5%6 z3VY~iq^v^foXNCjCBLwy)FZ5fgEg(!EP>PlNn9m)4rs98eFGW7GhYVg`s8G*{9U23j0g2 z|I1lS$WT*8Uu;7nmElp_sWs&=1*iiTt3Y*mxl}@%f3PR1yrwb_%T8;mW;$nJuw#o) z7$BHmK43#I&8sZ0s*28cPNQ{NtZ`_6rL&CcjLfiMVJ7p2NWDc?(#t>aEBFK zUN+g?Z!`m3Sy@v7L_rg3Dk>PxG#!$u-pXp6QfDc;RklVlxvHj&w#-c~uf#UEe0g`w z@G4qPQ;Z%e#kMQ-;$VETv092Khq;7SZAu+owDCU1WST!#$L2hFdmUEq6c)^63ntmh zOKD1Zd9lPcAmu=SqqUeMSX56T6grPQXuYI5&skNS&&&d@co?q|)8u_Ww;&#km#RAh z{GY}zPZ}os2=PFY9cT`h#v@NRO(yojQ7L?2mHXS}i5Pu}x<{gG zhJ(2KxoF${H3S4Yis(}*nnDIJ;v6WWG21hyeD?uCW)MLRuc;nO^f&?JI7+6)evsZ! z;3$Oz-6h;W#Mf658p%7OynF~z-bjV=(m{BAU4%z5$fu7&cD;%0oK<}o-Bls&P!QS> z@Rlm2Qj~zm%%N6;#sZ^%va+a!aMyhY;=(Gh*q3GKBDaA7b&z*Q4#Ip_$wTIe4uq4>fLog(_3J(gWHW6H?ed?RS)jlA2 zQ2SMQQ@#XCN=J_hUka!EDV)-fo6013sc}^p!qmaa`vN@bYdq)h=(}Q#Bc676Qt%AG zlYwUvo>DwB@XW)r1ke3=*5P>;&n`S4;Q0#A1w7hru-)Ma#$&@1g(n5iFgz3R6yTYG zrykFpcpkv>B%W<}_Msko@ji^_D4r8|{sp~49!0XqQdh-{xN(eIgL{Kdujnc36-xjU z(&5zK_3UjF$0NM?{rCSu#iu)+S!};4t96n`tvT+7Ug#Ut<6#K<)X!==p29cvuSfl^ zxxZh{BLrg-jYq0G9B#rN)!h>AHXd#p+(fHtnd|V4YWy30)m)RYKQ;?1A4)qXpuhS! ztZa`9)sJwSd)(v|lkd!}nVglAn_KCe#{2T^yjy5RZ);GP_m=b!Uw$-b1nYZ5kcAk- zm3fQaY38n42~?qRIdRo0;1+|#e!5=4N*s9UT5|C%$a9=|ym>4<^o`g3}phB>X2D=U>b zeG%FqPe0E*DZ>^n4|C5D^6*z16AusvxUyqa42M5>QJHD6QBrIQ>&if_O24N z$x0cajgtbW8YM(bETU@^k9oFi95WfUZsh?@I9oT4qx6*2C_~hU^`Na$d{$EyVt3V^ zViJJbG>U7cR+%Z`JRCvc2PDWvuPo$by_IFjL zlLtC6T!>O5s$IkC98J;O2opmH&@Yq*tz+d`3+fRN!F%DI( zgw!A$LPX&nj4NWuj~sVWgsVFiy)FKn<8H!WAmsB{3KvB&cTmhLNUu3Oh2s`pg6kmf z`HheZ4vxExLbmhTeTQVZMgJo*#a0b>n64OZ3MNrVI7~v1;0+#*?GO0#JQY#878`wi zc+PN`Dl7+VM=gbCDGDu%)!5fyh_LXS&kWRXC6a4aK%H7{hEE1dw3*_+jNFBO$U|d% zkK1p!gge=OjJ+kT+;Ce1H$375U5uxZ1GUdUs8!6GXoMy5q+WZr0;PUuIL!vrL zAVM)5LOfD|)Dmnn<$7v)qv>6-e z=s!>h#b6$C(UzY;{GY=QFUkh(k?F;75}v>mS7lDzqf`bLADuzY6i%|A)`-fyrFanM z)~z;#ny_-1#b6#(nL5RT%3*NOd3vaDKp@93TT`(K(;UDYOC~Rzhd!hkxEvA)J}jHj zXN<2*oWRj(o1EngeBJxNZ2b)S?%?s^7p)FLF(XOXggILF0xKQ($R9>7W;3 z)wz>kI{=72OE9IQ^z#S=rE&UfA=uOt05cbI+*4F7CqKXx;Nf9S@HToQwJU}(A<+AE z54TUP(dT!#y@OmBL)E%SJ9-wzhKBUonh zUcS3LJbX)d-gmR7$5dWx$@cK@``mz@P=6-iIrmzTjNJNM!K%yh@DL7r(|MCPsRuEL zl_7?N7tCaH0TcG64qWf`$GU8IsRP%sh65MaKj(K9XhRHvPc{NAYVakz3q;e@yp01> z09^49ya{fa{;6_I@m5~*U@p`k3qtSYJ^hiGjfT#LIqo<{OTIrwLv?86X=wCxaKZ}! zFYX^hQ&)Wr%)x?MLp0xFOf)b9i){^&DEbZqq6DI*{*UFzW1h+nFd%T|ZD=qBAQoq6 z#RqVH`47m|G+;Xcr_Bf3DnvwJx45eJCmeUF4>JD9`gy7+>bG^8MX)byaAA(q3>0`)}tfw#sFr>2+-|A>=ZTC=m_0ch}X^K4%cld z0RM-ZVcO_GUCv}I^;X?u{e8TrbDTtZ6$TmCj={7zzU`U3(dP?{_t|jh{d`Q{vp2T8{qb=@Jp&26%Ip%_fcM`@KdPpDSWdEpGPGP05(-vi-2#Ch)1nhg=QdFXS1h=lvqnv4b8>;6K;#etXgBXMNzn zE+O%MarYk3RaD#K|IFNy+pyGlWbb|U*=L`9 z_9=5_=G@kpP{aUdF5>f>_4LBqafI$TPdtn9bW3xmKhZ%vK$`i7zfGhE#7|C_HGlEv zgtI1c!_9Mx{Sh+%^yfyOZAdb5yN9ByJ#?ZZ6s@0-Oi!FUJbK%aNxIef-NR>i=p31H z%RL#QOt}Y*O=ieGJru1Wy&enFu^?kxL3FA^i%+u;D~!H{0g^6st8;UM3$a+!iF4^t z!HX$!1QODe*?O`Dj|`x;KRQ{>;y`}*6dL^(7&3L5ZMpk=iy=%H(o#EBL#Hszl0du2w}=RXmay~u1|v5m&u|Lf8%~wvX&)#H8x4jr6h=@O zR|K-d=Ny$}#C!Upk*q-X zbPZ&MG8&SZ^Mw_#&m=XSfrfft+yl;*RbO>+oFbaD5 z_6m0%my{^@hgA{&p6Jn8ioWuNg858wno&Ff0>7<2(lF+sw-zs;w>12K!}yfcoC{f^ z(wK~2 zOCT7#Vq3shf+yOCqC+TRz-0URRiaNtr1POR%|gW};>+!D0|J8)kkw4l)@X;wNH62y zwAMys2AqQsk$5foBwA*u(Qyo%OW`DjCe-NY($46pX+1h>+8rG=LywM{W^@de5IRCj z%Md!zr=d@WmWasMHaJp2#A`Z#tJ%Yd$#}YkN;8(mWGvkQ&Nv#AakRv*#?ZJLL&4Sf z8JF>M0hElL!F%ZEk5hm+Jmae}{&K}uH_%@s!_d8BG6Sp={M_L&8T~hdQ@4Mgjd!r2TxkJMoA@eD$opPKEkn8yzMFb^rvt#1?WLffS?TFMX*|E7WF zfJhux5d9TAk8wwa%ES@b!N;jnXJ}f^NX(Dg!gV4%xgd4|8XEBr>n3}7!ybi6k*wK0qdcPJ4XD)YXCt5YFqgB&xv}%TqR!!^HZ4!H&*h|M%x^?G* z>(<={o^0JQ>2~a4mAcftw-d`xfHda>D(&eLr=Z$1eL4(x-Wv)-!d6e8GVd*i*I#nY z3nbLsw za`dVYeIORCWf?$q%~rC4d!A8@XfP+Sf-9#XbH9UV_M6#94Wif5dCaPynK$|5!lRYR4DIhXms33z_i*KPX@?eZD}FIvM8e zfq0}f1L@>n?Ny7}9B3PEMAv*6e-nv^0?zQYs2#RQu14+Qxq z!Dg>b%Hd3u?2kKZljC5dw2@}GZ6pj);%%e*;HfrR>#R>^QL5WUiy_=LS}ufcqnF5+ z(nc=BX`{T>zuD8gy19P&PVThDksAUbsoQEP<^6zNxjX+z&UTUa2%OHp+a2BfIgp5m zYYv5Rl2rCfj@%eEhjqK;{|cg+X>}V!`)SjC3)n$O0*FXP}MIW@Zx+i%Ro%jtOZqx`^JvOlF=6Wmp|#vt-h8o^gr9 zZERXw%TQs-ZAAWl8|^~`^*ZmD1F54#cv`@)#HYS)t2zFNrZ+bROmfxpC;!AZ>>*9( zs=AuhCM{y_NY7hI+8Bh?-R!RwOyJyVlMp)A!kKsryuZ4)U56wAXQVs#wp*adXryy* z`x(fm&^bbLZ>x4Kq3LhVz3sKAlPO*9ZC8Qk3C^wJD>$@TaBdaPgP(ZQp83IS;QyCQ+!PTwel2NRbAmmo@dhiA^ ziRtQAu@%ALGTd9m*pC>qQj~FT`v~|N!5xD)3GNttF1jEw(7w056j~d68wM}c208|> z&@=}BfWbRN7Y5J9;5cER488*+t0BbThrwSblWTB040ai=!I+?Szgl02-&;%NoK2a^ zgXtnNqOlw08=TE%3S*Hum*)xN^BLYG?+^+kxEKRxI=_#jnF1oo_IEB+erq zwn0!lx5?*^r!hX^winsXH<|5YOJSrZI9Re@_Laz^LXW?}ekG-^hy zLohS=oQKghPRkgPBk<|9WD>h`PqQdL>O0yn-i6f$R>uw%;n{du(*+0lGs8!D7@haG zI);D4I4#lnLtiNTD4ljYD)6;Ylof6tZR=r3=gs!g?4*U4QXQQmjm{f+2nV~2vrKV> z5nf0YzeKOB8qk{)-b#%$!>yub*j1E_g>65hZ-VG3+X;OPS~_;-=_6KJx6qsYAKlIZ znpo_3HnYnEG_C*4(;dziA|y8n{u@u^KtU1OVHV6o&4;8gI0Tlh-^@-rYC4`3y>~8N zCG7^%I-Xq`mX-7M(APm%RR(gS9bnuELq^Ds=fs1u3Fgw@g^c(QD5{|~I$o9){1R>7 zAWWf(mb4$B(P4DFJS!-4_UHEFwT@TVbUk!iNk2Cc8$(Ohi>?dW$D%R1tl;^f@bU1k zMowmN^I?B>u<(>5qho$KY^8fEGGsG4UTEw70h&R`=y;J$7i_a%J??l3)47pz-4??T z=XLxXFaDHw0Wz6YJwRv>&Gi z`KB##{LbUI?5mbLWgN>h3bi?}TF{qx+fm7*61xd~yBGpgqt1YZ6VKvr!Hrw(H`8=H z-20+48B9<$mgEwI%?Yi^(c=Ask8fer`H4jN#3wL@$}@Smku{9){9RI?3YIgENV0gv zl=lp*Bgm0{EUYe`9P@iSW#@(>d&57OblFPbv7OC0*TX=`WYV&qInNGY^PO}my07T< zy~>kd97r(wmp#vHr)IaJP~=YRs34IrG0fsnC?p$33kU+UB-A=4n?+3!?7PHdqiD6@ zowH-INwf)EZxH!5*rSikU}{h0VpP()My9htBo86<22px0_`nWorz!jztt)c1ZKI_} z5c3Y5aZp9{3#K=hp0Ri28G5~@)ph|^iy<#k77jErYYLPOO=}%4?dZ_7qeE>}U8!}b zjjBl5JbDPGNMxH8p?K)*qiJ;P=6I|2v8fO>5QY23qDO!aLb4Ib!Y^X6?RcqP(r$~Z zouNi>y)(1`Jh?M8gIp%LWM@caYm#g$?QG4SZ0l08E%juJ&ZhKhU`R+5u4*6LfQy8d znWu1LA%BgCi~x7QlU-TN&kF5B=?=qeS8LN0=e74=03534b&2%`sh}nH&}<% zfUDb=E2dE^A>{UD8B(p++s3O~%zcjWFx2f!tm7%TL}@BW#Lr~?0^VjXKg;&effT zvh$hFxMy|?<;PxtD1o4j!jFRYB0`6gxA1N=ruOe@B=I6=|E?ZFw^Ac`vXy3$Pqz}; zl{Xi`!>Lk`-GP?E5SN?PAuP9`jPyHyL#I(UaETBzIKLZNNgt=`qSg2J$4jB z3h5Qv0tg`4iC))xjG4>r$6y1Aa zk{DW@h3WQf3LU#VkxbM9N|zwvzHIDJz8tS>;A3F^m2uRM3}|7&e2+3!=1@*(x#` zqKW%q>2Re9GZEPcqb_Kw9~>yHFx!OMlQ&*QY6V*dlSr);qBayddX8b#f|ng^mWCc5 z!$b$6HW+FkWN3Sl&47f?$Io`~vgBgfvslCu&2X2!FT? zHWZGlPts~b;V2IyxuNhBCT^Aj4l&z@=dd_jPHiN9v9nY7F-p;lqCa^!vkWDgQT*8u z{{3Rx`1!#x9vX%C0I7|AU!8)3JBi zp)U0Z#5&6kbxeK-uo4AjSML*AM~l~jE6?mNu>hexGfQyWGqI6J5)LX;+gL4lGkEP` zq0k#+nG^(1n0*s>(Iz_}GUl88jPThs*|{N8jm0FljyyuLW+)MiIeR9xslb?PDiU+R zYryl`2iqz_-n7Uo4Kh)N4xt`RkkmRo^fNAKhKQZagT_xF)HyB2Y6n6#opL)?&oKuZm)o$c_>G>qP8N@LAwBg^AFif6AXqwr z&)7S0@FA=qz@24cY##|8=(1NU5)tqP;8{_#eIgH{*(L@sA;~y7g15hlDY&%O%vX&0 zFc`s&(m@X6Ud`Cg%nzMTmd$7=tuy1X#$%A{L^%tyVkUu;C-{j4p)-k_YH$@deuAP7 zLdQ*m;C9>?(am(3-kGL4asVyiE1_$lvrwE7F*^h&QcYpVT&y;o?C_t9lG2f8T!sG< z2siv!Lb&07966)pbi-dW-0*i9YCKTkzeY6Z@ZSXChW`!-U5)fAw;C$^7gE$=Qj`vV z&2YotW$5r12F;KRf0v=dUo&+0Ynt#^Azy+KI^=7>b;#F)yCJ`nVp2k0GjzynIvMiK zWC@97I^kUMIdS~=LS&_IDyars2uR=5m;Tc~cOGi5a)(qhW*g6O| zz}oV5eM*37h8timBN3aHGQPSD z9blTF15DHI_=*wk_$s&_U%_>-Ee3ak?Es3*kk;4Zt7hn6({wV}CXpp2*j$DVHkYwm zuq`5QO0a2$4mM4<47TMMT{^}Iw$%_i*fxXfU`y}n2{yiq@&w!Hc#B}u3~#X2kVOYu zBe)xEO+qAtZ5?FkI49UPL%6}V3&IVyJDoD!(M&VkU~?JCV2gM21Y0G98*H@@dNdm& zxF^`wP*h5=X@(nYE<*>KFj9ieW$0kj3>|Em*1yfPKX6Rtk zv<|lA7@>o0wct*$Z2;H7whi13wuuy(5^S2GgH6-PU^|U0DZ%D4bg;RM-Gc2J@`ktooRF(xEpM{ zgs_86ma&z4Va!xBQ!QibAoMbJF1TLCE)m>W#;yeSE@Rh79%mVw-qW*;t+5H#PoXyn zo<_*hVLT5T#jVL=h_s?m_!IEYSrv#M({4A5BG1=*7?+v-;fF3|QN7a6ogchu1W!W9 zkw%IvH^bu^_!^G=eqodjHM7HCa|56m>UE30+yJ-?Hn~tKHD4ntXPEi1zATJ4L6p5x z8M+WlcYv!~%%8C?eQ&YU-eD*a+_}Y+Reue%c2^^~cGm*I9d|W>d)?J6c^r4`0(V#a zmAw=p?vk6tF_2i7rEU_>Y~7-(Ylhp^T}HC2&q9OS)fYp!U41!(?&_-r_jL8kDe7ok zS*BOXn&EbJm!Z45Fb*M$dz0ugbXV65-PJX%SIHYNLU-?N;JSOu59GPs`!0$}>E4>5 zySJv3-TQgRZ|*ADW$5nhGIs0U-;h^g%3URE2E|3?#!%A~7rck4)UaTt!oO@7dhe=9$KAWI{GSx`iz(VPwOoSehAbO?jGDZ~LB% z!!<*_?Hj$38?$P%aQ8`;NaP)|^nwmRXG}9YM21kvVK7W#9AoAg(Vh*4F#}GPWVt3c z{5(BJ)2ipRqvr@i{9wPRr1GqUl`DB}vh!%#%_9sc#?E7eemb02Jg9Cd&sSr|;fJ|W zceW|&M)Q)Y;3@*cKVsr)_6em9rCDZHu)|C~u!14V287%3m#gS-p5vVg!FH@~+19TO z<4oC(-NzTRPGqD&UEjg>UhG*2en*aq<4k)mRv6+Cy%(!#y%(!#&tB|evRoutoV{30 z>%CZ^WeRckVt2xjO$P5?>>7-!n8B3(z@dyaLR@4P$8xCdE(qCv4T9&@uzC8L8HqoA zGHofu{aFgH6a0b9xa`C>3jSg&4Ry}8J9iTb%K9Wp6Gzm&4RNDtB74f z>~FSGIr4f#tjj8v(jG3dw=c_$xa|E_OVWKD7SnYWfhxoXT0{19SCpFS=%&(hTPgZ8 z=nmAjba6t_kup;~jVL{@RZzBlJ437V^AkbY%_!|)d#CiK?3ip0HlQ3_?F}}PCOus5 z4QkpQXJ?Yj#Bq!az z8OgCd zy)OmnWn2k_JGR$A=&`+CaL?HO3`LC*|LU<_Gu*M=W$3Y882gjO9ot=o9@{lTkL{Y) z%eY32(95_5f;-E&CU8B@H-o$5{3eP_8Rs=akMo*Nj`KUolCq3*8G4*|8M}@1Srsjo zahjo*ahi6QanbROJnkc#42#l?=XvPZV1MiItBjjkAU4`8k38ySJRWFE#+a-@)=}}& zTkSo>ZQyz}k=KvdbM_Fc1$R~xb>QCBL<6*5O{@fWR}-6Tg4Kj7Cw*Vaxh)H;{Z}(| z|JAhazq>F(_uu%yWdE%M*ZsE^-0i;uC^Du0YKHE=nojoLF=R>Uzb-@fUzf34|D8kL zlno}$(EV4_ZvUkvWH)mRMwgBVsm;t;;QB7C30&WWtr1*L2%8|16T*-#rh1{tz2(;o zJt4?u<_^*8+=Z14awY`X%&Zr}o)9Fw7C@FBW`|c3xEo&05bhoSH5A!H+Fw5_(hPU1 za2d%^TPGTHsBMODLv0s?4z>8;)KGhaqEbRlGu%*f89LO2krHYyLx-AX=up$N4z)^* z(4kf47+`ZvnAVf0M znjuTa*rB!#+zqwO5N@aq?Pf1`+)&dDH`H84GSqg71|4c~mJM#GRYK@cs}rmSO?uOd06qyognxR8Y)5%cF>E0sLT!s!cm$6%@^&qe8zquP7 znxR8Y(=9`78%CE-utQA_h|!@|39dt}UT{6CH9{mqE!?9;sA+~b)E0Ze>!AmpTh;kXph^j_`8&P!-ZbUUe=!lvtxF@2np{SII z(hN7ET!xM)VWdQq%g_;}89Jggts`m)M(BuIDYz3+Yru6xZ31^A>K?}-?lV8l&=IBS zWJIkaOGu(ZKVWtlI-*?0ZV~l4c~c@vGjv30+Kni+9^Xl}B8n{iBu{M(?4SzZYHOhN zUQUxbuMKJ1ZBdt@T2yTf#1EuJo!5pc!QHKaS_plkGe&UF*1#;4$=(`h0@s1OMsOX- zn;?>b{28{%0On55nxO+(wgz^HUgx!;l3`9D%ho`>5cZfUTLTLqOFxOKI3C%v#mJ}` zZmnHLGLD;2;Kp$?gd4}}AaopW7TgoZjTDu#HJ}-89J>r1$HHJzNlwBpL&vdZ=s4E2 zj^kYzq2o9{JQ>H8;5v?L!QD7MgCeD4yK$@;I*v7+jN_}wk`l)*L&vep*e#A9B5zoV z(=SSBhK^%RyK$_x2G)`-LN*zW&TBLbO}kqIE<7(|PvT`ev{ zYjGK#4Tdqeuk2mVGz2#Ix>vHCTyZ7)bZ9=m8ID6SdAQbeAxxU`C=s61sE!M1#7)Rr!^AF><)EylVJS^UF3ko|0) zs~lpg51-^RyRdnPWSB4N`J`{FTPll%dO4pH>^JY3&Z%GgBq39 zDMX64JrjFYy`~LKCk~N9w?Dxr>m1D{h2ruNuHQFZWcxjm!KcV)uI9byZ$RisOqa9av;f$W2DdJ32tn0uhbwZ57iy!o00R7QP>3s$wj) z(ij>7?-6a89@#4f@##4q@cDm@9t2yGWtHOpH4yxX{wp-GVfbDz=CAdUkEHE2$kdYM zR?~kXj(fYm!bv`Ytkzty@6DC8G{PkxV6L@BSmzTMNtUXGoK2dA<4Q(~)MTXmjW5v> zj1nbNp{xusUOs;Hjo6pZ3lZJxEfKv+L^JT5u=b{^ltHbmo0(>Oa+~%bRIjH+^bZmP zMa0>KQY|?o^}Z`PRM;?$UgIJw;2lU>1^@Rs(#i`KQ1l5f@?i9uATtnl#rgATI)CI0 z6#tPZYQ!hOPG-(rT=6_b1&=awo;ZSsqT~pkVdmU-h+)je-N8#Joimd$tL=r4+uw&N z8y+F!OMWct8N7{ct`($-4T0LI(e{iN_{IQ2J;?s>E5822t$};u=fi81+B^_2+HS=H z`iw1f%__bG!^*(i_*L-Iu_7=(W|Ukak*tMQqN$FdJ3vQl_W~(*qDz%=ervvarD}nW zrY|9-l!$`9W|ksqgy?0qHrh}8mP|M&aGTja<6|6;4FQ_MKEHZA&E5XkfgDysz0&qF zOHZwJoo+6h-M}+_8Y``XFZwKoUr*vO6qQyPQWdMin6#cWcl)+SbD*uL7-qH|Msv8X z$iAH7Ma95q+9<=ALE042u%E4A30)v$by^CI7!QatEZ%_M{o;mq6jua7ME5x2t9$Ihk zTP==Q>k)?0O-v94d(N}xls#)Zt)Af8MJ>KS^?8-t2r$T{?Sj~29(!W-|7{lMgYkJu zT9%oDm+ZqQmJa_s!f}9nDum3j!#Vzt&mmgMd-Zr_`Jl5fS^d+R-UQih>j(MO%u36xCkB9x(mKzm2CP8VXH+ z#+w|BBhdi9p6Ozl!~cyg@wvnI%6st(HxX?T4XJvJ_UrHBu0?wJM6+${EuLQf0i(h^ z>E&aiUytD{6Vg;K9~V{QL}e?Ij+S0NS^8*@(Lr^wffk+KbB2EGX1;%I#eK({rvLO$ zIct#?$hZ!?gwNOgHopHvjt^xb5dINk@hC%t;J-2PRnngXuRVdU=Lj=!-=*UWp&^ zQbQ~&9&7sVWMC>pR`4;6%oUPvikTu~9>8~qQWN;{Qeq)P4F`hz)5v=(s%}^P{F{6MFf+sV)?~MgZ-b(%;F#in-L1odGEDZbfH;jj9|Dv&+v;W6Z!}wT;H>0L+13o$&9~CX< zM6ng^nFS=zfe;50N6(4aC5YW~oMC)HASkg*s|@2bAw;ZhHXnsEuoM-sV%@V?FV@y2 zv})01Sa8t-e!)NpG3U54j#Qw!%Fq<6?;ptdC=8BDY%+oJl-QQR&ksCvw_)sT5Ag=X zi*p%^d6T86bA)4UZ(+t|#V+Mo--xI7J%=-%SZ)_}N0o0tDQDJbPn>Zrhu!Sr&A13v zOyuJhe7w6I4=rQL77PDCv9*ag-CuVJ6ADO|j%Lnuyk^G0Inen#Muqz_z6YbL{+P{2pZ5}gDHk`u)K)C%ANW}?S-ay-`A9QMOd zV;zCH{x+Ss8~7gXxk$t8!Sc;MfxoaLccSzPeqqOd^*yX{gEqd;Q@oNx3&2P8cKU%W zKcXkU*@l@N+L`{t@x}-8(i`}-pBu(a$O~TcG_QG8f$wGd-zTuHuw_v3YgFqQx|v2J zNNad`$hLgy9Rv-}`f5g^`BuZYkvp}TLrA@dO#TCo!9Tfh3Y9(D^}dG|avBZg)@I81 zBI{m%@KuL}A`dS0Zt(*l=iSWtFj01v^$&!+yp>vK!eGA$@#GJLjHh}mf{Yw~AjEgq zmkbC$vb8gsu6^pUm@UKw5N#{C5oZrPX9GWL@!2%)^@<@Dk>~l=__-a#4Ft~HEL+QPpGK6Epaf%OL^m&Z+O zjV1nA&#vZ(r`>*hGERa-vd8Y3F_tnmm0oBi`WLC_s2KUdG|~_ zK8af_5u-Q$3$fno*&ZXd|Ft$}y?M*N_Rt*P3!VQBad{tmp8MAd4C^f_>OZ&KF#6z+ z_*16;WahHrfnSgQG?c zIWko`Zf>>dfBIb}CfYx@V+!t!I=hHGm3lr3K9OkZ%Mx}8b9nA?wByhBGr9^fjIq(` zDD8aDU~Z;_)t?@3SUa)GU;8{iB!C&2d8WS?c2DlWv&b^j|MMY?ox*21+?^^sC3wX2 z?}rO}hQQ}@LeL4ka7-*`s?I0o`YLeRMWbBW7~5h++tKY5IE zGFU|w+)Jl3V;z^a8{e?x*B^Y((SEA@3n{;Lm{Y)AEeK3*5O+NE3^NDW^mfJVjAx?< zn?|QGv3n=-7C19=rz0Z4zc-TMS;VMe=38BYm(U71&^X!1{Gem-31nwO<5VN_dTPZ8 zz?flgAND?!=^e?=*NPL4Ako+UeC9b?uJZ>H(vzvJZ~S!*ORXNuW`08nh-$++JVcBT zOa+Iv{pDNkOfjDO<-oGHHqcf4@TWxMM|0!ODsTwd3Z^B(ce9M_2Hjt1pIH=Yhrp}? z7JcmZCibJIOCV^#_6WqTBe7ZN#zbr=_&RVoPNom|47AXSM&UFw7T!)>g@MuPNN9EN zvu4-_KO0dI`WhjW7zL*%qH=8X@6ebnN6$p$=x9wRkDp2V&Q_}q36kn;7K6^rjf63_ z6N$u!QDB)JLeC%0rm-aY%+9f%R5V_Qud+jtI)bLRqb6;CE1GB?%>r5y_vh3c&J#v< z0O@y%CUJ^Xozu9F)fw3Am-rzJu!h{fInUkR?y?D-z6I$@Q2X3rW))Mxf=l3dQ2+p?XI zbXq>k3TX?+^|6k)KD}7VC|9RgRf2PhRZtF(Do0kDKu)r{8o6Q6DyE%-tLl)|2Uj%+ z?wo9XsFsrhqvC^4p=YQPxr0q*j_*JS{a_Q;c0%0xnLoaRWddM@(rz1F`mYgWuvdj~ z`lrQIZTLQ<9-pHw_7rRB|2+bmDcn~_y-sC3h#kuSZ?OUYRH z{HApft2p1p|Nr zIVnYmI`Vi4XQfpB9MiqU-f@4@f4tXYlsCn&?#CkQ0VcMb&NTg4hVrr(*_@>V+(`VF z%{J3lY~q|pG^u@1ITYr4Nhmfu$Qc>4aATRFj>uRnsB=Wda&Yx@R*uM64WXaTZV=pl zI%|YP!8Xa&-|Vhb$Uv%9EJyWixnUBf0u>G|O9z=6_%$p% zWNgt4^+a;qAxVaMA{lC$z@Q-t%FMEuoYAoyLe7Mh<2g#+vBxFG-DpGxWKDB0-utAx zG>6(XqFU3=gL5NsKjy6w?NuCZBt>0}hB7g)lUW&+;xvOI<5J{iq;+xEAuPin&*xQf zF6|VjXOGshsgrK1Csg%<2fukhd*Dm-X!<@@_p%C3H;?{3umv4XSGug}; z#j>YXy8Z++`;I4=e+6fuoU@FaJ0zYiH*>mt##)`>x@>`&^JOo?cv2edVP~Ca$)MnS zcqz>$BC^qA->B#O<1jWvL`AuobL~FtVlm*9u}z>hC$lfVm&cNsaITa^=rRn;ZvCY_ zQJ_%!Bh%FPOy zroXbUo9vtOtY_ry+Lko~mgenX@*V#mW0MfCFpj6BoKwov5lLywn7qdn!ER?0n}|GPZHctPB{uUS5H96xM^%S)$lLwWj9Y+!N=#qmytwF<6vp`S*) zo{n-ge%H+sAJ66n%F7p9q4N(X2Iy7guUH4hvY5%_RTmjF<=v1x!PTG{Y9gr`vV5y` zaI6@jPSTvOl^XiPXma16(X{&pjb z8X@)9%KczaC(j!+2f?9M?i)0kcHf{8Mj8U1H)zg*CHH#zYh_Kld4wUwIA1G=#b1BG zqX~@iZ>Imv$zcZ2u`d1End--{#ohSaqeia|r#N=mXmq=S?$3oA7 zuN0hvu|r1_3~PjtL$Mbf!r+BQX^u4KP;A4RD5d6nN@TK6zHfhaq1QjaGn;`Fe~4vf zPi9D#bLlI3;elJ5*me_wC!*GU7?QJj4!>asB99w=qqZ}8)sk@nmGgbJg0(j~vz9Vs zy>Jb8`s`9?UB(L{)eJno=Bw>NEbDAphquM1^oCvBc6qAXgt6^Wo;5QNil4|VQUZQ_ zAS?VKb-xB-abeb~KtXh*hk+BqL%g*7*4|4vLgx@?kWpz_ffn&cR&$_GY0(U=#iiw( zana&3#HBU$9){!6ND-z!s;zrCke-m+$X#OlCxOiH#b>ZfMJo4IiV>-wX*0x(?q`}6 zMz|XaenEs8#LhDv5tngJATu(-!^nHp#Cws*JTm-3%Sxt?_$4=C9IF{028vb5r7%>< zFQG+B7KU4LWapu*9^fd)ib!B2djnbtjF8kN-i{(5)M3iqNF^lHLQoE5c4?M8&k%8% zwuesjYhkrc2`tdaXxP7oyBCM1&5LbL9|T`ayqh0>k<|3TNR%4o5vN z*n*HH=eepK^PB_v;c65NdYT_HeT8Q$gxa7DQXOlc2t7o!=d{_Et!k!;{yZN!GKae0 z=>B=5Xfos+YLc5n>U953^^|X;jLSEGI?_ zAt_Hh&7-FunLHokp74J1Z1@SHf_b^a{dlDUv98?yT=*(aXFE7V=Wlov@-t#9$a5rO zy}4^|b2JaKy0R9zm7QpnvS)J^p3jUH+mR>CVSVRnbrxcBnxhkpAEM%aEmWClu?l9LG8zxtZlr+M>i9O zyo-muX@N&9i@RCnZJ9OJG~CFn?t7N?*2xXAU5G z(0uy^d{2~AzG#KzNtmRUkY4$cRS=$(NHWaHX(4rhyO!uUk)ac{9r=^KwuRbWjND4? zC$?HiFF~;KQ%9|4xN0@SQJc1v97mFa<}sIjT8=uxyYd%Hy|z<_^DBR~0!G@Ptsb$F zbccII%z4$PLBuSdgtq)Td)k+CSu)r<1Ix~0eNaq|t4<6mol6j|I*A`}wSUB2ejI7- z_pr(tpuZWwI((-?^k!I_rc*i&Bn+Gs!+IX&z8>#!15Y?tT}Nno3B#iC4Bxm@*={EG zt5y<*hIKrBO1%)6y))nLyWJ)+L#SV__1z@8h^}tKh4lq1!|de*#YyDpHjp`I>SsI# zgxhT&i2WC_DMI(|#tHq|jkmBTDa2lqQ+|!h7s90nvykfkGH;`*UHpDeI-Du=$&VSI zmf(=?H_^Wyp!)BTy*oSidDm>Cx8g;$koAVfj3*q%rJC`y*dy&Lmrw(%As&6j0^CA>Fz+K?x1=V=`tOOe8$E#*OVX|#G|lF?&WeXz(w?_EmNsqgqq<0rZWo?H+FPXM zkR}I|2hW7@sTLm1%pU!{k#XGRWJh**=)7#!8nJ^Ls9qZsj*EsiA4L}eS4+pP(-?`q zv`coDjOh}E%l+N4qe=z33>Mr4{N7ULyGK?7QF0@}owG zFU`)0%jl!^Lf8jt;otpc8pcsy*|t~rAjybKp2xvju$b(`)~v`0FlxSL$`i&5W~Hjl z1Q@>vW1ZPu)y8G$+BBj~*JcU0uFY!jWNkL96uUONz}?!!3zD^|6kOM)RtR02F+!x& z=4}j<81U5QaHhzxZELpSOX=NRXvm4u`ERGI&pnT2u{o8llu9d;-Y*^O5^dJ9#YFHoBeUC|IY&-*PI6?0C!ni~O- zo)u=`EWCCSX6QNb;RarpB4Zly6^K7c&>o@ zP1@LFW4W;^vGWf_{vq^9yUFID?@$lTnlOv(I^9_lp2o18^{u@Ql{I1Pb)vpn^o6Tp z@-V6noF`S`C%}J2w~QcZH?XWPMw!d7*Wc8d48ppMHiB&}SNb*u(OTzuPdD|H#V* z5F%T^MxNa*R$_+lmx~E$Sp5d_+{X7!GeHWwUlnU%@%mZBaKERR-EUcePC8S+{kaRB zO93AU(a0MBT$i>%i6DmGe3(s>LgOs{E}G7E9^0UDEvLn-iYR{$MZL8KwN{uvmA}8n z{J{ufw#Te*N%N1Z;sqXBI*-?7tlS`il~7h+{`lpm5If=a@*LA&zJ@^%W;yFoxvYoD zo%v38+>0&N``iLs1Ch;qV+wDFQI)3nyZ>G+02iEe0XCk9wPBGgxm&0p=Jq;xij zW*)~hAjD47chu{6J3ud&gw;5$MhFtFFEotb20977kHwHdDnTrgH`T3M#hQyT)OYJi z_GUt0IZcs1|8arOPMpFIvslymZM2q zG#s^o44*G+$Bo>(I*EZyUz@6}9!5zyeoy;i1Fx-!F|vAYprH?9)C{zzOmTD!(2S}4Mu^?Z#9-gVm5zDcrNgLupafi-P%) zJ~&etxgycSDhjW~2cN(orxDo8Dh}S}VFcf#eb^?rnjvJ};i{0r(1j4&ASw>>1rpz~ zoJ(hPui$6u6Td-J3L!sHZ-nMimh5T<23Q5LiFwR<5c%(fLUrIx;F$-S*|B1XH9~wB zie-Xt6a2vg;&-r^kBqRePkr@r&Ly9YLrkNSO-oubC z9X{X7IKd1=`gj=D2kFx6>PkPBl5PQ2F28_vqP%7k7-YNr91@kw2jgLJ`C=F;E^mU7 z;&Nf6xcqJyDK6Ix$K|xWyiA!sopG80&o*S=kDazZ&r9~!u`Qz{mwItKczF@O|4;W8wLKLl^b4(f}@dahn~PuX1B;v52Nh+ zP`(jj_LGcgqG*vvM|q!|aNI*HTc&s!VoR2{5H$v%lV$&E zoL!7HYTW)DYnXA9jN_TL{(+d5pn1Y~cm$-0!uwE`76_cct67~q3}wxHFGH-U!Wx~$ z^$e|a20k5%H8PR}KD4qUQ|U?v!e}Rqk1SatZIOB9b?miH#81{FF#jP7SRF9c#5!P{ z{a7)4vb~oSz1hdK$vuOSleN%c-NV72OeMWhs)PJvw02pAoeK^#jOabBQ6uknjWLa@8FJM4^XLgq@&U2e&@g5MnGXyl9s{2x_zGXEu8*R%Nr+o~WnBwd zX*5Fw*%+&m@0yzJXN26G{L zh9j}RL)1aE-q=6%40t1W?moU~=pl&3LM%6S56YQo; zd!j(i37XE-Lzc_XLzZUvj&tS&m!XF&&F~Ic(Y4w9ROMLH*c|Ci9>NaOSOS&WMqqefXsK|Pm5h54*00biZRA{#k z9R_V|WNmL%^&umK2q^lykfEBj1V)Jxs8jSnXc=mq5&R=9lp*1$C9>L@7?4$m%mZY4Q)fCG?`THWzGi9GX-GVT#Op|i zd$JC97#T3K`kV0#@sCI-##}RGsDjqP$q|tQ%&d%i(fS??`j=var8{ngAtGiN3EIYnpMI=A0K7yXST0?fvTj_le6+eT`Nf_0T1$vs$JeXomIa| zC`VIB%BdG}f2WMesFab}E#qWe#t<_Le%2(kErypbLgL0tv0XE=W|$RO7b9^26117} zh%!|(vQDto$e?fsLcK)IDqq(u85lIf9UO!q?WG0>6{@-8O@k_^JStT8g)vG*oKPJK zJq+3nRbhBT)unZ)jzFM9G;Fs+b+${ZP`wOyTm$PHM51^4I)oFe0lNM67*c%3I=hk8XbV`R4hPM_jt!r@r z0wtossl{~YWQQX`T~-j|nLxP*nZ*o1WV$oJn3L#M-1fD-{18|-(3^n}x;j>GnU z#05LjGrr*l`3KVZCv<=E)T6{VnAPouU5aPs9f(0C2xtY3G{}=dPQTlc9vR8Nb`Kpdmt}Qn8jBvm4@*=nWH#<}q&+qjjH;}<4!LeFU05|^ z26y1lh#3W=a;x%Za;vTB(XFaqpvId;*D_XUG}yn`th?eiBVm^~)GsOP+$YiE4S5V2t37!LtN+48GPiu(C=vHI}<{Vb!S^ ze2X^FG5CH>WAK|8yjXN$@H7lw39byj7bDj}h`~>Se@rIV;Jq=}Ww-`ovvoPq=38(T z3UN{JR+I2*@oUFd%w}%;jl}h)--FY>ACKmp2}ya%4D{p`=UdYgn>(W4*|7&c2V9N1ncUm+oQgWzSn8&#B)B{p}x|V>I2fD2Ti27zQxt>D@kr~w2OmFf1ZcnGamGAQe zRHyh~;*nQ>#N-5yj+^M$RAYC-c!8(Vn4q+!4QTUx1 zu3^5D^h(l2jamgPhLO+=Sp}ppWEF5B64F*Gi>w5^47C~%hKy3~YT!y3csRKl&Mro0Wt`jGUgzxR`?41&oW%A8Fg{sHYeZ!%qYxzf#0} zc1+)!%BR-9sHpNiGlXM41fNC1%cYE0BDIo(CAP5)lZ1r~26G-ET4}SipV`g)gVwSx zhss+!f+xe2#x0a@*=q;UG?KZ{47bWF7z*nJ(ow zCFP;EW`yr$12-XS^ID8ayTYuBEG2n3^2+!t%$!IUQpdx}$+OKAnx^L19_rA$x==&zkaPOO3hQ4po4DWpty^}WaU2r&WxJZ+IO+T|k zz&~phpJ`%e=6KWEMc?utK$|2$GMkA(X-faNBe*HdgtNo+Kh&8~TJT>@FW>MVPk$dE zdQLKZyM_|(g4a=wbuyTBHh+B2d~AnI;(E2Q8pU7MDCTavnCIW(c`Naedm|g$O)Mi7 zF%u2yWrWM;V5lTBoA{3WiX{vaL+*7_0)cJ#?&!$(ZNlnB_#5^&nnT6>;Ckty}_Nc zMmg|Kslels@mgyCC&uL;PcOF;!b&iJPxuF{PlP2^@MqBTrqjRk-{z@AGlLtw5gciw zAHbL@fA_K<$_(J4%$B+KLmBH&=1yxgK5YNUv8?ovG)I|6PvMyDq`qBnqu+QEG5t{I zm%$7g^LQIkoWM1gIo|q%*+Y$7>H(DR&9S^^B9$mKE&1=O!U6U46|0!{uFCjkTku|{ zuY_K_QSeGSyZrV}jpRDrwB)~ULT8o=lDdGG729I6;7xqK@)XZ!1V5i#->?)a6yjsk zlK;M8+)b1VW2@=A_)T8r6#OgNetR+Fs1Q+xoSkcVG$=7rh|2@dGNuirK6-7OJ)3v7 zajm(;4DL-O*OSiay+&GoD0n<=`vJ5}nAWuJX-9kL;Oszw5gbCwRwN{+)fh^D012U0 zjd>C4_9E6QZLQLy(Be?5eH$Z4|26u<7$c0?ndxg$aG@4Bw1W|(&c<~xaFAim z%1nO^f%~DEcMYq$RMC&>4Ba{ys>qkMz{xp^?g&knGpy-3%H)rs@v>pf4XE_*w7g^D zE@*8c!SW~9UHC}*Y}HJ|xR%hyXX&S7kE9bv3`-qC1eZ}i4!j~W{dxugNmI7I&^mNF zX^o^=uZBWDl5c_F3)`k`b9C^J&gRFjk}5fs5ofh=C4^QIMo{J;5mBCdJ2Mz_3R79` z?~rDBXgf>j3bHgwnQvtV<;XF&ge4u)3O%$_!ov=W*fFg2Icaxz=zx4Z8I%f%k^v&| zLEtZ#o&KIvGu0f=69E!BqC*8;hfEc8LVJTw)5)L{jyLGEgyjUC(8}#jiwdn#3AFN=VRlSA&%;no3*U!mIU*JOx7ajGm$jfURGv=~iXIHD z>hyVz5q=WMu`u?L96@pnCWkOoJp7nQuZLcwbNs^kLdv)aMnZCg&4AK*kCs3u)p`Q* zKoDK6DMvFQq}zSzW%$pMF5#5cD`Z5(MGTLwa0a76lP#<|Wq(iFjWc*_kZMb(+yr0p z_LlTPAy!xP_LG^~(&|i=@gYyfDJ*Nh7(&GZR`7kiAsLn97l+a(P(`7oozf2Km?0;| zHB0Y4Xc*(~x9wSB@j8sw`i@8I4fk_;nxnM`L$PQPv(hdMWo$&tCRa-ag}uvK{-0_2 zX+ERGezt9My;_!pGCo9$F<#pe#k=S8YQR6!@>K)-HB4qw!zaC3t_Wp(iIz%NOH~P< z-iV(@*?yW$H0YMPfadKx)Yjt1AyT6gB>nnO`gF7it^72pONOk2v zj_srrg^uq z(z5-ReygL2C7O};5M5yH`4}r<=4A8+YhRI2$-oUdlW;@Q8Z%m zz)^q4XNhe5>gT*r|6>dXa-8e#M2gr~XB+DLRR8-dj<%f0_iv(LA_}goTRmz*o zS;dRCf1Q$|I)z9vCnaT%1a)%{vGqUjie0w=2hyez-x7mz0&HMCHORWau0epqSX0Gr zV8(cbP*Do5ddxmhR1tq1z#CmO>F%okS{~Y#H(mh0@i%{R!F=of{5Imb_JTRR(S8Eq zT`)7a`ZQmUDr!o*noh12KI~DrmQChfi*1FicULI$hEMagLN%Fq6>jq=Y>S1bISR{n zS11c%pXO_YYISTYG;Vm@%{4KX15Sbj1Rs0H*T=_~&a(|@4+n<@Wy$3AV>f6BkUmS;M^Q^2dh zCSVJouVpWAnh&rRSP#4ld;;jJsh?r20yY5e0{Rks8}L2wyNBOyUpBUYDxfQ%uc_e2 z1M*{ab3ApCXw8j4sUykQY16l!vKu5r9mp47(q<7-Kdx7ix|4q8& zk#a?+x7=x-}3M;fp;@-C-4;T0`NAl8Q1~ntDZbl zf!V+!;40uYKwpw}3~&K(aSQ%5hkv1m|1tO$U_0;?@B{D@@COj2zvKb=KzpDJ=nTl$ zC%u6Fz%bw-U=%PKI0~2u90SY%{svqO=*wH)mri*R|3v;DX>9PO^H2(?0`%4Qb;B43 zOa*2E`g$GwQy}LJ@&KKIUVy$94P+bxtU=tE0s7h#KOdPo;OxOXWdroJC;oNFTo0@O zst0N4dcS@}Rapf^wp3o2j*$Qy3d*I&(TtHfr>^=NH=0Ah(KY%&tJ_ooOSPnb}JPo`EYyk8na%TcM z{lDdBpd${H16_c@z=1#mFb$XmNLhCS_W@p8-hkGZ=*a{`PZc0~>HyI*1(5vr0QwSH zDYr8qwlXsWo`!!e2;kr(AWPqU(P7|lWm#t zlzEJ&+-!KcKnYL*^Z@n-hZ{1+E2_0V@HK z)z@C&`v7wESRF7DI2@3p#ij!KYAM$;{Q+!$1dwyU#G%yv=*MGxr z;N1^76C2Rif6DifSB@?E3i#cl=Rf5y{fIUK67=ltv2RcO zdSs6TCIK@6eF=Z8!*Bcx{1cG*8*l+|l}COq_o_bjD zy8oN>wodw0{MVP{+Y>*_kw4EPFS1gO==f)L{JZo%4i@g0rvtgc>MFP_#=>;0-WHH9}Iq=!=L^a_@913zxtBn6uxGS1nBEO<)6QuSOM+_ z9su;UC;sEeJPpWMDBC>p--G`I$SEd60DbL=KN6WwfG@wIpJIPD(9=_ouSxqB*a`du z{0TgU>`TB#KwmB8jv?&~;4)y@e<3%DJo1X%R6um;>;H;B1)odF z0HCjyavvl2BM?TW^?xDvDtZ47db(Hh(ADIa$@~}|A60T5AvepNZ>?ZA+Qu!0Xzb{0K5-u1@tBILjaMV z3yA!+fXF`yi2TQZzD9$K{sn;OzZnqy&jX@gU;kHfQ?X$ha2{|za2K!&SPyIf^z~Qe zM!uik*NY|fbqb5;Auc#|1MqR7Xar1 zmwNKu0)8v73b^0HKLPwyK+2HQ{C_4k(>?VKd{2J|Mgfz6nZP_iU(bVY0(JpG@@4^r zp7@>z-UQqX-0k82L>b5Y#GVZB8esm6?*M(3!aL;Oq}Mv>5At7Ml5bD^9*+EN9(j?K zazw{Jv*X{Tk0IYUU@9Q>(bs>_|6q>* z(ARz7uL55HJN_d7iGL!0)Ned10PgsM!}b7uJ^wrFdSKK4$KIR3$&!@?zS*OIf{F^r zAOfv42-=phFJ;@(w0-F-(B1ZJP#Q6bjOA8xYa^@bE+CGMzUKlih&~l(M1>hda2Xw+ zfH*FLfTJkRC^`#DD*{h`Z^i{hN8e-q-&rC~L}pfH-M)33(T?BmtBQ;`Tb$)P-+q8U z0qk|9o=e&91pX9w2=#t0-~$`L*8=uhHQhIo=jFin0IzcL-}6!WZG_7s5CHai2o_D^ zZ1l4axMuW5;Jv^-fW5BcUG;Go$pFJNH$3W^(H{bT2H5M~q(4Qy8^F}5{|@T^E8wyC zH*f&N+Bd@*W`N4w-5(WGSU@v)o33%BFJ^wn&{ujXOfe!(vsHbx3 zKkEJeB+uUgBl0{LcpPvo@B~2ov81dTcmXg2?Df;!FY1S1=J{KJJ^IG&pDXoT%Ki=D z{{cM4;l;rB1NJ)Vy+o3J3UCYXbl|Ii=K&L71CX*_3A_q;HDIsTa{u8^yk_)&@Lk^p zybk!k0eiib_iqPI>baCn4F6FGM8FGx?*aY=@LIrLtERK%4D&C0{@K*=dB82eUBGhy zX~T~JKLz|O@MgeXlKx46q<AxC~^sfho>7UFqDPPjw37i3>9?4Szl1J*XmyE?Z zypq0`F?fwL4)VM>#&gWrM-Nz#{z^UP#Lm$pfm?yw0DC=#`_BV1K;GHwxX%yBD|qbZ zfJYNS`7MvQX7p=-z2yC`0SWJIx_`(0yMgxr?*l#r*h|uVF<{?c?(^TF&ff<<1pEc? z0LuI%;BmkcfiDE4u3rP*3Ak{Ug9n0lx&;>$uN9Ox|~MT<0e|lzkrfq|d->7qFMSe+=)R z3fv5Q4e(mvCxD*??6qn-Th1{5vgaOkb>*4M;tb=KzpAQjfhJM<0DRa1CqyQ=IiK&%gN?&%c1Q-h%X3 z>Um1pPX+dXOMty@<^EYf3CKHp9ryVUkoUEpdd=vs>4S$j^F^NjS1Ffw*8uB44Qv8? zfW1~tXUiGpU-taJQ};)JM^M*wz>@)K!zJLK0pAFG3t%rv|5qmcV|Xs<*8oZXB4C*Q zuTA-q_H%&815%IV2?5C?_1Nq6++X`?#0a9Fu65>%Jb(Bxp1+CoZvlqoT&d^(p0a-v z_$crI+GVfb;rBhj|1j?^_xa~iX2@~S@1+m^%IODreinEc@NK}`fIkQR2KXpouT|68 za)$YrJ%15(d;{>qz)t}`3rHItKwBRId@Aq=z+RI6>j6psIzZCD8Ibf3T#){s^G?c_ zv_Ap-Bp~%jo?iqckJMwYl>46oo*Bs;dEu_75LHaB8{C3K|8+a-3a=>2C z=Y9)#F(B{kb=>DaN8YzT47!0n_(P{3{kNcm2P6_Fw?*)Dg_&KM)%6}ccnP*b~3@kpve& zrt_(eTt}X#z$fwUQGmU!)bm>@`=!9&01u@6&jdaj$bqK-PXlfP>?P?w3fT9T`~3f+ zj8_6b4*Xl-?Z9sW_W&OR{v43HuBUDfaNF|bPJ5)B?**isp9Z9y-vFeX_XCpu3!L{}a^Vd`M8-ce0e+1a;xX&N? zPodL+$J6%6Y5#Gb$K+ike>?8;Z}?1NOyK=`5qKA1ukU&EHKR8HZw5XH*z3dGU-vlh z6!1x3G@tJ{?_d4+uH3hL7IOsnCCdE>V6Q*t*~dKw90+^~@b|oX)V1CFPvqGe@M_?- zz@r|^oB`}5?^574;C4XLydID=U+<)ovTYhE%U<738u?z%ryQkDz0dw^=H=(G_wx-m zJKymrp05K3y!!}nC-2jIg>966rr2lk4(vN{*`uC7l%9pec1RexPJ(A~?LFI=+A{GU<^Ln8Hcy<{1<_fdj2-b{%zo&Q1>SQ_WC`Zy$|>c^X_t=KY=p;0*Lsg z?*%SBnK-wAz2yA`;C)WIFCyI;;BKG*HUN7`x(@;N{pCLY=alh(0^bk(5b!g=n}K%% zzXQAnkh)G$_m=@~Th2M{k#fEPkaB(ykaFG#NICxzko-?`(o0&Y_f>$@`zAo@{ZD|@ zD`}-Zdr6<|(O)kG9`JeWg}@&I_WEJozXp)^-{IkAP1(|pHv+#1ybbtu zz+Uox6R__u_xZa&*}i}x}XcYHpy$@(>;zXa?h@4p=Q zcYutUr27EyQQ(23|776dfW0K$uR8B9_xV>*#`A$a;6=c<0pAV07WfI^=K!heFMz)W z+_pT*X^)iiJV4612uL~K1xPt>03`ok0``)$Qtu@|>U{+u_5L^@^-5Z)&t88_UC$5T zosw%t-vqp#zWXg;NJmJzmtNn!ck{pG7|;KTa;`Dy-{g$bai2>W9}h?w(q4OAspnrn z*%`0_YyXWlSy+1xEm+{d##$z zmNU%1?D>1B^ZmfbQ`f_Qe+oz&&H`J&47dQ;OVYp3r2izIOZvwEl70girvDRDzNGy$ z;L`!ANAi3QAbF%7d%cqTU`@}@lKE*bdH%#>JpT>S{}v$g+%4xyJ%2Z4-vfLaZF(eN zuMhC-!@xB>lXvzy?(>|yH-8~}4D;npfW74TMc`ioKM4FDa1H4`0eC22uT|68a)$Yr zJ%1_neK+vaz%K)D1EdX)pzcQl*8)#)+9Bz`3y}101|}U&{E5Kl0?!A&6?i%DeSp1IO=rs)=3n;w;neXM z;ERAS18xVT4L=CH26!Ft6M(%W{i6X%e={KI?*b(KtAJtp&*GVsFKKTDP6JYpefCP`itK;(lIJ%Zj&9lKx$Qq`wD{^xlH>uj8GRFKK@lcsC&RNS^ltl1J*X z*G2BX19&Cy=fKODGvDvbo0pmQC-wYaQvQzuzYqKYV6UIx{^x;r0P@aW$9?|L5PBnG zeeq4N2i_0-rSpA{=lv6blX@;??*iWiyaM<&;KRV*0S}~I_F6TaEoYd2+4HZXo^JtO z1N;o|MnKx|iPZg2;NifdoOVe1ZvrI!8vsfF3xK45@PhQ;%sVMx(*7IZrva%)^85-Q zd88hD$yodn@KcPzFF4~+@T@w)=jSN~-Ade@fn;jQRc) zd`%3u_W>UP>?Q9b-v2OQ)4hqbzYY98@Q1+r0eeZh9|i3D%YFVOlyNigY~XpoE^q<( zR^a8pD*>tNt)k!aDrQWXsq~7y@)cc)) z)GKMFK6}|d`y2YK%8?nu1D$gCAbCFp-VI3KO1h5%k0kA5fhPdh1NM@1?{VH=?(==h zxCp!y_%7gI0dD|)5qKN$TY%K{VCw!9z-^1~v`5N00HmDn1f-lF1Eid{0+RnBPI^fz z^}ZaCdS4Gny}t@by^>byvzP6&r_pD^^ZpKSkJEqh{*AyBcqV-->23oWU<=p>UJTev z(p?YO_m}(p-&5z?f&T*B1AG|xJK$3&`w_rn0jcXb!1DmNEnmxTdr3KO1*Dum1f-n5 z1*DvZ0h0f2C%vSVdfy93z5f%CdLK?2saMiUefD}QbMniP^3Gnzeg50fO78_e06gFZWLLn$0DFD%oy5HW zA|M6qb^TYOD}Np|H}G!&d&%?LfN#7TJORA=xy*au6<-DJ0qiAb#m#{8z&8Q*TK3$g z{dLm5^*QtPUd{J%?%MFX-TLqA_g{BJ`|j=g7n|~b+!=TG`|s`h|Ln{MIUQ~W$f0oG z0N88U^J|%F32-+c2cX&ONkp|?fb8x%s&M<`E>M9r=8!tmA(xIv__y{Sh!M@7}(jJRklJct0RVo!aZWui*3VqpVi}Zvck%*mpl} z>a+D?;Ej zftLZV1|Cfv@4p#eM(+PL@S}jlt@|f{#3OqRAn}jB6ZnDm5X%oph=Y>>zyDso0g!kw zj|6@YcopzVz%K)T1pF~@6ERPo3j7ct@l<~7ZNwqCh+p6(V#M(5SAhS_H$U?ih?B(q zV~JDpIN$-xK8F9V z1HOTGAK~4n@$4CYLtVgE1LBW)9)HM-z$5;i?*QJ8f8VbGcYP*&6CipKp|2i(12ia* z0vYgJz+V51_P-SP!1HmX1b+F;iRlKNB}elLT_r~)z5tMY6&bHn!;6Z>_0dl&#tW!C1{8O3Ba^O}7$mw~f06ArA1CW!zW!}rl z**^^Y2=FU_z5ai~>AP^!&)vG@ep!A0Skqmp{C{eZttS@E@w0FMW-L`k#O=R;% z?Oo8``R!eM6Nff~-`=%1eipQE)AlxM?}GL&^xNC+u6vaET{-P-(%wbwUC`czetYZO zwZ-I~z0KOYw7pB(yQsYj+B?6!lbdpLXYXKEKc4&P-gtLb@9$q4U6}4~jLTxTD5w0Y z_x7h-#eQ9Nk4Rc>6tnSU=U}@kW|v0I=FZM+@Qg$U`%N}@x>awLyO&1A_N5Winqtph z8toRd{b{i|E;oz4y=il4G?{Kw>Ugg%X643sa%p_7zBGEqPFZX|ottuNmuI75HX|U} zesQj*9T!IzX4CyzzMz?296hbxu4mKo&Z6RnK4xKa=R!RjZ`Ahp!S1g4J>9N&YQJ~9 zbH1MOJr_(qT6s|JkGE_4VEopCii%fku4G}^0G&Ank7eW@I&aYhZ9?L^g1#^%zPQ7vrq zM|+p{I6&j<_IP*mU~fdXGwl0&wxO#3WzNgo+@t@ivF?iQnfXK!@A z*qm0y{*?JZ>$Y~Mn+&LA-=FeCwgYnPl;`-0dY|>cJn8PtZ{6$qos?0`SSu=JxwA`u z?946{v&wxmDav#1Gg;-#7$%!r`UR$!w8|-CYr02+&u-IY&fB)Q#jkAx4$Ikpw^i?N z>`*t8YeqjzOZs+i%o-gvvz;wlHUHOzdTgK)rL+3S=sTrv6 zz@W@ywYDixKf6UCA<1=GrJmGhr_6hWQ*@i?p;~a+%*=nm?xT_k$;ZEtX|{9jV0SbV zY(M6P$tMdCJUp7npB8^}|Dx$GWfUX;PVHI*$a+?|lK$NpZOaF4PG3|rAhPYqgda_J z%y><=n;pKK45#I8cCgKheHy!N}5}*?Z+|s_$>t|C)pCQoSRm#?9SQ zk`<%Y)To*jXH|X*-kNULW5EToC4m{c0pBVvvgVqxJfxx9#Wvq{QO3#l#@jpNtsPd> zK7DBV&+I?ry@M^#)Y)zR6=lia3&q}+nxcHq9$0f{i^Jn*XVpz}uqpWC{CHMxNxw21 zX0uB&&p<4yGk5I|K5e5e&oQ#{N>3y~1$625c$;!Yx9x1-CjXf)o1?Pk&&~2juMT>B zQ+6q-X}qU?3GUK&%Sx6h$y*UoSUCd*`ORhQ491P^frZg9Ju;t*UKoq_=kprD3wO zn7cFjf%>3x@`_HCjbn7j&fY#KL*2_7RMTd=J}d3rJ7^$`#ybt428|?G^I(r9DCO!K z=B(Zc7!mX6rv06*Y56Rbu3fYijj?^#v-7pg*ez(L(VcRR)#>e$?R2UigV|Uz@(>hPkG?`E!BNfP6I5KY zOaytzT~(_kBe&D-l1Z{xj}#%Rx8k!xH45%m&so|E-3rE$oztK)(BcjUw`ht^(Sn-j zxJ$@F>FHgDYrkMWkj;caQAE6U( z-!5yt#AFA61_TSq41?g17yDIjTh>49F04pL2<_Wv)o6DIQhTy_X{@liUSN7(IM}|x zat8@93-m3Eb$6rQg5JEi51FWYV63O@W+j*&Qi2;b??({hHRWrHbyHU2C9swB$R!AM zDAo&euiM9V>#Jm1?p%PH(3Me%+9=sO6^${fFYeY*pF-f0hIZ0K`wMcEmK#JVy`%`5 z?uqRVH<1tzYLa%zX3zs9feQlPn$3?5e0-tiC*wTm6&_ZK3>ecz{7_h3uqz94)IcF` zsJj-o%VW!G2;!07ZRP5hqD~7MU+WdXGFKGdZgB}hwlZ{r#s+toXZst{;dBqvn&k+# z5n{tmd^XVS(m|%O2g!D%@wghY5yT5?egr==K3|t`cKZR7kJWwQ+5B@`ymv4e?G^h6 zEHe23`PpI}`O$ri{-r4ZXxd^l9zE;K>APz;Afb#i~*LEv2{Z`am%y|#9T<`$X6>J8(o{wpMQ-P7*6F4)}n(~Z2S$}%adBCH#) zYMNWRN+A0(yI=Z=*)XNHyCi$aK#)J3ghATSmwr`cftx?ke2X9UW*u23b($BEpEboK zN_;mL43mcaTo5Q-2Io&V3~hs_Q5`$&(_R#8uQp)ZrE$ z@;!d2cD(aDn~cR~P5L^XWJQrCVIG88RJ-2~?-fED$w$_Hkk{TMs^dIpDko7SXfZX^ zb`T5(gLl$ZellclDUmq`o()y&x@1XShPfG`GlemKuUUvQ%+W zO~Nv7k}%BNEV0^{g1p~y+Y(c~pD2VYjMGljz-aDKX6P4TUN;TRDU-yMxnw*de>~pY zJij$IRKn768AsAuCUz8uc~)mt61%OH56mp{?0bqnQaf&Db zfb4#eW?|ZdX_PcIyNa`eG5oO-W(B$WX9OFFX+>}${4t~&G73t`v%K``PS!Bvn$Wwik%tj^Y3ZV)!OBo)yI>RKL1nfph)TBP& z>wGJdKQ%;1##~Sm<3w}sz9+nFptx~9wP0aSBEB0nAf23a`$> zpb3je7Z|I#mKyqqo-DMSyp2I_ci4VqY?^~@p;3iR1u;;JZ$ zJoYA~?@pVLOnzcA-DUAp0y9okWUZn}QrF2OuEP|CM7syvU*o}^I_K&a)Ws+J0}OU{p~nqF-sWRfwi{JKt?B8Yqtif&^F z=b32cBLuchDdRZI{0hp}6f#&^x#l@^euK&tu`3HK ztAjdkiX@^ClYI$ROCUYKV^kWH*~H7d#%t;-oYcDI`jeUZ9sLv}n!5+xi0Y>&&Y_r; z-L~=L2%3=P(JSV-tJ^Re)r9^CtJKS4KTJ)DX{@$3O))t8rJe_e(If*RPR(`JHBGO= z97Gn!uto{ng6@GO{T6v0=_dQYGKzYfN!LP6Cv})d0V}zx+^z+ICt4PoJ#~6E3@%1q zqUG`AYrrr~8TxSzv5}j6OB!Uzm(a*#+AS&bgVaMcUU``h_88P1_ zHP08OS&>fsNfD)f=9z+)G-ee>15!QC>msR(5JG5jXm58P2lHYj6rrbxGy8Kq)S}2_ zEYpDPph@64>!vugjxaci3a7v@hGIyvNeS+nRHndOcVd6)DQqhUwO!%!*r$(@<(F{0 z@I&TKh9VM8seDRNWGNJl4-GMyn3@+XPao22P8}z6i6!Z$LDKjzc2Tao;$)Dg9|u`E zNx*?gP&b+Bbx#wcx|fb1|L^UBZh42KWT%MfusCk=%rr&yn(x6P7%ds=LbP>k95U@U zwQQI^OR{QG=W$AZHIOR$LsV`}R0#4!jO$1Gzm>m{vq;ktDMwTzK#0BhoJVk$*`7%I zVah2g$g7|Rab(`aZ|d~$IlKacA184LnyZtrY?3;e`=}$DCUhXJO0&AIi#U#=Ngicx zDZ-E~Lo0zR;FD4UpS6_aegq?hz(nonD{OSWugDC@U1$%=iOXWrWMI~&mH|7ok51rXY6^B{z!9Bg$;v#;lSvT>0iGwp;q6<*hX#6rT50V9Oczd|#*?gw zk+UJdIlKo}7CXr1m3ToG1Vxg2WmN{IWQ};3_9=p3A^k`gc_p8hA)!c{63L=7n0mQH zqEbrWT7}MI(6TJe{5&mlI)-K1=L2G;u8{hR08w2tiOU*FV3_P!BD0QN@XKV9dI>mc z;)PA%)(u_b`<+sB&(9aAN@-WX*9J+RBXr8y*-a5zVzh)T(fHm-JUgOsMA1}%I0Pe^i>E}M?g-mj+4A;$|eX{-@cnu>R&2o?K376ROD$5 zmmPR%P(`_0kjR^4na5tAdeFF?muqWE2BmhqRs@|yiq_&ag(E*n@;IJElVVauZsC!L z;S(c|^z?s`_>;+p!K)*tc?09%*-TpgdflC;L`c|4PUadTOpUHQN+af5Q6U9pbMTxl zT8O-K!$qX+=$EB~5`-Q>hTyZwnN7MFAKkZX`Ahb>Q|MCUbtmeYYw|IP*Paj*QFR?x z;Ho^#;%H%$^dz*B2sl9oQV0)W1nsS~uoJ}gghM*JWh3R+a+-x@o53O>ddp)NwrUO| zBvF3?8Rk*XW|4N?E?TbMG#ZfanN@``9yt{ukqe4CWKc|XR%)roWBBpfa0D5bG9b~P zee-p9$V8o=ORIc(tdynFDmB7Kvi4a}m5dYmfW!}Mn}uI=Bxt@~>#AfwU!d6M+r1JB zAw}k#*JT--Z`W8Fgf`rdd8ANJp!B;4TE&D(W;AqLoQ64gr_Li&inJ!gxFixYjbLZb z4_wtdxnda3+)E0tDn;0;hk5l)(j|7HJdFwveu88)_DxZ_%i<455R*bA$o2UvG-YA^ zq5uNf2aAS9t-oanm$Q&7F|=gMl_-lcIw|8xP{Q;0p@;}{!HJgPm}zhRX{(O;>1STw zBobj+b7}+;!K&x1Un;2(TBS`8NAVH#;gC1N?G|idUYbBW^!N8jbaJE$CuP&1gv+8btl_Ct zs*~YMiX7<%gi?xl1>Em8hy|fnuAj|YdeBPxvnc%uvh}I!!l~;&dr290Zuni(DM?KBn zrc43_wTxwITV6a&s}N=*g@*K#Dl=cC_cGntc8DlKv-3u~sYHGAYiX68#a1484chL| z^HG4HhSHVycey$4`mP=Mh7+PWN;FRutZC!HD&?j@k&#Y|GJG-WFjzzS)sSU=oP|x1 z=j?+i%T#}v>^`Zn6o!$k2j-5-3OMCeO5*NwqUU zu9uT6pP*u|8+f?kQ@QCNp@id^35O2qylCNikuE|RcFCLXLs&0?x^W|T^JHHi)cW~iur zKDMEqp>DvE-DP!~fq+k&G*Ot8WfUQgD<`I8hcwdyibPPIi=jfCEy!J?KwyET7??!p z`AoZv8GxM?m~psz{40%WI#HeoQEK#HQBu^Y`zc}~WQP*Vi!_ZH_k2=ezM_WmDkI0X z#i{4PKQHeIVo4@ro|bhp$;-*4 ztU}Z<-MrU(w{BlLV7;8-RE8JEDyL6YTV8&^gtcE>qMpWp$j>sbitD;mRUbw~D*93D zKVZTz&AxqCSsD0&Yxm7Zl|@lc8V@yngWlMbtoa*|*0H2OMy=EonV%(5>7ihOYt(Jk zB|_Q;v;EBau$b*BOVGg-d>tkqdEjP<6@%t`nokoG{rnDVqK}!FGHc}pyAzOTAO*CTVAeD(xhS-u)6UZG(HTC@o- z9=EsPO2w+wSU6F3-k=YKSMal_$oZ%Mw@Lw9Zjan$>GMYd1{*I%S^bt~5v1MT&$Ns<+qiHQeaTykrwCIKt zWWiM>Yz+*rTK|bQY%S1o)zHu3aj-mRK&d5!LmtIp^^_WS>MQPRB87e>w;OT7nWICmsqGak@InC$S>3Q z4T`43@Cb8Bk8RK`)tZ{;+DBHiIyYZ;i_F4Id=d6HlnGN*q2OT}dJT4)O*m}VQiVtY zS&12iGNs1N;7Cz!iKS4HlnL~5RH9uq!{G`q)xvQR_m!rWd%R>6S4~{-#R&!|vHRhx zcHN|&U~a`?$^AU>-4a|QQ{dl*b9K*UWqDMo`$m*}{zYRp1Q4aTcEE zLCbikd4r4<nt}ibS6!C>*_3PlzAeGA^3*| z-RJU5ZcT{g)5yb4AgrK_d^eLzsU_M)DOaT04$ex{hYAW)U~iH_7bbz{WOe&EUFh>&T$;pzw7rGcLF{?amjbZXbA5k;|+kGFxrGc_H z9ysGMKrxcbf{w{TH2C-nn04)%v&@P6G%^Aa%@YxQde8NWLXtl3DlOP77aJgD_e66L zs>i4&3Lmo+xRAlu7%6tt_n;>mdJUv7S%l4c79k7hIzeIQrC1QAa!YE(lBW)pXu;&hH^ z+e5?I6-ylUC;_R17r>cfIan~ooDziC7W@>6YnHL9&HX}9Qw2V(gi%-Zts=jS#nuoO zZY=v7#?{mumF&3_taK4-Q9<2c#7=WQB3A zXX;Ol_*dyG_;{>xMN{+)apAwUzBs=sx-_mUhfMxhnM3lS*jZF{SYrV_Nic?TJ56^T zw0z&Qk4%^>*M5l^mnWush3Oql+a78%pmkb`qNQz=6k`w6pru9F4MSu~@;$AgK}fx} zrZ^DsImXvwK8OJF4aK->F{yD$obL!#i1_j0<7yKLL1RO?&=T}dNO+KpdXwA>?KjD| z>K#KZXg?I8UWZA!!40j+WW#o_tdcn0mCZxCt;p9P+I0Ym9VIFBUg34iP)lz1kIZ%oYZZ z@$zEq=tTDsv?aTQr@}c_%4_`X^gjnD%?mEY!z<1TnB53V?AV!~$~MmrC8$V?d5zQ{ z!|^H)5Xe_mm?S2X-nSO}z4%El(wH`Mg}H9htim4xD_#(wS{f%xCs`sIb6-5RaE4BT z67{$9(aThhiFN^JBybZ8kwoIVlO{2y0NsKSo3nZLNL)cD8x zc#4Uwit3-M-nJHrXBl?W0k{iNEyQg^HAm0)glz^YDbbXWANJ-s6v;vgYEFb9h;yD1p%}#sD3*mzt)Tr<7IfNRf}OZE zF2cc%mAV9ez&jVcII_xKMxh^DtMed+jxF%EVM9bRQ|Q&SIIM!}QE*svg|T=PRA>WI zREcThm-wpcg0)ik5Yr7@Q0t?N;R081>dQB7uh{&C0 z3CTXxG~+|00?J7M6*5N^L<0`EK^oLJTA604JzVW=!Lw`S2&!h^{CW?QAk8L0gqAyj zjnvr_ZANXhMhw4eV=_njsGWR%r*1GS3=pnG6`oHhZ`CLoqhr0rE4EbS*4!Bp4Ci?= z71RiPAhC_qEL0Ep@Cnf)Qk;N;&<~*%b@@hAXIgGtp_QJf?S{i$?}fZY7Q|nvERvtp zh5V(=5iRCLkQcVDR$tvw|HgD6B5VRdD9|+o?3t!%tukmhpqb1BT*bv^1hz2Bqlisg zoECdIdu&Dsmmz(Cyfm%+kT?eDB}&}~x}wWu$Wr`fs~oivAset}c1xrI3*@{}7}OK- z(@K$`VsD{_`KnMwSUWW6Uy_Cvu&FprJ%knaiNmTwEn+1p9T)_7k=HRq9d0x8WgOvS zgvF|H7VFW~^#nN|0u$`v1APCTmi3v%OjJ`6#*dZ|1_f(6{LM1oLp6UD`_W6_N-=yB zj?a%x%}e&kMGjIlKETS0tu{kdfsN2gMc^#E+xe4HMnt|4#u$Xwc!-NMzR>atv!2br z;}~gYDv!3%_7Hz!v05N(F$BaY*^(qOO6ZMS`Ba9G>yTLjr^t^t_*ar-qD#T;}e4Rjj5(<;- zAzDX_T(FnHdwb$GY#GbsSZTt!`s~O#LS<1}>#tg}B9y!JVP5DohN2)nB2>kQGqBWk zr?%b-Mba(dVI&A0ll;K2a;!Vj{Fb$nF!9d7g*Rq8MQy7Kj!4avJ$H??PqtIHH<>lL~4~7h(*8O@&M5 zfyRtZh#IDFgbS8fcMuc8XM^rm`AWPLX0cruZ~Bg%HbWMcA}K|_>lSx7(y(Dw4|Wk4 z!?uWY2D>|q=$YY@01t?+VZt()&-a}u(BvTtRvRc9AWsUMn4LT_v|bndPKUW8fSXsB z*!$;`29`;uUq#I_a4)75JU=EdrA+V4l%tWhVze~V8zkz-LNz#zM?Hi82x3=cdQIj# zjkj9XybX>St93yp@ioED3CD@3tWuL{$>^`lhKO^HmnTtzNTpy(Vf?IHb5%$toQWCv zTH+BPi1D0$5W?gL1wl`N)G7$H^^s)f%VN+0vy{*od?6-H-6U~kwn3@~3la>;8sX;# z77Hcb$znbmpdUesp-WlP@hS{}LM;hQBNoUA`S6Oz^t`KE8t2-SW;VnuEl%-9#?T_i zp+0Z0#d31BOF@ENn1HVm-)1hlE5-OxL4Ts>njizhWJ48W6md%Ze-nQtX5!FC)(8t& zLWqkcew$fG1jKeAg_M&J%?WHH4dc#@lcAwk4A}lemiOH*`bXqYlK8;m>sgUHm zJLvdiav^!f6u3n0>|-oF$ga_K5Gr@l`EbEUDjo>_5C$OuwXj3M3PqPryDE*WGaDA1 zhG0<$QI_B)%JQxXo%E_2z0K<|kX)o}J*6O}myvZJh4wN$M}r935;v;U&%5F4?Ann;%&WwGBegiAq&r62ZRHm@c8LHEgD;|xW={JT zu9`Mptg+go2kIEh`3drXgeWDw62xJoM=hKc;hF@-!BG_%GvxVsZE zjJQpcGR#Z27+J1E^3s@c`oyOsu35zTgjg||jOIyk*k`X&!N4D zBO#tBZux?82(77470Hz>Q8YHR$;;V2Bb5C3Ed^-fyEgT9??CU~dgoR#Y?ZYk1w^PD zni#x}dnCT>x&T2X#|gm3yely@EMtso&_Fw_kTG1opnGAnv^Nemb$K2`@<@zgC|C7C zR~28iDj6(ipd_)LFC%>0O;c9sn#jbZ!vhPQYC_OW{P}!SfWmW!ugP#*g|#ah)cFv1}*#ON5U2>lJcM9i4sjJ`baUV$PNr##HfCPdJ2OLd3B z4_sZ2pD(a4%q8yNOd`~?c;GTCBHwvgN$>!qz^bjscD(e3xSNF7my{Lzf-Yql?F=T+ zktPF-QDUUk#F|0u8|qxE?0t*$L1z{xQeO6BB+;m<9L}6=>~ewN8q69&GmL| z=DHB-)@)YD-s5QaWC6^}9IUDz0vQ8`#v{-lrt_xqmO|E!vnuRXgxfbHn2IWw6D(a% zZ4;RhrfiPWP{h4DQ$(UhoR@tmL^Qw$Po)yev_>OsY7=QwRH# z#&f@p)zlAOrR|v&U9L`Np{r}qMoctqQO=jK$$nK>f0km}Af|=+f<&@<)=ATE#L7YS4SvEA2xBMn*;g}k!D34kF9d0% zu)0iAq!CWXiWH=Ckn&ZKurn%-Y>w1iAFxPorl23Z1@MT^O4PS*0jLyHh~d@Tq%;La zxKhXt;;MRB?xG-aPz!uOqE4}r`2d?v=o<`b@t(tdQKyrg-uJqrwa_k_<79%w&?+KA zQfCo%N6pALV27ikQxvihIi)!~ks*C_U?-9N%UNIDxk*P7*eMoes9#IYe@G_8zEWQ% zEe@tTv06vjAt+AC@LdEqT!OtbUL?rUuCl=}ayAqRHIyxQFk{h~%AMsSOqLOhA1z0b zBOacr#Zw|}a$Dt!u6U2#awOEzYz7 z?Cx4YNL~O>RFYARdb)#vsSeTG<~ z&keKjNW}Jm$VhniaQ+67QZ-^%tzHe6q7^ugoK8^{=)oIwUqy&$F^NrKE$wEtK!gra zC$H|zg3unqIyiz*Rw3~yVK^wxM`=1NYsie}qUurSy$L#ygEmUE90^W+INP}`8Us+G$47E;DK*l4@Dg(EMl{yVK)&(cQ(sEQr1u`VGQ)wOAa{u8?=^mlR zls0%NEt!n4FCnKT6j+Ek<3^6oP6o}lU_g#+G)LX4G54{zhF(vIf{t2S<@Jrjf?n(T zd?Uezaz3jTPT$OF8nPH=qIgO)M`c_R zZAV<~(3bO(Rze&SF#>BYEdLUSw{CEIRQCxwOJYh!Xnv>@JWxXd*L5vePTZ_|49^4) zXLJMsJ5qrWtS)K0?z9B5qs|WJ#~K zf!-gnDKg7SBC1sq`a-XltK}1AEbFmUV@?pX5JLbAhn*4W&54DwZnZ#_6!Eg+-Jq1m z`VZSJ^q3fC+V6K=zO}5Wb4WR%h@-4oLaig-YkW=@!r{R*Mz4GZPalbMOqSP}v>43F zx5k8gApj4;4Ct?AQ{N!g_9$@LhDxJN|G`Ekx^hmjD%%sCvPMP41E^z}-Je71}x z?fPV;J={!T{I3J%5d!a|%<=G0rAQleFl0@0`LQOtT7{^kzG@UDB~H#95=7VqlRL2% zVK_ex+3Ke==WXI$ed2gMN&3@)**y6 zfdpYiQ8fh^{izYOHsgz;+;sbgk%F1Pt`fN&Urd@15waK)c-kWwWZYpwtjSQE#{{jK zxb=f$tgGYIJ=e}Gc}_qI8)0xnIx*=rjbXG)TjG;vICvAIKCQB0s+A=nUEq7s&>}5h ze?V5&D{v)zwV3BPavX@-jx>kJo_J0ZPQ)FDL)i6vU}~zYG!Yfk@QmX{z?l+2%qeVD zH!gx*6u8i0HrNn-%q@XgXQ#y#byq=BOQ1P6K_Ql!+-dV_W_VFQP$r9pw&R!@;ae4n zV}LFZwV2}sq==iIb&NfKS}KQQMVD&G@hTR{9K&cH(lT4D%9 z$Z?hHs_JBW@mFeeCke*?I9PIq>ag3E5Jy}1CxoJtlcNu|t73NP$c0!;@O_l{ zL>%Ts07U)eeN-EGi_Vi5G>sV~W-7=mCQXg~YlqBNn!^$k--dD^$~fk;S&l8`gfoH7 zu(_&SwF#Y4Cfew#=BKE7uk0IS2Kt`1Ymm;Mr8ExDEn-kgG;|Q2o)vm&2zw*+ zJ@m0mNlpGG>WWoNyM00%P1qeG;#w1c#2FZ&2#yyLK@)4lh~XH;D&ZsvhzwKW2|I$b z6p0xMTVDp4rN+)zT-9TQC-B`INQO!&MSC8(%{U~&AU>xA{+n&9BStx*D$gPOPa2_JPIUftcFOsR1a3A>br9w!MaU4e)nrLSGe?9Y<Y7g`d|`oEX^BxepE1BYK!_&8ALE<0fj`k{g6 zagnY4m?&|qQ;ziMrovH{N!I)ZVw+R9JPg7SQ9?L(2pEC+GIx{|v`eVQJs1NHYsB}l zrQ+%1YJ%DldA|hba*ETWpgG;l9&*M8&~VfjXN(Z!3~bZOpmyAZLm+kz_LFC*e|ptI z8*JCI5I|5FbGYGHkBYM~b#19;QdRD?H8cS2nW1;V?;UnLv7B1oU_>DQ6b+&t2yzY) z>vAG%-e7Zu;jGh1hme{JyqXa65j&S~^sz|Mdj+xibXrVLX))Dt+dU;FK7A}6T$4Bq z3ln>{A>!ZluaXzkv$xPaV*C%*Wiea?nCwPDLbG+6d*(YU^5Wpa&{5X zh~va$y`t#dFge6)#v=?LYOKzP@q3&$qI8iX`%vznPG%EVpSNt2T;=G-N>0Gc8>~S% z+O;wTCa$PX(G>O=bqT>#ned(S#6q9^FhK`F`%FMO7n4=OaTXCOBvX$Wcp6SXHU$ zbahd>Wqx)o>^2T@;H=vQDi}>PK|WNsoeZTytWQps^>Jj0IV{{%rPk`A;1dQH5}Yr{ zi4e{y%P39UOpENoUAIG}mbUvS$B7dEhNapNhqEr7*|CxU2VZ1~=C05NWH#~aA$PHS z;CKjKltxkpRcSA0-%}g(Sj;#;6VUE`i3&-&k=z*{+=DZN%V+{2fYM?Cv*b=`tbfio#*6p=n%S6n=#a5WruXoh##8ZV?s(mC~>r8 z5OY3_lYI#iNOASwsce`x_*IG8iM=wBm;8#jt{k3iOF6!tubN=s)1X@7WAJZS(3;M7 z5&tDI<$@n7P*}@+DRE)Oag!srCMX?sW<&cd3@=XqXjS={{n?!aqrZ4-y@`%q@!|uI zVTsL#Nf+*&4Zd%-Y`v)q=e@9eg=`KFUrz80JcE(FVkrs5?tHL}`sL2po}VHS1|Z>b zj^u_a0nzs-2%hZ4HYXDAkL^j^GMt=}O9;#g3)!60E8Q$`NSQbWZgYl)pWL>yeH%9| zwl*h&5PF8=7%>Y$R)%SWo8Os}!xI-2`XM$52GEEd5xRPaREV`8rnOEHE1@6w9|^gj z^eKv-kof@y;*f6C=@UXByG4egBrxGm&?AVs41tdbEQRpM>8|4nIdDLgM!*QsWBn7K z#ZVvLgxX`ibI6pg#VAchxHP{Pf#FsZ8{sj5#VMg52(^PM)BOT7rw(BVdg^}b_}XU( z&^|&g5Xpf+sc80{@_YOohn-kYQe|!^2NW_2s9=aVh_BeB4v9#jb6?FvkWlL8!Y<(h z75S(NodITYF88@=7d|! zV3Xsdr15zP>;!?6Vo{Na(G{`4O$Ta6QbkxPDbFF{VbAOr`_mGfXT!eEi6~VG^RZzq zv&BZkF&!BGL@8D~x&g7qg@(gsvbqL@a}_KmtT2tthz!HI+C%{Cb;TmAVf{~y^2Q$1 zg0rm`ctJt*5(3gRaW}jxA&yKq3KQv01s@(xLP`TiZm(uI(y=*%`^815^0y!eeMd59hFwu(Fs1=7h2j9n0uhpN!0 z66HbMY~x<$W68es8jy%{90Ux?#1t+xrP)x$+O}+{G~X)FwLh~^y7tq^UX~cN_4zva zwZM(UI1`D;603AVpTwbuEqFIfTE!k}75lT0eL}bx(FDTMNy)L$UP7pe#LXm|t~LJ5 zYzUAe$+wc2=LBgYI1Gd#fkwMVh)U`Rzhwp{Wa`6;5o$BWXra{kPge43x(_`X$MlH| z+T*-4Q?nKbD6{qHHiuIP-a%u;>B^jpgO=N-yDBY|zzE27@GR#TK?pq6xA!hYE#Fha z;1G$9fL^JbeCCYU)rn_L;GHCA8$^DCNrI{W*gkNWgmKO+K9UjpDu*gN^KQAUHY+!a zy}fB8!^&yF9QX$D&JkHSB)A2z5d27!P(*^C3584s7&wlEWX+I`W9^*`DM$}@d%@!hmefIrfRgPdFZ7q3v@;DX zFx--IeGqqdvnvM&oL?d0?$^{lmmoE)tmqSm8`Ui8(26=rqnXam8 ztd0;p)MD}oRb-p7L?r75qd6=x)fmb8Mv0Rnai1`0!fdg0zpvZSqlGrTU_wqLMJ^?z zOiLE4AO*_FUu?Co^FSDj8mK5ew`{Ad4eN{e%A*`9rkmFyrr z>{bqE5Ml7SdE_=F@xeHFrU)=iK`m}Z*mzPdGSX5!>_SgU%)Z&Hk}xMyl3%CJWD$1C zjf5(zJ4FF6;VU@QqnlM-uOHvRK|4um2ZzK%&R%6Wz~coU_iBJ7>P+$TVpAzk6(a)u zjxs9AI6sopixRh4Jvz$u9@7W<9ofrJ6i~4_A;W!CvTo7Q2J(u0vWasS#uS21LE9c; zL=2a(Bp_h7>Ye)#AGmJXXnx>KU`x;|A(zr^OI=ijLjc|hLoWq&G}b%|tLBp9rEu3w z9i^L0upKIi{DP+>ayx==LrhIL{!-T$JFJakV0!bx-u}+kd?k#XsO$R2`BgsWr{Up; za7a#e9gKB1K?2{ztuO{5gtZ|6i8x*&A15je>OL$SV<@Wo zq??`=w#2+xP;*2}L##M@+9W#}VKQv{#KWp46!gx4yWJP)ecLE+^bZrOs*8A`&(|W( z1#vGXD9W&GLdDvZVZ~L(;B(-K=M0LAKt*cS=_4w9?J8Vk30Dc7X$p76#QI+FxE$P# z5EkJ$B4W20oh7FUa|zu#nV^OsyfWHacHBXmyRrB6>0HGH&S29HlDjJIEJ3x2B{A{J z+{17>(E0BbmgWnxn2-US)$3KBc;GvYiq&p^D03;%Q4BTE+mBikAYBI45O|HaJWWyK z9NOTY){WO{v>J|U+n9Te_f&Lp%?A*uf|*22Y=~xD@|`k;>S|{;3V(v5WSrzwBJQ!t z%()WT{JPadkFg>=vtO&2#GHh)Gh;xiUaSM;a!FKkY=?(b7G^|!RX+m#kc6tCWrc^N z-)^zDO7*i?@uRa_LP~xuU_T{zl?)~E(ee4kBoTkY*tEu-wtl9MiWqC{hW3}mNJ8CE zfShn!u@zzMMI;#eIg33GRx#7UMVx?XctF$@zGeLeEw@#~P@P~aXw8VNi4CbctjigR z*60KJ2cvJ|*btpH4RL35@>}|6cvO6MZUcrM*hxklTj8;ZyLkts1TkUIli(?Ua=odV zNR7NPpw;pQ2A5NjP(8{2r%um?!Ntg%pKWT9*);?TYFCV$)Qh(j>_CQ;*woOf#{(TK zyv1%>mg7542%59NuQXuCAq-EBY++bRD_uY`z?3|DNsF?AKvXkI0FJ8(d45YmbZsGZ9@m@omW1p&K$|btE7h3EyoDi{NE0~= zh5d&(%svLHL;~qB#1j3FdnOXrb{$<0?3F;CZm4Km5GhxmXZxpYt z1sM-FZX|3n{o4>Z9M^2$x*icpjyxMB!NbxYbTzZ%o=0# zt#H&~-As9yr=dHjP@&_rfz-_DWced^v}Nh;Vea zQ;6Hg{qxC;_zy{mhcpX&E8>4KgSz^cOsS6_EG?m~f%3ZvdIwecLkQI+tQGTvvqQ!M8$g zGLU>&NgPPj?cg6=VKdXX!>06M;sweBWgv*gR~IXLIXctnD9GQA&RoW07}i77WWsRN zMEi+6>^?AO^ue%BamSL>>!m{E*K9(hLs(7D7mb|KmY{j88LB&unx1M8>WU0S1^Zdg&Wln?M=%)4zdvy@tl4* z;d~V0NPt;5d=Wd=F1HZb$F)%=ib)g{b=3H1*yc(*mf?Qq;Wgn9g#^nWWG+#`Ty>hr z`W&Kgvt-TMgEYl(7TfC(?N@EB;}+Dov%Fh1kjpMA|Dg7u7OSXyCD?tdfF_LQ1ZqK8W2dD6+)nsJzeYQWX7aLPosZnXNsy>jXf?mzLw#|6CW zg=Gv*u8+}##i1wgmL!~ff?pcC)!fbAV>@OxxY4E@xINyeg>8Ww!*4oo{JE!WS z)UpP5Vw}Pm>B!OuNXo$xUDFS7Kk^fi)KA4PuG4K33xHSzcw&?YWO^lCQ7Nk&5DkXG z_9P-yZtgaiS$$k$tq3@Qqwp|5MA3j3l=JzAu*O|LS>1`ghZ9(U12Tia(S>d)y`?ia z!x_GVxTpvLJ&f9toTwwJdX0(tk!TGkO|0q6OEIY<`e2FdZ_wO@0<*wpcarUGZi~WS znoy^hG+@3R6sEMJgsIFqI!a=?ipLm&5|i($dRos@B_Mb_=)ffyJfduLdj{m(51*Q< z-jF>Tn@QyC+EkLW1TnEAym%dBqU{uL*co2FFO2GLacOf$=`S#-!#OHPrim@C@0K!H z%7Hd4r)@Zu(x(WEFpa^6lyk2HPY(#IQ#kmW&3xfWb%tw{Yg+5+-tCNCKt~N<&;naUBRn zfa~kRdO`I-eaDOVi$!6XiGZj=!X20*TV}IWb`cE>mm@@x%&4T7Y}sxr?$>brBD&y6 zJ7nhsWFus8#Gzz*+8CP*B%gC)2_?udHW@cnl}vrZ$s$=~pfH)ix*7R;(9OVQ?MSpZ zlV&)r9Zy7)HraPa0 z%biEAcJWw6t%R{1?hHh}a>^57D;gI*9j!jT4#?U)EV+wXCo*UA98awzW$-A3_t>1QQ5$#!A1|OGQ({m+O|393julU9H6<$+6wp{crgNAtBf{#2 zaoNN+YNo1^35{`Xj49cqbTS^UK#BH>{R6afLfLDIs>EZXM9Y9AHAWRPENQ5+(Dq65 zs=*236!g8gP+%LvIZNG_^bC)|evWDojMqO6Qy(O$t&582ydEA>oV`Vu zeZOfqEKGgk)e2jd)*Rk}5FU+1kw8W0`Fh_+6s{#9ZzhjCnOw} z81fU-kAJ-q=j~?UcQD~#Y#L1Q2v>{s4E85@8amTYh|*k%ytQe9(pPD_A3r2U0kLE_ z^tL3zmg&^RCJHNCWI`xmHOUce7$ju``XT6pF8E~ZpEwMr1{WYZE^=Jc+%I1sB+PUu zJ{5)z=^}3L9?>)k=nIqcUfZANIZ-j>s1Cxsaum95kF2nx!gMG$->4rse2CEGX+XFR z0t61<|RgS-AvUYr$E~UwlcASLPjgtks*nlx^RY=o_dgSx){xt zGUMmFK+%Xp141~U5)C+FaMYNX)(jhCMDPo3hZVVIVw@=zra3{SGvc;7%)ux0^hx41 zN9$@MWbmpB@Rh}L~qm)mQKk%E!PPyF<)%Y0(?Ue zKXOj|TnlW3B8dW1Zp=7+d#ZHLgebr$Eh0igS|bK@^2yfTGKrXw;)#t^D8+P^C@kHg z=yx3^!{Xo%azYNnk)k4huaGVxv`;WufW&w6UbW7VurC;-AkoH5%x%HKSQJ`-pK`Pc z(*#fM0Fj=X$;u8SAcK;?n~1Lsg6rJ#2ndIlV(s=3n58>I1)e#CzC+N@aU_VDoxY^Y zR~ET;+HB79MaYJCLdKTgFR<^;5W`WT4n?)amVh6osyWfz`ig5!Z3s&PO9kK+AETnO zz*reIV)toFOf|3`EOs}r@xyLwAM3M(c#Y={1P!CHNkZg@7!eVv$`o}1hltx?$DEZ- zlqfXl?6@h|RyF+u{RIe*45vddYD|rVIaBqSqiD=tg)co4A0;rN&jS&(T<#b=N2RQ08F@5?LbFW@@B?VIF!LaHYu?OS;7dfHEspGJCzlrwh zl1c*n2r;l>6DDd-;^Y??-I>O%t{}$3n{5J1Jg4sIB9i z^>_T>TSPF!%@DzALF5=t&gmwu(KjuQU{XORL7p@i%y-#Df?_231FDh%SX;BA zCLwXo7}DR8k!BrgwvW_|XUU92)-yp5Mv%W@Jww^F2@~XFh>4>tQX>g^AqE0$Rrsb6 zq6eE#G#a+w-3XBy1$AdPT&Bb4;kXM61r8=ckXFHPqor`Vtw*`d`@2bBph`uJj2<;2 zT$r1=^SIG>#`F`b#Zb=ho?x(q>{Zv6JFZ+O7NsJSXz#|ku8gq?#AiH5^OdB5ZiO+c z5K2BVc<-+3OcY3e(IKCl>PB#MLdxV4)y9;fSf!rbMCKUnh%0u=*Aw4GqQVb4TjuE@ z8^yw)jDs*#P+`RQ3I#2er8g+QBg5Un?4m$mR)G^i#?b^xiR+opEux2RF#Ew`^Jcm| z-BZWBs}QmqP#8yw-r=WD&F z5HCda{9t?+ITj!JO_+K5#HZk}Ma*k#!CGj*l(xp;CPdf_Mn-IiK_8r;}#Hby*}5aNUq4$VYn8v2|^U^1L+unFVN731K^S?=(35!1!gY)}SmOV}{B z3bauAKl*PSb~ZsvAE2bi<{tB*+Wo=>(nTA5nXchb7-Gq#1&9^DQa9tg6jvPzxrcp= za+WRFFp%Lu^kFb&GFnsrMQTG@zqUqWQR7R}&6eZqPPA6DM8<@N1=}+rSgKr?c%t|vgzJ(| z;hb_dA(%CcMGI5$90v8p{YIVj3Oi$6u*8!#gh{D!8-j~+I)O#K+!d^|4AZ zTD8O}!r-(kM;`*kGQ&C0_is}FpCy|yVLF z`YY)-I$?AU+D14RLf~>ft|>`PDTka33HT#!Yi;lmPL;qxh1gwDjcRX6u1ud8ppN|z zdvd(*=%oT<+>lWHC^KV({7z>Js_2;UTw>NCSl$!S2Hx)C2F5X`_{wpvQ#b9z$JfXA z_0pu4v#++N`+@gN`9;Joeze-ER*;Ij9sX@>e~98lG1nEPdrqr<=6x%pUBan}X9X(? zn+#cv4QJT}5GNBfA)F!AmDI^42zDTr7Oq@EYrfkBDh0u3qizxTte6*K$4vIZzbL+3PJ9SF##qxN_7Q7+>SN zhiQSQ3rpNk$_P$WNSshX@6jdI~zCpc;cpe19c4 zF_>Go?5f(y87C$LQN(S*-yP35RC9y=PSd&m9$G$5>a$`#sW~dFI5tH^drHxlh$rY( z8=z4SNs~(`iinv?oGv0H-7=anp{IfnZ#c-VzgCd%`a1ji`udAS{PB42CF|?V-QnRq zyhgyVcYu3&y?vfkH!ds)EH2siF$*o%*KHuY1(`1(ejZN_nj3TjKmqIPHoCoSiceD{ z-Gc1Q!W)pj*!HVx_2ywShh)ZFP6R3o^3S{F-k>J7>Iyn>eO-6v_1Dt>>+7xDfkw{v zzpYYr9RZaV)Fh*P@teHMH+HXV+e#K+xZfqxywQUO0Kw44RR}Mm2Y`EqEt$9$H9y z!@KLQUj(%7@|P;o(cEisz>#PX-~>&6ADW_=FTX25`;*-8LFVtL4fG@*4K%eb*FZFRuwW)R9Lx%=%}r1fR#*6ZTstvaEGqC`1LoA)Ulu@ zG8TR94CvzYizfCR!pm*!Y@+vEG`D-Nb$%wnjUzLO1QU^MyV_HM7jDqMC7sZ7o18It zzBUidyjB_7Ijnxks-XyzP8{&etuoFLPQrXzu~$x~>+9;Da#3Mj$|ISVH;#IXZ{=JI z{JdAHP1{Jxxv&atuau`-_lJLpUN|7iDI2SqtU9jRjU(|T6C*QIq4-3suiwny8=j<2 zbiDrB$ZV;dse$X1_^}lI^?x-k0GF`YzF8E4@oKC->MOrXon=Eg1Z5v9{Oc;eruKj%T zaI2V|6SCqA3vK=(N4`KbEgn|k=5KhC*)7x@GQ=9))i6Kr5IXrZx0K+t0=WQWj}Z*4 zub+Z0Tdj=S5B7Ht_P_W^Prh-!oyTsxnsUR1Af8RKkAi0wzmg8^`jcPl>qvZYmcc}R)*a~mz1G;WXU^qIti;^#7@^=+iXAS ziRM=SfAY0oaHE-NFqrG>I9VwE^TyGZic@_V88z9zr51q% z@Wk^LL32}%g=QLcFWTTR(ZlshY-Yu5ca1XS5qqwxc&8>7x_##Z0@vh-auI0FcrkDXk>eg*I%nRH1=uO{^zQm`J!th`(FA$ z|FjYak&7%wYbQRn!7}&Vy1H_F#C8d$S|EF}i+*QU1ffs_>i-46T(3$dzTa8OY&pPw7!m(_^^z!x0vcw7})i7 zj;ud9f?l^&4}_fc2xX+sdgL4XXFbl1m7<%6AF3Ag6(~m!>0q`jCPpFm#L&nrT*YXp z(1J2b+h^;$cFew~(VZtV0CHq^e^I{lV+V8M>hk}bMU1}%EJ+c+9 zbnM8)N^0T|ibrNxHU?tK*^a`nHx3hibZBERUh^fIy6;8bE-3Smo;_ab)2;YR@6Sg} z+P1SCyf@eTZK7e1-itoym#Og7k`>dYw1mr1>D*2Bi9!h)TBZG`3phSmXeUXZkHO+n zRAZVni83fmHrROrPFFgl1W$guhlxPSsyoqs!2Hg3FA3&B*ZyzTLGFaP%wcj6^l*sp z3u6CX5qTeT-=ZdPZy_HtN~|aq^lW|w-j53)R98U;A6paPKEy2_TOEM_aO9#YrC3+H z{K78kM3DCZ2C_TN)!Yd__C`xDHY;oC_enQAiUv3YZMDLh`-gd8oboZT)ecsrVq-e} zx+10}ir;K!bBy)X1w{S&*C~Fue9TdadSYWcmwFH35m8^+SN)|YzlH*Q9UpWyu8R^q ztSH>(H_ahec2p}@`rclvZF_qUSNjzCD64)sL=Ul;TDY=`8K<9mA7a1m=+PkC{pyq& z>w}e4VQhwr7M>pJl_udzi58A!@8SJ3bqUgNR>Vq^f4-Qjv2IVkj=70?@>N18bQZL| z*?K=Z>gcX3xd8|=(g@sa>3YhaOlAE+yc%`7%sJ_oR#&D9If^G=4v3dldnT9 z;(s73c&ITmW^hBqghA<4QC;f4`Sy7MG0Zh6Zg~EutK~6yIu-pe@%UVgwUCuy7$f{S zBOzSA#7lgA-Q0|;V!uG9er~#J&K;dEBMh&<76)-@p`*u``%-0MwIY4#7BtrzcpHjJ zuCH4;S{c%7-73kCuWwmyj=V~Jt!u(6iBZQmh97!uu9B~_MqVYgj3+E!RdW(1HXn!1 z&k;fttLSjh^s#4@|B@Tp8P!8_!wulrC1du{mAq(uT-oJt^duIu!b4L@gN{g|Rs*Rl zSu(d=Oc`o)L>LC>>7pa}vz}Z3G#T#s_3e8!L8KKkB~jCv7gytYTrEQY%I0#cr5_9Y zg7g^NFTy!gWVMj1=smojF`l2uLj>}VoPuP-wy0nwY0OHAdXvx=-+QQMrp71^LRp3` zR*^@|qn*Q8ruzl2SI#2d+30(NY)5{jC3e5y^;m*e+qWyN$CVN-9J<~^chRmw2B>+_ zZQ@5ygZmfd{fn~LMWZAZfd890?XZ!44D6&@lX%s|C-Xb4EcW~Lg2i;7sVsdlRQxK$ zIuyj5ymZZO8yXj%jNJM@UI;xGVUZDy)CoH3PDyjrow#$#yVgOgd#_EQdDjn4q!PHt zp{fVkB38<=-e6>u-c@hKCyd|5WnONTFh%=<@vC#6mv@UC(%a{_2ldY+S0!s#9!WIt z8so_>;be#uqa5rdg*X_=xw9&xV!-unUy39t?Z-I6C3&n|%=nMcsN|TCdXos}xQ8EX zbMS6G;{;yqil)jZjd*n*m1b+_JTY$$D~ML(N}qg)hg!e z9nr&*s*`bca-q4;ZG9`Qzcw~rkx69cgxnlCDNLfn8*LID(P&A9?Kp1eRvM`+$(3uE z4b{uYAC~M{ySw%5*7~AJ){Dh<137K>VW2S+_38$~F4KnL+d&wz!&Ch)_Ra%5&f<9Z zd$;$VPm+7V1{)(|V<3R6Q@0UHNMay@5JCwG2~kecoh>X&LOR)!ZOI@=LPzv2dJCcj zLb2%~!KNe>V`_kaaVViVfdC=!{bu)luc%ojhVcJ_pU1lG@9ymE%po zm!H>Kkn2&Relt_>!7De|5-!M1TlPs)g^g88&^X8$I$_4Q*!|_wo+KoRi5>8NdgTY& zN~>l8SUw&G5TqDalMVQZbcJ0*0pwP5>SL6B)PE?667CD|F5@b}Op**SZr49C4A%i7tOu0bIknsSCkLMub)*V_!VXcFq<+iNA|41#tFrMs7=WJS$wn`r-I;5W{r9 z@T$sKZ7Wh9*SWsnKJ*W0&c5+jwLl&cz_pgu9d8DINc}j{?~iQo!OF@et|^N=Z5@po zpAKw&p+Q5s-0sm%_uPHw>}h3cR&}IlUc;;=93KMLwpqtF6juYM%A2zQuB?ON#O$ zxO>jW!78usMt7;6*OG&uRM{J}lqm1H1WRt^0d#gK=H%CeD=X{j7A+KaP=ks8l_dbm zD>xW;PAfPlho)pr?IN5kEv#&5q^seguL9h1a|=^OIw(jAQVI?VlGK8OgQUO+DoCnI zdeM7{#pmG{-?1`f^@-nKDeSe%zK8H3JRYQaHgEw$j_vzDi32@R>9 z#Tzs{np9LhyMz}cbE{%CyiZhA6wT+=od|EF@MKq*_g9PZM8K+C6dr1qQwt8-<PmmuciouP?%e9a@G{hDd1(IBA)7t@`!k0O zZ9sZ8lax~>FHM#d7e;ttvpO=nS2gR4!aSRtUO6QrC&mLE`Nh1tQ;nPCl7f<6ZNLK3 z>yiLXuEDuBj}kD;RXmgA)~T+;T|xFf`~2wp**h3~$Y$r(jJJ&Ja87YSPHy%N3H->; z%gxK*B^=%*oWJ9aO5Oi~ZxnBj%X5T{EmifAh0*5x45j=^{@or_Y9_w|JC#cy;oVae z5))M7@CDk`Hb|d!-H{WCYeqWMg#*F>4?aZdVJ4^m0Ghzq1DQi_}Iu zM;E=Fr`;sY$qS$A&g550_|APq&C&4J*G{ePQ*U2qb}M!|hU!cSm8^OUc#2|DttH@T ze${hCunJNy@$0pzUL|5L&RM5#R?zILYx|$RvcADW&fIiX{}k|{Am~$AjL8v*$|7j`t40&Dc!r+_HG$ZF)fdt<+W|FGx|K42 zcB(AEy|p4+>Mz*oS(z%NBl20%kEuCCzUM{0X}dbW+1?l4H58)Ok=Q}>!#)G34k2hK zGq+t;5-}PYRYSTbf`bCU_ZsCr#mGya@Z5SBT()7r6=Fr00pPGoncB!?6#%&&z9 zxV;~djd_m!8D;PhrP}%3s1x1eD3o@%HMrN>vw9adfWLxN%YxN41Z{8g>F$HXOn24O ziS#_!@SDk4Uc35~*a6119 zkb!)0I==?e>LNnctFXGj^b*-&2loOHL2PvAOyq5Eg-w#qW<(x(I+>Z@XG^JH3I!v&jc3y2*vWX?swQ4(J5%K0&FQ}16tQnX2m5ulySKstvk;V9jH4j$c z^SVauLps0mEU5ai4GZj|JltHT9vfyd)w3f7T}9O9Oa*Pr{AjECYa*>hPLNERZr=d?u`a4k zOvG&;(dF@MLLNWzjHEiB?EQF)2OskWCbtu}@;_%esQuJ)iG->))KcmV;_me1x2t!E zfv^L(PR<%@bJ0qasgK98zFO+lu<=T?BHmuq7jm)a+hk42;xaL}iLpI|2I*11Ndj zT^&c7Y2`ozy9a~AL z5e&Vti+63Wvt_D)I*ILA>VZf9#Um8AT?{ihweCbf<| z_)0$Ba)!+m6OT($%MAs9*SmFP4(}xFKJKCP{&wn$%QXKPR$B{SP?fR8fLo=!xg0=3Cq&QdfDO0>Qty^T+;=c)qYhNbfA| z<}YP%U)~uZr&9MZqzFp8`RV~eF4-@Jezuw9Ki0EUY!Hi=(b zIX_J4ol>H-l}ogFew`}g*BC*m?+`LhR}=0o)m|i-LtCRM!d3;Btm-EuifG`HiwlTa zrK-Fkp)Mi1pZAP}y3#h#$E&oui3~KI%@G>Bn{Zu2HQv!1>eWL;#QFsbJ5J5ivqVkn z3q-Jc(Tf=wDs-Ut<gWRUfF=XHB;|9rBhme_Wb2A{>j@hE_t4mFN zDjE*f;TAFx=STfFJ`}pVbMLywDrqPjbv89E6ogz2rN$n;zh(Bt2YBt6*ma4RZE@pc z@N{&2>}U2!^@sb1M7x7n+9ej0yJpJN<3p*IDE-1vN~d+}jbx3XSOS$PKYM2bbr<6Q z0elj6g=OkkS~W&yu=aH}oU}kq!HA82txWAyk%|{0EX++$5njH(mt?KjD!u3?eyh!^ zH)Lp(smr`NDc>4Qb{rah-H_JmAUKu+^;PM0hK2xZ(klJOizI=&FKym-Q-=8#EnB{1 z$%V05PEg&C2Fz7^{n%rSVL6uiK2du%A~s2>=Og`Ui_yytk^cn< z$aNkSWv-32TI%+v-AlAspWJ0N&1VtTQTN`Iy+k(3SD~XGr7}f48&+4c#51@1{9GRs zt1|UAZOCbd$~pu|E$v}wOP{CrlMZ3um1MLwDW-sX_AQtk$pLP0;R!z{Y`a#B02A7VX|~iwwd}6a4EF%BElH$@r=4uj(;raee1-(K&UQxTosLCEC02m*TT$i+*}3 zAGSSBS=IlUzm@5HCVhTP)9&6dcYsc)LNZcRtDCt~-?5!?TeTX*{Yd*f?|dFgJ%c$( zdUKeUBr9yO8!=L!q5Q{@0^z8h-=xk=1Ubm!2qRjfE=eZUM|e?HT}OgAfQ?}FX^%5R zAFqB-a`f=jTTZW-6uV^k@CKsL1RgGIuB~oX|1`~TiL0MGWr0K8vG>Zelz%WGwMI>{3D` zbvb_R1sz{$7Gu9>xW-osk7fGykQHcNyi@xTG>2~PX4U0C{deC;kM6^Ga=wQ7U<)@s zH}drSPrXm52q8JL7NV+RMEanOB`TlqJBw&AikKg_{t6e6UES7mC|Pzstptf8dm zbjzLp-jvo})f<|NzOP;GG=X9sPP^AS27v44^=FYHk)^q4N#~y)w~{&T#{t3DE_eRV zxZHUueTn}kiHN&wJhJJ`BqDU=YcD`^=JZ`;GCN=U zJ`uy;|3%*?i9L+r?6Oz;(%u~@Q(LewlRBM&Bq0$7v zFNN#l^EXoJkCaN~9Rq-D^X}nN5%6mvl5@k9O|6~DzEJUSo2SMWau>^6&tK-&J9XNU z3hK>?8fff1k>|@7w#w9VEC!&PTw8WBzL>Fk1O4*8@jr`H>NPvDUpjI7Vlbynz2A#! ztB+-Xm?5ao2zazXuH&XqmM?!rrK5OX^b^$oT3zrzt1eLED$|kmi)S$D82Lpl&uNUy z@)0#tf;cVW4xZYn*Kp0+Oj)3o6ZBms-%BX5|G#GaYFFTsN)rA*A=l|Rw~^`n`eb4g zP9{9anq~0=amCB!hcdNSFFaEF_gZ*g2AxS+*J<7J`aGn?{xvpi0yf|!k9n?XXsN2h zvohC9YScUuzH1WZO57u)s*d!bp5i3+zjn%!Ov9ceu_2SU-4a^lzI!u+3dv@^dUBWt z7dg^tldINWzsfDg+XKz_cg$OUo?@kswFT2{_OV}60OS_gfTZl|dxLZ{D-Zs=>VqDr zO2VtYYn5z`DxXNrF_yt^rKi|pyZ_u(aLcjtPZANESxemN#S74dFCiv&&p3CeNm>Z2 z6WmH^Uq3fdGar@ug~V9my((Tus$AH+pI>Y0Bvwz&>QRaJZ~vrTCaeTn$ENWHb;{vNt_x|@GWQcVwRNqaRPl^jIuKq7{E4rD>h%Um=l-E7EO4+QABrbkF zD>2cR4%?2N=vE?WXfHsX<2A$KLP|TAd&#ldCT{H;AlyhAz91^iSCd^)cY0+F%oo?z zaJltS(kyiU?1tp>q$qjS8ze}dWrEDzPK>S92PBFuyOnYbw@LNhpK>!uSEbr)ODkn+ z3Tge^l~B2)TiI1L5lpjXR!5VPdMmEaM-!%9=WncJO82hXSlP6zd@F3P)EcjrdW8_v ziGx8LhP*~ZT=5u?t8Z7!m00|VG}Wtp2%D2*9E?=YSBDU_n3KnuP!lmA+}skw7YHW& z>PQldv50lHWA0I@^ZQAZE3JpejES>a#INV@+JgD0)RX}o5_C!ZNLy8uC62q2xH^M` z?@Pi#HhwR0>j*(e#&g8nqcf0x*LhqQj;rtS87-Jo?nZf=KLv`mwU%hc;s zMu1ma%r}j==%S`eG}8L{+T6`n_Sz~Zx*xt{Y9n>>rJoY5^A<^3Z#)S-EwM~3qQZaV zrv7LeuoDsH4$85_#FY)*sT5$IO&p6(bqBxVo~4nk47T!hYBdQh_0{vE)eFQ0bxW0c zmlW^811TkG|0XT9%*0yIG!k#Y`pqj+Oj5ET{C%kJk^*uYB9u-;_9w^QU{VJYOgJw6 zDG_ld+q_Vejq`~ae@4wJ?q;~r1$DNZaXP#ALT~Be5%*v(VwUlV}DUGB^=a%tH z=axj98q_g_Wt124E1$Q%tZpI}YpJUfFjY#GyS)UrMfETV7UUr4V?>OouCnS=At6BC zj+8q5iwLabi_NN-6g*TnwR!Wf9|?(xko=k zVe3Cxem2Z$^S62Z9ZI+aCsgz*; zZi(DHc*eJhd9AB&ws;lE`5_UZ%c`2d9-cEVHJ_M3aS^|uMjneu{em!8d7|?;Hn8ZT zP9X`O!XS67Oon?eVtX{IU-QE|O%N|Gv@gH zd$HP)vKT42SC~A0v`G(E7kN$CKBw$OH~Ai0%9~DQ>N|;{xw7tgd|LM|6YoSD2>po%9E7pNP* zi0VPJkBFKgOuDaH?T~0Z1$=$#B?Q);v*m4>y}U}B(Y=9v3Fe@*mIt|$nbIR3tZGQF zmb|9Cv5|C8u{sKyf0lp?a@K3ORRov%+G?)qiA%0Fb{i3Z1x;(v+pm31*{AfLIUU;)+7R_8f*OYn#qt{Zhea+{}wQ+#g zMuKIXFb_9*9}>eYJ@RM2vrwjjZHeM| zugfB4$UJjgTVrlzCK1lui#MK2#m8S$bCiv}JC}A-Fkpc)wG|Bu;Z@rtz8A(EKQ9?$ zn=+T!TzG3^)c7z|k>ds`6^{Xgaj3e7Am-3XzNyHInj0~i% zCX#r1H%HXLXIwH8RTMixRl|XnZQ{AK34qp&OAn`Gq$vT zdwFOeZILi8J;Mv^w2A;tC6e{donO#1Sh;>A!Ya|Kxy5buNL>QqT}!LDv2($DAAA4oS#)wHhs zewZT9Z{ac8$aB_}c#}Gibh{Bdz|e;MB5iD_YE+!`6q>9iYxxWU;w%D|&cTFt!l|?? zKj1x)NIbFtbLECs6$%=?v6{(mvKwaESI&nGs4GJZqCxfWV`!7Qkq~;*CMZxN+#3<` z7E<;nMXe-YIL>MU_It=5&nF^b)SII-yex6-`07YQC;{Wbh3xX)ASxmO3K`stzC-Mb zc;#&CQS#CHYPBtarp1PiZclLk#gM-RYG+9mzqY-fQQHf6;FgAL7nX34GGgL@b%4S@ zAY0@p_2WdXLbgahBL=Uc5}fJ8WETFBPfcXiaN5~0XO1hJeFu`zu&_*B=;j;e@^j`G z5BGECd|O_jt7)sxwnCd*XRZk4**m$33nNVn#E-=R2upnvfd>-3+p7CxecwZa{>Vo~ z5&A@;t0j#6Y1gc2^J)lI~DIh}UDXc-@UG)P{i z9!ae?(4##LJh->gZ!Br4nvZD`N2NQH-_NbR&Zn~IsrRsrcv|cq6LsI9s3vIl#PbPR zmFQwZ?z0oiylk^CKY^IL?>dE`i&O~sXA*M-d^?|bm7X(4j_&GFtd-^iMNL<3C6!|t z*MarDCWb#2Bq6>ku&uM&Z&UbDveTUoyFK95i8*t4L4s0=UiC($KMz#7_td{JP(k-m zjX87d+Zls>Y|JN0%Xu?c%^M8pliSIVH}D!=#(fHL`$D}sGZB;%6OXD~O6u;A{Mzb+1b5X{ z#A7^BFy9=j+(yhOg6<^n9nlEgM?j94dm-cNZnC=oMo$ogXyobAsJAAzCW)ST(Ql-b z=+#!STe4U39wejWQ%(FPdEw_;QzxW+yk7(;Q|C}b#Fv4%!Ik7k>f2NgzaAc_8>LcP zW3;liW}tcxrxbCiu1xlvIaUx86abMDz6<-CWTDKiU{&> z-b8BScN3mFI)>uLB0-%u!!3zIgU`V466I)&_il(<)I=G)*5)-V z#$}tyeU$|0ka{Cg3OW3plv3*7wuI;${HQT(Q-zcoMoctQYCuK`!O3+HQA3)_I{da8rBqN-)+}&1(PN$qQ?nUB`o! ziyNBI`~IwViS%qvMC^w=8$7kFcZ&O|WBR1``PS)uill$+TJnXo+V_WklNxi=?n+Cu zBY4QPYHpsmrJj})cOiK?()FYPLtX<`Td}<-C~xAblX-)RFke+Mw(wGd4b5o;t0Zte z0nk9sXPI0sXvpCeEgZMXgK9OER_HK<;Wf%7U&kKw_2IC}WA<&Y25B^0RHn)( zIK)=-RO?V$mGj4=hu&&|x@#z{%KJ|b4!zY96&RM7j6pyEIUY^HBm_40pmA(S%?f0j zHlf`-b=#2I71-Xt3GEiBO!PS}P7VSFf$kQR94Z`2)K6`@vZ@Bf+WBd%4pzJ}tgaYJ zqXOIC487Gn_2N)k70A9h^i~VhBvfN|fe!)zf$IzkCgD0L1WMEa6c%|_RS*y*&Y}ET z&MO+YV~M4iP@S2YP#>MAE+@fg4*2El*gP{eC6m2gEXJq3?aGd%V1eaD_amCJnOW>b zSslM5oYXZOPt5iPjnc1)c+FDsR-&d&!VWCQG$@lb){6*?xA7tZ8u?euf4|xp68%F$ zGx;yK{ZMsakjrCk7~eG~_>{0a3v&Wq)%H!PDzrCQ^^coW6$)?uU6lHaw(L`yQGGH7 z`6q8e%0HXpy%3p9@y?!-DISwgrg%I%nc_hwnc@vPnc|H_Qq;qz__K2C5h`X<(SM^} z4yX@NUi*B$e~la=KSY!yc#ozV*+gC;@B558vRZ+ZUk_-p@orZEFmQV?=}u|Bn*mJ z1*AlT?As4Pe9V~Lx@^dJxmF^4)oR=&BFj3`C?S@cj7OX^N|aU;)mdZiF{9)VQ_AsY zR4AoS5BLIpCnHn$bcEsopX2B!eg5e_|2R-05O9h!DY)Wc3a%gT3pmb5eP+89%g`@3 zl$v<==(s;XVcMYRV^Z`5TU8%3E-r2BN82k*(S2fmU!vst^pX{UASG{KW=p=IHkhLD zY{$QDzO-rjIU`g5vLjR)2sz{R#~q=ZpuV`H!kHA*Z~1zH`m~O<1lBo|gKq^goGJQ| zj?h|)PSUseR!DBBoa}P4k9V`{dI3+lV|29meZ@3vj-31V`5N0qx^-wp#FV_8Fx_sO;^x|F?wBlXl!5vZQT|O@=m9Mm`Z zvV;0h9r3_$CnG3L$!9|4fnh=YN+8<_hE@jk`Ab&>MmkPVPtW#inL-+sd0G7^F#Hp< z6#Sqk|C)mRa9+ z2BjjB*|&-?);=HZpE!8Kng!qKTgRRr^l6IrXSp`Zv*@$6S01cX-e%8WC3Q*Uz`jQw~ zF1i}SCQ0Iu2wNQq35I#*Vs1`CN1KE`4JIaApk$%VDTuX~m5Pkr<+s4YBugq4jR~`a z87-zn5~75)Z!*IHJ_%E2H`ld7w+xkhyy-~}-$=a_ElGk`Vk0eKboNRZpAg>Xh47v* z+!xTW)<3kwg8JHya?AuE%?{Zo+(CA}Pnch3=y1a&C;GSd`9&f#%x}rJC@@2~Yv`K+ zpT5+;E-;LiUT9xHIx7%cMi()RdC576vmhQ;+k{gtwj9 zQ3{)dQ++nRhx!xrTXmswXX%N zb|&g2-O^-_vvp8^?8|Y+Uku9~t4|M#Ffc*C)7E9;rv$U5G5uCssWV}n{RaK z_gZqCF_g(H4_%8iv2{p9kCtp_dQhKDk*$Jp{aQ<0ik#yXndlXvi#LvpBNn~2G+S1I zK5}`fe!$nGZ|{&_5oX5dmCH-X`MU}sw*4*M9T+7t%V${t;K+E)cI%9+@}Pb*zRn5K zU?%X8@AJV+Gb=*hY!2$@T2?vXpuUFgOxDjUfqFbtDm^?UYlD+Z58sK$1YoCUACFdA|1**1~IM(8`73ch{*@(`umPxSDKX+ix&3!KNc(9R~^$qY@i3s9uwz2OD=9+jXJzw)m&gy2YbjejO< zTqwnn9d?a>25#86yT-S4#tK4yuS!-jUCs!C;y!11Q2)y*btdg@7Q>UvMEu`cU!!{h z<79GMA!%2&_jnLlk$~-1~1FM(_2~8=L|r)=w%aI ztcyG1mc(@?x+7KBz?dc%yGh;2t{AGGDQASXrT>GJlY*7iF({aYrn5Z=TMOEHeFx z#bB|f7cvb!*`3(-zEdtpIrMf0C_Mn)Fw6leY(la@KIT>Q7a;s^-68bm)k1{ztD&{d z_*pFQZ-nduXC@2=RDb|5`#uOTLeFCk&Rs6th#7eo0#SGqogUp|IHlp`8{?F*1T{}` z%K5@5g}|_8-lNf=9`5!?Qa%(ObxcdB!ea;?$t z_)9RT|Lt-~BPPGXZczVIxdQBJAF3+H`G&sB>Z~&KeZI9uUcIZM+dtfsdQTSSiiqks znK~1Z*FWCNc|dZm@nH$~64G-5>TjBZK-DBt0oR!JjLl^+dfOB(i}drRl$WOw^ZMFiYaIBxt2 zy7SH$pHmiG;T+g)c)Bx6a!!<-+qCfFRRG1x+oVt4o%Dx7q-W}tZE(vhy*lVGV5q@$ z`i8~jA|*cozZaVEr&ie43mp~u5@fI!Iv9*kChDnB=PAxEV9taJebr)mtC8yTao}M_ zutI;(!3+{VH7GOX=)3%D(fy5#nHKL)wpdP!{_SL5X!6yRCeNiwXEc}=T0y7EAttA! z{Z0tBGTDon7CsEGJIz<&Y#lm{si@FzpcRuL>(4?lXG@X9j#vy`ODXr0^m0dJ#GGA1 z-!WAB@(wAvm42ZuM@B+J(6N_>g&@&qF3z#E@6@0LP1jP{|7@lIG|X^Z{bno3r_UG$ z3}y)n)^D^*1Jm@G!+L0}Tc5NTdh16i7g}XRcsQz0=IL^or+2l_Odav7ycyjy6Rwb< zA3$mno#n5ZMa6g@Jj0A{<;Zf9C+lA{XFJ>Jw~z(Q#ww`)+`htLFvKYxq49wkZ1^ts#V9{cKL;fctp9gAfPMj7m?883q>nXl z4KYJ(FYyTpV=1g)O@R3`oNa@8ryikA`rct(YzJouI^WY;>TG+mo7&m1ourbOJ@iCV zcjd4ygP4~Z&Fv)FAex>Y<&Qff<^}b$%M2q9(wA)Miry*SPftt}FTjVTlYjPEG3gv8 zSmJ*j7N_QTy{a`H)Yr51qxX-?kgsFQ^*B1~Q$+1xHWyC{W4@-N+ZF)~*CEYJcS1qE zLl};Qu|O6NWGtY8K(>~>Z(oqDI-nnrZ7gvhkjcjdZeYX}8tH6csHJvh zh)@Gnh6J@v3#pyrPR8CrePC#;z%9qderRK1mOFX-+E{^&?QLVlHntZrXvnTi#9SBE z9`{vPdNKptz6`4peF1!Hn@l|=w93goN*E2hNTvmbuFKg?tY4NRV-u-dD9V~vBOeM5 zbutq(bSJYYyPCIkw^r;aIa({VX8*)zoq%!A!_mvt*9pm&!0sYYuNUL=R8h3puUL~r@(U`Y2RQ!22`GGha$Oyt#AkHVxgS8jMc{l!ObZ0EwD%L*9=Q+7Dms9o=^YsT z44C{WkfwKh-OjFE&J45*!QG(wP%ieh@A+8YCzCA!+BvC%w%_yd=j4u6wzq`OBRqkQ zSC|mrakm`k7(pw(!oHs(YoRQdp$xm@e?YMN<2G3f#jtWYIXteTi$ILu82J4G zJuZ$pMbevtP1Of8jCifj?XXR)7b+?nL^JpgMZfTxnKK!rY1CcMGo9fgA6)cjrs5*U zhb&pHw?uHfWyuC-H~pX!bHdrqz7_l>$*34!683u$du(?B5L>^jD=^d92{DE}gkoAC_uC~E&Ccl1BBz9oT+q>F zWH4Vvb8~3h(5}vwbDWGaXZWeYa^w05(7hl?xgN^V{9C??U9TmDQB)uwgY~D{W%7>T z;VFpc!W%yFg<>dtJJumH>pNr`?&tIxlHkksZy_>}sNA1@iGkhWY4txIj=Vo)854+! zjLB+yT*Z1xmmH$2iZ4#O?Dw0ikSkNZxtZlk*`fVjpt!PQK&eu6s1siXqEDkk9hn&_ z6A@j%3qunn=~=E8^>t5+dX}q2ecjcfp2f~nPDp$0j(WfHu?hYV%tvB8PtJv$;i03940b0(e}uEW{$z0+I|PIO zPr~I#u)nx@NzeD3DThEHtQ;xaW1?T8U7LX_1|5Hkyo4P<$6TFJ&dzgl?!- zx3wVJk;?Z=t5bcb=7(qMKL(_4!}JI3rGcH<-0muj4!p?;?1G|tRl6Jr9hA^imz&gI zG#iliESFP)HL61QEUyrHfXxYY%N+|2;wy5(Jg z947r8Y^Qc+KGyp|`Bg~$=49X%j)4vIDuC)PSO$TEH!h6_b`+J%G@7eiAt<&jtKw&C z(PH!MQ^uo^nI1HIQPz5M+%$hh8-=f1-Wk|2sJF|8Ngo1sNllV}1}jC~=o%8qOm4HD zncNAAaUl9-bY|hWGrZ9m@oG@-kD7zRd5n5r!-#X^dpp6uTMU(|ZBn%p`ZzH&bRnph zp)WC^f3@@kjRQ*X@*o1zk194y~Cp$*% z7Su;)tqts?kI}&Tl}5BH%!{coMt>R?s)BAs8c!yF77z8z;(SrsVWNNO>p~_>FEl}K zU=dJlyuL{Y)*lv0$EJyrOw7SD^ff5nCSJs`QigudFP)!+b=)dqkj(Ml<+nBNj9bDl z$6MpS!*5$$zvPFm?ueN6&$yg~X6R$Ha!mZgcqnIWl9HqY599ku_at;#if>PMX z#JGQytW;yq_2bt7XNo-+GCn}AlhiZEO0(H0{B;Dhcx|DXk6XuzrZ!^D>L{uoq3HQi zG*jQX+&{yo?^jlHa&!Y@eW626RiIci{og>#g51PlD+HUR7$-^tVs z?fA}HtgQ4kt)+kmVtMh{?7%E2&+i&VIy|3Ul27pG%CYQDrtqoH>LIz$B8Xxb_dG~7 z*_m)A8Kd=F2<|f&@41I-*}V?eDDl@;ApZ<#kUXhdMmVDpN`Y~oG_nVcJUu`oF;n6- zY2;}daS2T}spC+7izXFSbtcqbpN6J)t663kmo)-?WYP9@`Vs#I5whWy8Q|=ZUx>YO)ZwY+X$!Ty%=Gh4%xynrI{M-0P>-q4#I0S}69|jo{O}02jW;)y$|>s~ zN09TICV>6uh;Araw!WcBriecGj0FU17Mjx|t3(!^oU4Q=m(Pd+BNVNB`6{5p0(?`% zvojEK6QCE78J(Uthsik@uCEc+`FA0Pk_#hBIVF`j7_J|Yb5cs^6SZg+S@_3f#PzvB z=)+?R!S83sfKgY}_XyFtQ9Aplg==j`Za~dwMC>rDHi7Jm;13#g=(x2 zV*H18q!U6L3jjFAcb^8*cP%Stw&=_X*~3c%HuHC~WxKP#Oc4BjEyU*za`R+s`H-UL zzg@l#sy-EQW5NcOM7Bk>M-GpZI#J&~vNMp+X7l)ZIfa>|Ul^86`e=QACc@U4hn4C# zCamDsm~Xr}f#%LQtW+@I9}}`!R-}*C!@KxehW^W8bnLg-YV5!y3nJZsEytslH!!vCN|VMWa;A`tNHSl};WPAy!@!$AE{+LrWyxiL zwpT7HrCgctRT!|Yq>XZ;vwRLD7q!Eu0RVC35-GI>6R%|XU$#6HCn!94Z)Z5f`4XfA zAp94$HL_pr&a#{SXWRJRl}n_reD4)i0p#=bU;K3X4iKq8kb5U46LMvlAtfB%W>nSZd{he z*1BtX7m}?Eed}6!E2lXpy9rb0_e$7iUU~u`?zRR>uMHEDFh*b8YL&+KvrZ&_$Kq0B zl=LEp9@3k)hfBGw^>qudp0S^ua+owKx$F&-1KEq2E7*P6VnUaUa4BDM# zKz|vi^gju~ZXg$AzX44$$C|Jr;qwh|LzdPmpMR`u0w5Q0ZUU~_an-Q z5&dM5-Cjqi4n5;!gwA43|3$&4KTaj!V)Fu)3KJE3A*Daz!X)zYQKBF@5(S(~F=Bxt zu=cGsONRE(Hj3wu8LN!(lVyS$&29;0@SdL`Jy)FCeEzG7vw)E0jN8gIN!H7Sr zef~1mmPxXE=GAO)Z5%}Ww8Q@`_Q~ulz-Gm^$_N=RNGoU(r46)-7z{{^>O`nan5w5P z_hUi}05-s*L?nF1=ikYG>Poq>Vw3E*u9ONVE%z6(XBHNHj_5-FiY^p*GSycOBl=9M z2)-~}sDuy%$iX%5Lk{k+()|U(A=jzU24}1lI8SN>LRQ>lPdik3)9kZ1CT@<TXxuyl05wCW>b2BUHNepB)43cZIYEL`b_GAeHmY%vnS zSP_5kMf*KUznOtKHJw=%C_>VU%bxF&<;JG;C6#T@N(yM>C@AU#k)ks7Rh-ur0Mu2% z7Xz81C|FDMInIJ7wK!P^JHr>Trwi)C<9bx5KHO+8SZ(ay$1Rfj`qTiJzlMWZm!_CQ zs-);!AS&>z3TN!DflPhLupW5fc>Q84GDeH5noLYFyL6dtQG!znshWcs`NCNuI<0B# zp=&YFfFq%mu=)bl;BO9RX6Kc9pSFj@U9w-0qrU<{pshsw+FCz?O+IoiB&SobUc# zNHRiexjs?U1aC^KXEd#nvhR!#J-(E^Kz{Y9P2H0GaU%IVH~S*D2~*N-?U*LE3(_;% zyI~<36GqHFO3)C^JgoTfu`brQ7V-Oj$cS0a=@#*0FiZd(^Ca`aEE;?XQ)Kq27iSqw z){AkZB!nliYVN|4Y8q&k#Yfhlt6-f^=CF+WU}NA=*N7_M2@aZ=c)>*|`xTY)|FdUKoCR>Jq6vLO)N#IqUTK@f^J_ ztK2qnYC90sZ~ME^&rH;R(84Sgo4>~N-hxFBg29gNfupCkd7pIl7QXLw)*LKcxwMO; zK+B$c&>#!r!haTXeY z%+PM&E|hn+*h*iCf^!a|xd*dU67)T6+0*0kjmE{!`31J?Q<@>t$7$IYeYgzG?^E#{ z;jF8(*iPLV51FmCH-Bsoev{RC&97x}`qv#B=*gmW^Z-1XxB|9Ss%z1(F?*Aky!kXX zlix!+Wt3Z@C1RPyjM90!SZHMHL(T2R$n$J@Ru-i7ga;LY5Z1t+faF!-Kq=}+HkiZ>b>!` zmT`QRQs~M|SkR?$z|2AL3t1ReK7(Eu6zAmW<*X1e z?~XG~uVnQ&lWUwwtr8wcmcV+6YRT`ToJ$l`1yGz(0s7pIgFzlj5hypM%|+I?v$~z_E@055 z!J}?J#bD88OAJltAOqO5>a$`rHf0qfuK_H-=8}fX(L7URzAkD)W3Bl~mP;0QWeQh+ z$`nrV1+emmorbUvWc~b$)8FCxbkVc+EX@(!#oGaYL|AinU^f}@6HCqh@b2ZELMb0n zAy(H-T$;ruLbes(s^ILE(~w*JXlyZaltq38x1U&M&$ee{&52M2fn913aRYSj!lnK^ zlGaQ3Txnd|eKP=ZoUzob*|!4~A=cDsOG8~EP`<0hm~%K{B{&0$oh*Gla%m~Y%)sM$ z>~8dBK%2AOpx)WPqc4=#7~0~OjiDLt|Gdx)itef}(dAHzb0MaqU_+U~l~ftSDGq%d z&b?g1hpceM&UCg|Ot1}6U|VO*p}Mul89T$7-U_3a^RAPfvD-M~TCkYtcE)9MTy>#j z*seT_=EJmkoHaTDpi602{4PXkI*}2kn9Ts zGACx5#v^(Hs&|~}rwO*uhle?1K}w_~WcAhnCl-xh81!=t(hs<^l%>e`UI=h;3_v0% zWCf3cBQ7-uFCPbh$S;@5wG92YK&QrRV$62VH-5sRM#7`c z#wTs%SdGxy-?$47F6nQv;%2~acLg(ccP9Q;kb%oePIiqm<~neGl$x2(>=b4hNtlM2(#;)_nR3bZr?>?Z39mA>~;ZSxu7dQaKj~IYgt6 zeykS0$tonVQ@_;S1yPiZ;>+!bZJ30iCo~6AuF=^jbE7X|4S13$GdC;?^;k{QDNL}? zs(&wmJZ)IE0#XyIkbJRN+7{g^Hci{mbQ}vZzGA`^&K9RaPcJahzn}^2H_tR%Cbkf? z=4v_DAR5h}jXy8z)!ri89)cTt-{~^D_o7J5`VpnK(kG%Ihp=+-9#YLfWTFy=gwtiY z{|=qt3`pLu{5{TAhj@ikh;ZWKpH-v$dx`K>J6ymcJ(QUpc)Z)1{#DR*#yd8Byl$R5 zUeugJ7_Y4ZzB68j)pnMs&|l{)Jx_x0XC<*DJNXvK_PShE+tA*rPvTk{0oa0HZ2su= z3Clsc0(P=SEPI{}LEN?Kyu8(3WBhvUvsIoTUGfu~rJ`*T&oXFi%&-ZG{cXtda<3ODl5Gkhb5K zgU931wjwNCEjpQ}ILmc)D9jYb$#l<{1M6_ugSW9t6_tkh}Xcs@+(k zX|X>$WXQ69neEv~w#ENyV}%*Y^q^3JTjX@Yl{z3HB6S#JH{gqQ9dj6y=b0bMVscA) zBb4DJZJAR?BLa)wxGgg?($^|?MPFNHvC2gpztLaejQSAX5pzbx^=ho+%wW!hctQ;H zHOmb-nyQ~vLd>NSb9C+UkTrXLA~p4TFZDVR;7=5Nja^3PYOzlc>=`cDbv$bap-5X3 zJlWQ)6ZB!TE#l+}9MZE0*}b9(?;rQX0HoBzIheX^%?Cj`HeQuR>=m&N!AQ`~MKuVx zpqg26tZktnW^ubD>4xPZ{}f_iP~a}`+fW^O3w*V^z#n%P__ZwXLUjEFX6a#jL)pX{ zm%@Ufw+?ZQU+b>%C(Ifz)Yn1}3b>d-8@6S4p|3XkTGK8w2iT6|zMTQvk2?!&Tn=K$OF^$nc{ipO8Bvh|6c>%I1Uif`1#hw zPyv6g0RGZ15%3A7mrjZPPhfn{5D3yx0pBfvzfd%3sBV#Nx5tRl8Dab`2nm9zeH9r0 zbhh=s6T8Oq+EJTu^5Zdb3CLXoVd&6IF}v=Y=@m*yGn<#!3-RaX5)}P$fO$&l-6hx^ zYPHNxwv}8IH3Es0ky}g@u8?10%+MjB{TOIiiqv1g<1NA~6FVF3gE3z3p3{FpB$JN| z+e_V^e5n$Z6YGiu-et<&9FXd!mSJAMCu{Lx3e>b*-0nyg|Xe*!6 zoG%(}-AN(;E(2=oDhJfo-J_6`zlFT@h+32I38ZUd5@(bpA13LU+7wk|dn3UVf4 zbZb|O;PwPpZ!iLwDP~6Z`_Omk+o;l8Pe(rZR^3HCru|RYGVC2s zYU~L1r?GpWkH*gQyqB_WJQor0f;5X`JLwk9zsgOgy;1(nbh57#g`f$J`>`{2Cnx72 zlyg@3H@4WBek0o)={xB0tm={4n!{ZV$Yzu|TU;+t3+h(Rz*5wR*YxR>0q#s#5f@X& z>kQO|`l{tn&@WFb_^vFRu6CoGeP6=Ix69@PP#mqz-u{ziX4csrTjw7txI#rN_|v3n;Ak=sgf8u;Ctw5n)9xUgwONnWix8S|&EXBo1!_vh7A~ z`4D7avi?S=R6ZUqD|*(;WRv{-vMxEaJew3pqs)ZcEZz6j=y3Y{ix8- zh^7>%T+PYTxQNu_S_Msr29(2R78?!G!IRkd8U^T7QGiwHobP zCfu##@+&2op+`hsxLX67dzYEUe@p$e%K8?>iU*ffhy^2cF&*R7vs9XZLed+Qq0Yq6 zTxZM=tOhg~iu<>N6UWiKX0H)Ns3<_MUB1HEV!7FU_Ems7qlGYs#3_pCHbZ;Aib@~z zZZ_iBdbsM(e{dUxA{;|l^(S-6?PyA(hNk2hA~&GSPS=4td182E+*B}^uXlj0p75|j zcHEv;4aMjGj8+W`?l-w>Z1fv{M-9=xe#30fH@j{P!tfbpoucQyw8iQ}a{5Ts!g@uW zX4I5lk~&S$PiV$`Ru#g?S3zIalP*6qZ7oJ6%>90r>sL+gb)_W;Q9@cu=oQU$J_645 zRgVs&P!wU>RWuzdPVWA>NR)jL#>YiBWSt}Q-e8DA>H82@d!{V@O{|-U|H58C`l@pg zldr?o@#foWLBg-ceH2vJbBkd?LVCX-5q}W?gaaX#oLq%;6{)ZLJVh!C@|+G=k^0xv z)bqU5=Y4Xs0qXg8ImdB{1yV?)MmP26gWotQ|9X~b-GsMpGVXUHE;-7G0 zlTQ2XiTY3l#UZVTZoUnR6ElW9k>2G5*GTU}I1zUb%}y|fW?vtP3*0utk$6IEAFkK8 zAb*|Lk?RkGy`C@ z$6;3)BZ3zht{4xjp1NuPrKvF{7_xBzusVKm1sn!lWN+=gr=a(KMUv!HqTi!?VOVC( zvNP{bMag&M@ZYuRm4gh>VKeAr#hy>R%|Hpz#mXoy##UGKw6_HyB3CZy($C$rch{$%QAmjCpBYJJ8jKKOov0La1 zih(yy|9!ibFJ|KeRwfNnQn8{pC=91bJwh?QhpY!L14!^I<;2R95=mu0WY;q)PAR{= z_^&=mPU1E!<06Yy;Xkab4qxnJ*I72VkpnMtquJgaT)Qjk{y&e9rpD;MH*;~D%bQ5( zSK`NFjF`tk4ff^^=ZA7V`#LcrM!gb!^_XtWRVm1|ttgCsI=?^!Fgw zEZ*u}kbE&HS(+wNp1AU*yXIdxwE;c4zB-s)`R!QiNQD=h6nn$#Cp=u-O2 zID9AhW*E&TADJP??Jv)cm|1m4L3uZ1pA-X3X^-phx=G?mGFo)sU!0c+)JV|u^*BTu+6UY@(Dj!J=X_Gxwr(sTP)YH`6fcpD7Ls#>_#rycFCLX=V2IA$5%&dzp!KBu+Rw=sPs+I5 zRrpfYw=a)bdNhpM_x_Mv2o`SAxDj+Go-?7mQ}m5(YxB744wo0xP4{Ila}jGx9?pOY zc3BsA?}>k@ldVD7Cmbp4gb6+O;jy8Id>+l|B?mmGqa>53z>Xcx$;&8C>x=^6pUrZ1 z6v;tgIiVd7SzO4~+!)o@$ZeuS#itLN>W_rV{|ck#Otw*e_rmu`x;?1^I=c$z*Q0R1 zqz{!lF^6ztf!p`nXXD>~vi_9s1o^1qBM6Py{d z5w9}zYXLSxBfNLYILyEmM-HAi*792+o<-#8GI_A9lwYv{ z1+($`iRMldza|qEEpBht;k$<`1>*mPn`#`m$f3+x9J`Np=mKtl>C%?sgj5o6Nh%kS zN9v>7`QY)(WjmgaGuv#_i5Ai=fnj1yPocHmF0zl);2S-6!xDFCK z5b+%}QpS5d?t}%T>+#<#omwk>qB7k3nnfsM#|s=Yq`7JOyhT{>Q%nDiK1#+%nE*Jb z7Yazm=o`5IB~3j_ap{YE2bV{IpnRHavb9d(I^mNxNmAmfuu4IW= z59+R&$q~2(3PJ#m;KqSGIw<`W3Nl7Yif2BVuyb4NvxDn10VgR_NU^T^j8lc14yCL( zSd_ZjI9Qy_nR(KQH|bnA<0|cBR-riYo{1}xoK$&8+$@^wYe`q$Q(RZxlQCI&WLeVL zqVdutuDstV2b>%G;#Fe+Cf6RgDR7AFfD{nkPK(|mH{X{##nj~YvT()a;#672eI0po#w=4(CsXny-Ym?6g$^mN%cEHr@#5n&0sP%! z4uIVRM{5)IG1uM8$)NosFbZ*aR_RF&lzIMetbH|WTlb$^ zM+a<`o@A9j=n8*G&{n{)@6YM*wT=%_e^RDiKMrs>;K0MR;(G8R%)DRnuLx`>7lbeN zoE?l?A}}=EKA6*P)ly4tqZ`xj*{`5wFFxhv^4C~Wy~*#4boQn>QS($^BUnp zyeY=SJK1(DkZYOm)(FGFSw75^yF%~r{tomUmeLM;#RafXbL^bN&C&5Vrt^rtUBv>9 zi>3bU%pW&I7xTgKkn~4|D}L70g@%Pr-V0|50@#zqEu*8?iO;q1OvE2Ua61eHnhZ2h zh-75r)G-v(SNgKW?U(yRRS)q}ZcKM`7aH$na7y~ZOP*Zv8H`iPSYPuQK6wkwX)BqK zXAFvF>c9Hs=G{F@;c0`BGa253YKC{O9bUud9UcM>22O!&|5QPu9cgw<4b9^2(+Ori zZC}CwLNXnNl9A#{&XnFWwX}H)R=ReWq^_oGGq`MRaO6I`BP2zM{{TRL_hV;x^G4z0 zWJ;G$ib|IQ?klx2x=SR*j_yI@d9qZ={<4U_1Me?;?|wWP7eQJ*WcH`S2==WnZzA*G z?7L<)wKT`8XBE$m&MpoYRnIQTEiBHhiq(W;MMXu?{HkzKq`I&qKb9LVDw$oBH>=O) zPj;FAaU-&WM3na)sifDn3mfaqtC`7d5F4bF$2Qpqr0o`n_uA-4dHcX3Z76_zzX17U zEsx5EGW8m9HFrKIExc?9qG$AwJdGDJDiGGk>R&@?{M=nUxfR;?bK_rjnmCf~f+nyo zj>j!vK);HtVGE&VfZ=yJ6R#8T<}`fmm|{J{J*mfjyfkgVUnvcn6ZsqNU;XE@&@Gfypdw`*KIdZSO zO9~?Y$*ngj%g894p;xO_(i43P7o|~pN**HMv~`1wM25=}Vf~$|b1Y8-LV~uR@lQXU zA;v?)_3A~o<>MHl2Z@lrtqld|t=tK+-Qkfn0qW~GS_p7u;35~OX9`e1#bU`T7L$JI zOWI*baLG}@!zJ5Tbv?>ki595nax75g0;K@;GnqhMqm z|0o7=uYSO_fHPSHdaNC}$%bAIS>#im@9E^#5&{X-=riYnbclc}496n!Q4u9z-;3P!iGO4hW2T<2jYhs?H~>yeUo4gPa%o-B%~vQAC< z32vSBZJ^SzpbvFE#AUYBImfNDp37tzdJK5|p}iHc9+S*ojhYXpFB%4LXL0~pnfeGE z`;BQi#TnkhjuI0~Hj`bLW)2VigmkY_#Wiv!k1@I`OuzMk zZSr_(gZ)K&4?6|fuHr@{>tIRfy^4p~HgULI$X%K6?Ph_gd1J!h z%;?-yH17z5j&^7N*c(FITcvR+^pa;G3?D&4+yk!AhJ#%LaEStw^)ifkp?LoH0**4LKK0djaWd$bES@2O68_ z4-HBCx3JnySna1!vrbqozn0aW1~tR{LBHJ^_a87$SmX%qI*fY2to&nP_D1p7Ut26E z{T>GdqqO+2?v!Q!sgmu!HMY5n_c_GG%E)R{dM=ip>%h5 zHgEy89e?}Z&Zci3mDLPn%twGc2k+M-R~k@$u0|$pjz+fc)reYmc%VMAFzUPG@ZaO_ zvbMglCGH#E6rESw9FI0t)e0o|nZN{S+ z)6-KU)$!Vf`bwMWwVpYn-$FIf#=3?!&Q$B=94(%;ZNH^rE%k1j96%1=apPqw7e{O7 z&5w`Ry5FLFs=hfEZ5p{%zuC?4$b#soUHZ+7)YMcih_+QOu8q&HjJ4F&$@rqp&7)@x zrFhCH#%$AXg_>wxG#-^tjO`z)ZUJ}B#$|b}MCxnCkMtr<(RfQ!{e*og57{@I+Z=7G ziB=xg+)$ra6U_^MH%dZnq^@>Jv}wjZ2hP}k#-0bx2IXMT^)mBIMCpe=eFLy?y+5Ge^W=h!a zMWYKU8ylKy1y|&I1+$Ba3nO{eMO8&5c?HqA6N`HFzR(;v7tR$^f+7yvnq5;^lwVRE3l{*b*xW65rnv$+ zEf!YXe7V5IKQg6FfT8^aPC$I4f*4Fd1)Z8Y*-X+iq$nNrrGL} z7@D){lB(ipxT-3@c<$s)8B?sNpfbkNt)%^UGtJfH&Cbh@71!iOV?~8kHHCAhY&v3a zW*?mwZKAbkK|w)rbwPD;bs-a0ls|XtZ+j3bG>7zs<`_M%z(gve^);0yL1Uf?O7iAT+jr=& zD0G`k!Qg0dWOhk$Q6!pIm0J_ei_G2jM?-Ee&m{w1bE!xfiO#NJaB-t7_uBeJ(4Csfcw1vsFsVA4TM)^cT^K2;iAHnt=FX_0#iDQ@5@Rh*a?Hx_ zLtk=oYN9!Ao=}#&-d~C2hiB)N6j$X(W=Cs^i|1~)Td#hn5|(gYthP0kE>%}o=jWA_ zM2f4T;iAIa=-iot?!BmLIB!28pH2I=EUaRY^zOp!Fr=g)9ATzQ3iAr{=5Ak08=DI^ zp-V!#F^U1E1wy-ui=#rmatp#$b9dPEmDNynShPA0PiBeHWO07UY*tl%G|IZKDGblu zac*A-48T{4W%)Np50}}VomY^@AwgkvNw~TIJpYCPLY|rJ#nEV`wJpjyI2zr(4jY-& zi5Bvklj9bcSJzO5;Zx3@=GT^G;)}sfsmG^ks*0)$Y5+iCB$^wo$)CGZ4n5At$||q6 zA$7L%>!U(%W4R^alG(9nK~*7iX?EV+o%1L^JJG3dp=r4?R@>AZ=dUn|nyUQj+`PQP zSY&o}Nl7?w?k;;!r@$ibfvKH0T+qeR)?7tO9> z-GuiP_}J;5vHu=3(qLpK7>MNLd^cLvGA{){;i_m&UO|3!O?6?cI)8S_+`L?ANNNZO z^EpP!=gg;=aAiwT0U#}iG4-=^b8Fx%(VA#@ZhlE>joEuNG%bw85tqZTVBt>ikR~Ja zL=hyaYI4Dws-oGsv-9T`eAla)#@mW4Z$nUQLTs+DiMFP4H&Cz&Mq3n}9W9KNgd=kc z(|TNZa8qqOI(xDFt+Ysx7mY=#Yf1`B@~TP-3u}t!7R~g&D`PA)Wf>Xm=0$SzVpX|J zF-vJ~@rAxbL5{-0c?C614UKfEvat@cw1li?(a#=@xG8`p^_7=}C3Rf59NArrq)rGTT;hNcVOWsZEVP0-w zpB_qo+_i1Z_Hw@6&?<>FZS|%D7CU-zfvOocd10h!L9_`86jDR!KFL^RO5aRFu3Ty> zvgbhL0^{~TSW4-GYmJz5K)eZA&(t-;7nzFBm{iM(?2wD2C3&%$!s^^uRZ0H;>*l(i z+(^zl=gPK%Rlc&{U8M&-$R!iiIVf1--L))AIv-7*bjnaq_w+7&yNfljAi0jREyhju*DZw!ax;%zjCS zv6wc&+f7Mp_`5Q^lk&^OWbNK$PrA66F7wNi$-qwN>{Mbo92tfwOW$?Ia=;4D!@DR_ zxOF=_G_yl1!K-__SRq9%I&jz}4&l)`md;rxaP3>paQaLV;Tv8Wk4?)*7~36e{ZTiJ zFmt9`WWboYD&G01uh17DfpsqpIAOu6B4Y?ZV>>X$bgu8oI}LTE>!O9-uO+9KP|Rn*rHHtR>sr z-;Vb_+|}dr;#;15%MF^CT~H9d3m%{6IR5qX6x@G$h`)|#`I&7|i2(qVkSqWy!uu$I z^mBb+*W9f8L*Snd>tGqGIiy!@%Y`s3hnobAc6#Gwb~0NYP7fB9zH%u=$DM48V%h*O zzW*ND3~+Y?swR^U#>GL8^={1}ADoXv^yt@a5ULw~11lf|K--ims;4y0vH)~Eg8GH2 z%i@Z4(M0QY$w;Fg_^RoY%2Y`EqFz2oKwxL^P!CYHK07-flN~U-h;!c}c;mvT5}w!8 zvIa-!3B3rx<(g`M)~xDfad@(jE$YHi^3s;@O*hd@sd|tf2zq8qB^d+99=E6r~L72mbM+f3jg5-LP7iX;~ zrvwM6%vM1Eis7YAPM~>T0A|Pov{fxDkdwG%u^=a=7(Pp?YaSCyD*C`^dj?TDTo!nc*(<)zebp<->Bj8zytunln@QF{MjnU(bbr)~lOm^e< zIL3|7%?{~dO1GlTm~-&}S}c5$La6K6W#4X%dv77~BlT z^(>S_n!s=Ls2*#LQ?F!X87iog9*X9tUZV#i2}+hD!v=Sq6gf=4vbzs>ha0dsI{h?B z4n*KDL|D#yucCSv+|HI$2-@@M5)vwu&w8JQu?z&=Iq*;jS2n~A61nK7|1=OW8>Mm5 zX^$VyS$6Z62I9;LiFVZ?zHq(XePS|jhHV|LgRs&VFWHnIC#^LerseneEYhK zi^V4~_hgo)EexoPSL>h&zKoto3za4@%6yt>7NE%u1Fam^_Rw$>fie2Y1g_5P4Cwc{ zF3odnf!@bac!-eWOWE^Ux-SO4$Gn19uTmminz_i4ibVL9$3aihVI_oBtV6Daju>A4 z{8N|+LV1q}zEp|t9@5xjiWFATVs<*XJD`jS`2yTFdhM+XNB>K*!2iF6s5E3h!`cK@ zP30_Au`y~Fj{m2he;?6D>cf|o0Tzq(S17GC=a-gUhP-EUE~(KSB2z)3s8qUg!!>7s+V zfUYHSoF{?ML2E>63QNL4HM)*Mql`;rX6ViE%qr+8!dnDZ26q(FGos=d#s1x9eyiCA zdpX09F_eQ?4Fd~G(CUhMY;F}2YT-gU(ScKkyC1QM*#XiaT6@im@CvVCAg3A?!?*hfwRXdk1)3sODG$FF#}u!0fEauSagH7a zTsC-pu$V1Ze8B(H?mkL7roc^H!9QKj+N1O7f-*gIof6!j;!-Cegn;gS=jJev*M-}D z9@Dcq6(Aw$(?m7C}yA16SO2Z5uw@+(sXIJiVGB9%WKmvIO_FLs^Fh$&lf5%>k`h4<$#7 zz4^9+$*q`g^zq~s_GP0tZi#yZ<`Y0RBvd6lAawYALssXLc@p1NHo?A&vxOWxp5O_E z?{6+*1J=l`XTwqW17q#Z842flExIJ%O8C+VH6uvQiiaO)9+p#q>;;6CY$fidD=d7W zc^_?Xzd7xE-up_gCg6LKP_5v2$F$Orm%|S>cc?4c3`NqdJ?_p9=Xoi16&L(p4b%oG zGeSnrG&jT>x*Ql=Hpo$4SSw;K;fIJ*r$pFl%ImZIPz6JmyFP2Ws25m5R7R~6?2e=~ zME)ObsP@5*2|fS{s;lD30j%%a^n>Er&3vCG{tD-D*E=;WoNd^J3MCMr^d|gRGjelj zgS!;^b9yNdOj*Q2byGR~MDs*cHlt`^h5*?)iL9l$ z6k4~wHQ^`gW#443K}X%m4mcbaG?H9F+?KjPJ5rvjte1`wYPBHL!cu8r82ch1cK=lK z?)AZ;!Hhs5uw5q2x|+{(~`%TUHNbc~{e&XV+upMN4pX|{z1 zc;u`_{anYT%C2SM7oN;Rwq{afR**)iatm%U_u&^SSlF>Du4V`oUlIy5PQu-@67dxCYt7@RM94gFjj$|Wsi3$# z{Q5(aaFI+ReMl6)GV&3^Z#3`1JTIg?E}n_YS*luCU+8j<2tdUyWsbcNNukQcxR~)1 zc`y8Cb5(xhOsBjy8S*D05D&jq*FxD|;Q~Fw0T^eQksck^&ecWW_AMv5-ysouqfH6F z-8@mTA9)NlktqY#TZ{Un@H@@NuyBuHevOdgZn`CW*-F($VLR-N48Pla{A#Cfw`T*l z#Tki(?%+u>6DHD|-|JVp#^y&aG{L#?Pz0P;E`#W_;rGAzR|Vx;fAG+=?Y&_P00Ekr zR@SiahZR$eZ6ZaqgL7D)pqGnjHwRBSG+j~!RWogysEXW$KWY|O{U;{Gqri|*;PepH zUOnujgb5OsI+TVo*8w86;g4Twu(bkqGg#0YjZZ&{9BB41d#*nzG%s zU>8&A-(NYL&&h2`0tX=HE*n5Ks6^p!n>kwdU>SkM?iY2{EvsXs_aP>eO9qX)x(aoB zG;k}{{8LFA3T}ODTdV}<9=;i4;qRI%^+DmQY2(V>@16KMMpT@UTrnDhqgQ+&TaX&d z+nhR7{c6^F)cmyJ@0-t(?)aJwMjmv;2|-xEg$>gl=2w(1{6od?($po{f?WM&psxv> z+&HOKBle=23Pq>Zq7>LG2p*}`;U6Cwauo`8TCX8hLh8nW4*ztuM{}-F_=>`koU#$h zhktH9M@#8@b@)|n>z%WBHcL1)>+QPAp5mKlxCcJ+z!Ffhc=(s*Gq2e|hW&&FR4gE` z!}~Ita`wMoZBb!KN{iS=QY8HB9R96OF&1A$dJ1b`F(r-XY<9Ag$KA2PpL9y)kie8S zD#|g?GGph$zdx+qvYtbM7mpaES-hc>Ws73D|9DutbbN~EnF1{q4ztWHhRkC4&*m#I z7#lwM(uz`L@?DA){Xhr1(Dw7yXR@ diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm index 68e31db36f9bf2576920919ee2b4232b00ce8774..e449bc494d6252d04a3a78fb8b8ac31d448f8d82 100755 GIT binary patch delta 41613 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

Fn%M^S-b~o@X1jL^xYXoW7VOVLy2&<^ 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 N_px~9;yD%1{|2#FIvfB1 literal 347821 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 Y`czLmmMi`91oOAPehwP_3LwS*0fu?rqW}N^ diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.lock b/runtime/near-wallet-contract/wallet-contract/Cargo.lock new file mode 100644 index 00000000000..7184a20c2ae --- /dev/null +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.lock @@ -0,0 +1,1529 @@ +# 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" + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.11", + "once_cell", + "version_check", +] + +[[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 = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "borsh" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +dependencies = [ + "borsh-derive", + "hashbrown 0.11.2", +] + +[[package]] +name = "borsh-derive" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytesize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[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.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +dependencies = [ + "libc", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[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 = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common", +] + +[[package]] +name = "dyn-clone" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" + +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[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.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "iana-time-zone" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +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 = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[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 = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + +[[package]] +name = "near-abi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "885db39b08518fa700b73fa2214e8adbbfba316ba82dd510f50519173eadaf73" +dependencies = [ + "borsh", + "schemars", + "semver", + "serde", +] + +[[package]] +name = "near-account-id" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d258582a1878e6db67400b0504a5099db85718d22c2e07f747fe1706ae7150" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e75673d69fd7365508f3d32483669fe45b03bfb34e4d9363e90adae9dfb416c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "near-account-id", + "once_cell", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad1a9a1640539c81f065425c31bffcfbf6b31ef1aeaade59ce905f5df6ac860" +dependencies = [ + "borsh", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "once_cell", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "serde", + "serde_json", + "smart-default", + "strum", + "thiserror", +] + +[[package]] +name = "near-primitives-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91d508f0fc340f6461e4e256417685720d3c4c00bb5a939b105160e49137caba" +dependencies = [ + "base64 0.11.0", + "borsh", + "bs58", + "derive_more", + "near-account-id", + "num-rational", + "serde", + "sha2 0.10.8", + "strum", +] + +[[package]] +name = "near-rpc-error-core" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ee0b41c75ef859c193a8ff1dadfa0c8207bc0ac447cc22259721ad769a1408" +dependencies = [ + "quote", + "serde", + "syn 1.0.109", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e837bd4bacd807073ec5ceb85708da7f721b46a4c2a978de86027fb0034ce31" +dependencies = [ + "near-rpc-error-core", + "serde", + "syn 1.0.109", +] + +[[package]] +name = "near-sdk" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15eb3de2defe3626260cc209a6cdb985c6b27b0bd4619fad97dcfae002c3c5bd" +dependencies = [ + "base64 0.13.1", + "borsh", + "bs58", + "near-abi", + "near-crypto", + "near-primitives", + "near-primitives-core", + "near-sdk-macros", + "near-sys", + "near-vm-logic", + "once_cell", + "schemars", + "serde", + "serde_json", + "wee_alloc", +] + +[[package]] +name = "near-sdk-macros" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4907affc9f5ed559456509188ff0024f1f2099c0830e6bdb66eb61d5b75912c0" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "near-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397688591acf8d3ebf2c2485ba32d4b24fc10aad5334e3ad8ec0b7179bfdf06b" + +[[package]] +name = "near-vm-errors" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0da466a30f0446639cbd788c30865086fac3e8dcb07a79e51d2b0775ed4261e" +dependencies = [ + "borsh", + "near-account-id", + "near-rpc-error-macro", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b534828419bacbf1f7b11ef7b00420f248c548c485d3f0cfda8bb6931152f2" +dependencies = [ + "base64 0.13.1", + "borsh", + "bs58", + "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", + "near-primitives-core", + "near-vm-errors", + "ripemd", + "serde", + "sha2 0.10.8", + "sha3", + "zeropool-bn", +] + +[[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-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.4", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[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", +] + +[[package]] +name = "proc-macro2" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[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 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.11", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + +[[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.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73" +dependencies = [ + "rustc-hex", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "schemars" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", +] + +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" + +[[package]] +name = "serde" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "serde_json" +version = "1.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if 1.0.0", + "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 = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[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.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[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 = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wallet-contract" +version = "0.1.0" +dependencies = [ + "hex", + "near-sdk", + "rlp", + "serde_json", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[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.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" + +[[package]] +name = "wee_alloc" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "memory_units", + "winapi", +] + +[[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-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[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_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[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_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[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_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff" +dependencies = [ + "memchr", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +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.39", +] + +[[package]] +name = "zeropool-bn" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e61de68ede9ffdd69c01664f65a178c5188b73f78faa21f0936016a888ff7c" +dependencies = [ + "borsh", + "byteorder", + "crunchy", + "lazy_static", + "rand 0.8.5", + "rustc-hex", +] diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.toml b/runtime/near-wallet-contract/wallet-contract/Cargo.toml index 46d3bcc4a17..8ae8611bb4a 100644 --- a/runtime/near-wallet-contract/wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.toml @@ -1,25 +1,32 @@ [package] name = "wallet-contract" -version.workspace = true -authors.workspace = true -edition.workspace = true -rust-version.workspace = true -description = "A placeholder implementation of the Wallet Contract." -repository.workspace = true -license.workspace = true +version = "0.1.0" publish = false - -[lints] -workspace = true +edition = "2021" [lib] crate-type = ["cdylib"] [dependencies] -hex.workspace = true -serde_json.workspace = true -near-sdk.workspace = true -rlp.workspace = true +hex = "0.4.2" +serde_json = "1.0.68" +near-sdk = "4.1.1" +rlp = "0.4.6" + +[profile.release] +codegen-units = 1 +# Tell `rustc` to optimize for small code size. +opt-level = "z" +strip = true +lto = true +debug = false +panic = "abort" +rpath = false +debug-assertions = false +incremental = false + +[workspace] +members = [] [features] nightly = [] diff --git a/runtime/runtime/Cargo.toml b/runtime/runtime/Cargo.toml index d945d11477b..85fe455b946 100644 --- a/runtime/runtime/Cargo.toml +++ b/runtime/runtime/Cargo.toml @@ -44,6 +44,7 @@ nightly = [ "near-primitives/nightly", "near-store/nightly", "near-vm-runner/nightly", + "near-wallet-contract/nightly", ] default = [] nightly_protocol = [ @@ -53,6 +54,7 @@ nightly_protocol = [ "near-primitives/nightly_protocol", "near-store/nightly_protocol", "near-vm-runner/nightly_protocol", + "near-wallet-contract/nightly_protocol", ] no_cpu_compatibility_checks = ["near-vm-runner/no_cpu_compatibility_checks"] diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 1ed6751725d..86ce2a6db37 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -41,16 +41,19 @@ use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; use near_wallet_contract::wallet_contract; -/// Returns `ContractCode` for the given `account` (if exists) or returns `StorageError`. +/// Returns `ContractCode` (if exists) for the given `account` or returns `StorageError`. /// For ETH-implicit accounts returns `Wallet Contract` implementation that it is a part /// of the protocol and it's cached in memory. fn get_contract_code( runtime_ext: &RuntimeExt, account: &Account, + protocol_version: ProtocolVersion, ) -> Result, StorageError> { let account_id = runtime_ext.account_id(); let code_hash = account.code_hash(); - if account_id.get_account_type() == AccountType::EthImplicitAccount { + if checked_feature!("stable", EthImplicitAccounts, protocol_version) + && account_id.get_account_type() == AccountType::EthImplicitAccount + { let contract = wallet_contract(); debug_assert!(code_hash == *contract.hash()); return Ok(Some(contract.clone())); @@ -74,7 +77,8 @@ pub(crate) fn execute_function_call( ) -> Result { let account_id = runtime_ext.account_id(); tracing::debug!(target: "runtime", %account_id, "Calling the contract"); - let code = match get_contract_code(&runtime_ext, account) { + let code = match get_contract_code(&runtime_ext, account, apply_state.current_protocol_version) + { Ok(Some(code)) => code, Ok(None) => { let error = FunctionCallError::CompilationError(CompilationError::CodeDoesNotExist { @@ -765,7 +769,7 @@ fn receipt_required_gas(apply_state: &ApplyState, receipt: &Receipt) -> Result Date: Fri, 8 Dec 2023 17:26:20 +0100 Subject: [PATCH 06/17] Do not commit auto-generated wasm files --- .../tests/client/features/delegate_action.rs | 1 + runtime/near-wallet-contract/res/.gitignore | 1 + .../res/nightly_wallet_contract.wasm | Bin 90868 -> 0 bytes .../res/wallet_contract.wasm | Bin 90868 -> 0 bytes runtime/near-wallet-contract/src/lib.rs | 15 ++++++--------- 5 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 runtime/near-wallet-contract/res/.gitignore delete mode 100755 runtime/near-wallet-contract/res/nightly_wallet_contract.wasm delete mode 100755 runtime/near-wallet-contract/res/wallet_contract.wasm diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index 3939aa1ce23..eb66ef485e9 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -953,6 +953,7 @@ fn meta_tx_create_eth_implicit_account() { meta_tx_create_implicit_account(eth_implicit_test_account()); } +// TODO(eth-implicit) Remove this test and replace it with tests that directly call the `Wallet Contract` when it is ready. /// Creating an ETH-implicit account with meta-transaction, then attempting to use it with another meta-transaction. /// /// Depending on `rlp_transaction` blob that is sent to the `Wallet Contract` diff --git a/runtime/near-wallet-contract/res/.gitignore b/runtime/near-wallet-contract/res/.gitignore new file mode 100644 index 00000000000..917660a3481 --- /dev/null +++ b/runtime/near-wallet-contract/res/.gitignore @@ -0,0 +1 @@ +*.wasm \ No newline at end of file diff --git a/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm b/runtime/near-wallet-contract/res/nightly_wallet_contract.wasm deleted file mode 100755 index fe6c39c36b180dd8cb4548c6202b6b1572987fa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90868 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 F{|8|;4{!hg diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm deleted file mode 100755 index e449bc494d6252d04a3a78fb8b8ac31d448f8d82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90868 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 diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index 103d4d4f66a..a2d6d4869c3 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -7,14 +7,12 @@ use std::path::Path; /// Temporary (placeholder) Wallet Contract. Read from file once, then cache in memory. pub fn wallet_contract() -> &'static ContractCode { static CONTRACT: OnceCell = OnceCell::new(); - CONTRACT.get_or_init(|| read_contract("wallet_contract.wasm")) -} - -/// Temporary (placeholder) Wallet Contract that has access to all host functions from -/// the nightly protocol. Read from file once, then cache in memory. -pub fn nightly_wallet_contract() -> &'static ContractCode { - static CONTRACT: OnceCell = OnceCell::new(); - CONTRACT.get_or_init(|| read_contract("nightly_wallet_contract.wasm")) + let file_name = if cfg!(feature = "nightly") { + "nightly_wallet_contract.wasm" + } else { + "wallet_contract.wasm" + }; + CONTRACT.get_or_init(|| read_contract(file_name)) } /// Read given wasm file or panic if unable to. @@ -31,5 +29,4 @@ fn read_contract(file_name: &str) -> ContractCode { #[test] fn smoke_test() { assert!(!wallet_contract().code().is_empty()); - assert!(!nightly_wallet_contract().code().is_empty()); } From 8d2666531cfa1e90188335bd144f2cb438602e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Wed, 13 Dec 2023 17:10:59 +0100 Subject: [PATCH 07/17] Remove nightly_wallet_contract. Precompile Wallet Contract. --- integration-tests/Cargo.toml | 2 - runtime/near-wallet-contract/Cargo.toml | 9 ----- runtime/near-wallet-contract/build.rs | 40 +++++++++---------- runtime/near-wallet-contract/src/lib.rs | 7 +--- .../wallet-contract/Cargo.toml | 3 -- runtime/runtime/Cargo.toml | 2 - runtime/runtime/src/actions.rs | 21 +++++++--- runtime/runtime/src/lib.rs | 1 + 8 files changed, 37 insertions(+), 48 deletions(-) diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 45cf62e42e8..254e0b49f4f 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -107,7 +107,6 @@ nightly = [ "near-telemetry/nightly", "near-undo-block/nightly", "near-vm-runner/nightly", - "near-wallet-contract/nightly", "nearcore/nightly", "node-runtime/nightly", "testlib/nightly", @@ -133,7 +132,6 @@ nightly_protocol = [ "near-telemetry/nightly_protocol", "near-undo-block/nightly_protocol", "near-vm-runner/nightly_protocol", - "near-wallet-contract/nightly_protocol", "nearcore/nightly_protocol", "node-runtime/nightly_protocol", "testlib/nightly_protocol", diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index 62c5aa2bf44..374350e879e 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -18,12 +18,3 @@ once_cell.workspace = true wat.workspace = true wasm-encoder.workspace = true wasm-smith.workspace = true - -[features] -nightly_protocol = [ - "near-vm-runner/nightly_protocol", -] -nightly = [ - "nightly_protocol", - "near-vm-runner/nightly", -] diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 94559c185c5..9e2d26ed976 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -1,38 +1,42 @@ -use std::process::Command; +/// This file is run as a part of `cargo build` process and it builds the `Wallet Contract`. +/// The generated WASM file is put to the `./res` directory. +use std::path::{Path, PathBuf}; +use std::process::{exit, Command}; type Error = Box; fn main() { - if let Err(err) = try_main() { + build_contract("./wallet-contract", &[], "wallet_contract").unwrap_or_else(|err| { eprintln!("{}", err); - std::process::exit(1); - } -} - -fn try_main() -> Result<(), Error> { - build_contract("./wallet-contract", &[], "wallet_contract")?; - build_contract("./wallet-contract", &["--features", "nightly"], "nightly_wallet_contract")?; - Ok(()) + exit(1); + }); } fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<(), Error> { - let target_dir = out_dir(); - + let target_dir: PathBuf = std::env::var("OUT_DIR").unwrap().into(); + // We place the build artifacts in `target_dir` (workspace's build directory). let mut cmd = cargo_build_cmd(&target_dir); cmd.args(args); cmd.current_dir(dir); check_status(cmd)?; - let src = - target_dir.join(format!("wasm32-unknown-unknown/release/{}.wasm", dir.replace('-', "_"))); - std::fs::copy(&src, format!("./res/{}.wasm", output)) + let build_artifact_path = + format!("wasm32-unknown-unknown/release/{}.wasm", dir.replace('-', "_")); + let src = target_dir.join(build_artifact_path); + let wasm_target_path = format!("./res/{}.wasm", output); + std::fs::copy(&src, wasm_target_path) .map_err(|err| format!("failed to copy `{}`: {}", src.display(), err))?; println!("cargo:rerun-if-changed=./{}/src/lib.rs", dir); println!("cargo:rerun-if-changed=./{}/Cargo.toml", dir); Ok(()) } -fn cargo_build_cmd(target_dir: &std::path::Path) -> Command { +/// Creates `cargo build` command to compile the WASM file. +/// Note that we are in `build.rs` file, so this will be called as a part +/// of the global `cargo build` process that already has some flags set. +/// `env_remove` invocations will remove these flags from the nested `cargo build` +/// process, to avoid unexpected behaviors due to the workspace configurations. +fn cargo_build_cmd(target_dir: &Path) -> Command { let mut res = Command::new("cargo"); res.env_remove("CARGO_BUILD_RUSTFLAGS"); @@ -59,7 +63,3 @@ fn check_status(mut cmd: Command) -> Result<(), Error> { }) .map_err(Error::from) } - -fn out_dir() -> std::path::PathBuf { - std::env::var("OUT_DIR").unwrap().into() -} diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index a2d6d4869c3..d20a3a66d85 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -7,12 +7,7 @@ use std::path::Path; /// Temporary (placeholder) Wallet Contract. Read from file once, then cache in memory. pub fn wallet_contract() -> &'static ContractCode { static CONTRACT: OnceCell = OnceCell::new(); - let file_name = if cfg!(feature = "nightly") { - "nightly_wallet_contract.wasm" - } else { - "wallet_contract.wasm" - }; - CONTRACT.get_or_init(|| read_contract(file_name)) + CONTRACT.get_or_init(|| read_contract("wallet_contract.wasm")) } /// Read given wasm file or panic if unable to. diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.toml b/runtime/near-wallet-contract/wallet-contract/Cargo.toml index 8ae8611bb4a..a52e0ae7e7a 100644 --- a/runtime/near-wallet-contract/wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.toml @@ -27,6 +27,3 @@ incremental = false [workspace] members = [] - -[features] -nightly = [] diff --git a/runtime/runtime/Cargo.toml b/runtime/runtime/Cargo.toml index 85fe455b946..d945d11477b 100644 --- a/runtime/runtime/Cargo.toml +++ b/runtime/runtime/Cargo.toml @@ -44,7 +44,6 @@ nightly = [ "near-primitives/nightly", "near-store/nightly", "near-vm-runner/nightly", - "near-wallet-contract/nightly", ] default = [] nightly_protocol = [ @@ -54,7 +53,6 @@ nightly_protocol = [ "near-primitives/nightly_protocol", "near-store/nightly_protocol", "near-vm-runner/nightly_protocol", - "near-wallet-contract/nightly_protocol", ] no_cpu_compatibility_checks = ["near-vm-runner/no_cpu_compatibility_checks"] diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 86ce2a6db37..3204b33941f 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -454,6 +454,7 @@ pub(crate) fn action_create_account( /// Can only be used for implicit accounts. pub(crate) fn action_implicit_account_creation_transfer( state_update: &mut TrieUpdate, + apply_state: &ApplyState, fee_config: &RuntimeFeesConfig, account: &mut Option, actor_id: &mut AccountId, @@ -500,13 +501,21 @@ pub(crate) fn action_implicit_account_creation_transfer( let storage_usage = fee_config.storage_usage_config.num_bytes_account + fee_config.storage_usage_config.num_extra_bytes_record; + let wallet_contract = wallet_contract(); + // We do not literally deploy `Wallet Contract`, just store a reference to the contract. - *account = Some(Account::new( - transfer.deposit, - 0, - *wallet_contract().hash(), - storage_usage, - )); + *account = + Some(Account::new(transfer.deposit, 0, *wallet_contract.hash(), storage_usage)); + + // Precompile the contract and store result (compiled code or error) in the database. + // Note this contract is shared among ETH-implicit accounts and `precompile_contract` + // is a no-op if the contract was already compiled. + precompile_contract( + &wallet_contract, + &apply_state.config.wasm_config, + apply_state.cache.as_deref(), + ) + .ok(); } else { // This panic is unreachable as this is an implicit account creation transfer. // `check_account_existence` would fail because in this protocol version `account_is_implicit` diff --git a/runtime/runtime/src/lib.rs b/runtime/runtime/src/lib.rs index f63983fbcbb..737e7c2803f 100644 --- a/runtime/runtime/src/lib.rs +++ b/runtime/runtime/src/lib.rs @@ -382,6 +382,7 @@ impl Runtime { debug_assert!(!is_refund); action_implicit_account_creation_transfer( state_update, + apply_state, &apply_state.config.fees, account, actor_id, From 9996fe644bc0de922f0c3e6ada0ef38feb904098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Wed, 13 Dec 2023 17:39:16 +0100 Subject: [PATCH 08/17] Use Arc for WalletContract --- Cargo.lock | 3 --- integration-tests/Cargo.toml | 2 ++ runtime/near-wallet-contract/Cargo.toml | 12 +++++++++--- runtime/near-wallet-contract/src/lib.rs | 7 ++++--- runtime/runtime/Cargo.toml | 3 ++- runtime/runtime/src/actions.rs | 8 +++++--- 6 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ed207a52c76..436927871b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4671,9 +4671,6 @@ version = "0.0.0" dependencies = [ "near-vm-runner", "once_cell", - "wasm-encoder 0.27.0", - "wasm-smith", - "wat", ] [[package]] diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 254e0b49f4f..45cf62e42e8 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -107,6 +107,7 @@ nightly = [ "near-telemetry/nightly", "near-undo-block/nightly", "near-vm-runner/nightly", + "near-wallet-contract/nightly", "nearcore/nightly", "node-runtime/nightly", "testlib/nightly", @@ -132,6 +133,7 @@ nightly_protocol = [ "near-telemetry/nightly_protocol", "near-undo-block/nightly_protocol", "near-vm-runner/nightly_protocol", + "near-wallet-contract/nightly_protocol", "nearcore/nightly_protocol", "node-runtime/nightly_protocol", "testlib/nightly_protocol", diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index 374350e879e..9cfd5978ad1 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -15,6 +15,12 @@ workspace = true [dependencies] near-vm-runner.workspace = true once_cell.workspace = true -wat.workspace = true -wasm-encoder.workspace = true -wasm-smith.workspace = true + +[features] +nightly_protocol = [ + "near-vm-runner/nightly_protocol", +] +nightly = [ + "nightly_protocol", + "near-vm-runner/nightly", +] diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index d20a3a66d85..0d32383ca99 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -3,11 +3,12 @@ use near_vm_runner::ContractCode; use once_cell::sync::OnceCell; use std::path::Path; +use std::sync::Arc; /// Temporary (placeholder) Wallet Contract. Read from file once, then cache in memory. -pub fn wallet_contract() -> &'static ContractCode { - static CONTRACT: OnceCell = OnceCell::new(); - CONTRACT.get_or_init(|| read_contract("wallet_contract.wasm")) +pub fn wallet_contract() -> Arc { + static CONTRACT: OnceCell> = OnceCell::new(); + CONTRACT.get_or_init(|| Arc::new(read_contract("wallet_contract.wasm"))).clone() } /// Read given wasm file or panic if unable to. diff --git a/runtime/runtime/Cargo.toml b/runtime/runtime/Cargo.toml index d945d11477b..a0c185b410e 100644 --- a/runtime/runtime/Cargo.toml +++ b/runtime/runtime/Cargo.toml @@ -44,6 +44,7 @@ nightly = [ "near-primitives/nightly", "near-store/nightly", "near-vm-runner/nightly", + "near-wallet-contract/nightly", ] default = [] nightly_protocol = [ @@ -53,6 +54,7 @@ nightly_protocol = [ "near-primitives/nightly_protocol", "near-store/nightly_protocol", "near-vm-runner/nightly_protocol", + "near-wallet-contract/nightly_protocol", ] no_cpu_compatibility_checks = ["near-vm-runner/no_cpu_compatibility_checks"] @@ -74,5 +76,4 @@ tempfile.workspace = true near-chain-configs.workspace = true near-store = { workspace = true, features = ["test_features"] } near-test-contracts.workspace = true -near-wallet-contract.workspace = true testlib.workspace = true diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 3204b33941f..60fa09419d8 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -41,6 +41,8 @@ use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; use near_wallet_contract::wallet_contract; +use std::sync::Arc; + /// Returns `ContractCode` (if exists) for the given `account` or returns `StorageError`. /// For ETH-implicit accounts returns `Wallet Contract` implementation that it is a part /// of the protocol and it's cached in memory. @@ -48,7 +50,7 @@ fn get_contract_code( runtime_ext: &RuntimeExt, account: &Account, protocol_version: ProtocolVersion, -) -> Result, StorageError> { +) -> Result>, StorageError> { let account_id = runtime_ext.account_id(); let code_hash = account.code_hash(); if checked_feature!("stable", EthImplicitAccounts, protocol_version) @@ -56,9 +58,9 @@ fn get_contract_code( { let contract = wallet_contract(); debug_assert!(code_hash == *contract.hash()); - return Ok(Some(contract.clone())); + return Ok(Some(contract)); } - runtime_ext.get_code(code_hash) + runtime_ext.get_code(code_hash).map(|option| option.map(Arc::new)) } /// Runs given function call with given context / apply state. From 41b889ed9b0a89f99b975d7fb7c5908148029909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Wed, 13 Dec 2023 19:21:31 +0100 Subject: [PATCH 09/17] Include WASM file content directly in the binary at compile time. --- Cargo.lock | 2 +- runtime/near-vm-runner/src/code.rs | 1 - runtime/near-wallet-contract/Cargo.toml | 4 +- runtime/near-wallet-contract/README.md | 2 +- runtime/near-wallet-contract/build.rs | 42 +++++++++---------- runtime/near-wallet-contract/src/lib.rs | 23 ++++------ .../wallet-contract/Cargo.toml | 1 + 7 files changed, 35 insertions(+), 40 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 436927871b1..c709c2700cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4669,8 +4669,8 @@ dependencies = [ name = "near-wallet-contract" version = "0.0.0" dependencies = [ + "anyhow", "near-vm-runner", - "once_cell", ] [[package]] diff --git a/runtime/near-vm-runner/src/code.rs b/runtime/near-vm-runner/src/code.rs index 73ca0dd294d..820457894be 100644 --- a/runtime/near-vm-runner/src/code.rs +++ b/runtime/near-vm-runner/src/code.rs @@ -1,6 +1,5 @@ use near_primitives_core::hash::{hash as sha256, CryptoHash}; -#[derive(Clone)] pub struct ContractCode { code: Vec, hash: CryptoHash, diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index 9cfd5978ad1..b5d48b57121 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -14,7 +14,9 @@ workspace = true [dependencies] near-vm-runner.workspace = true -once_cell.workspace = true + +[build-dependencies] +anyhow.workspace = true [features] nightly_protocol = [ diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md index d3938c8756b..84c3008ebba 100644 --- a/runtime/near-wallet-contract/README.md +++ b/runtime/near-wallet-contract/README.md @@ -7,5 +7,5 @@ Must not use in production! To use the contract you need to make sure that this crate was compiled. The contract is built via `build.rs` and WASM file is generated to the `./res` directory. -If you want to use the contract from rust core, add this crate as a dependency +If you want to use the contract from nearcore, add this crate as a dependency to the Cargo.toml and use `near_wallet_contract::wallet_contract()`. diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 9e2d26ed976..150affab8f7 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -1,33 +1,36 @@ /// This file is run as a part of `cargo build` process and it builds the `Wallet Contract`. /// The generated WASM file is put to the `./res` directory. +use anyhow::{anyhow, Context, Result}; + use std::path::{Path, PathBuf}; use std::process::{exit, Command}; -type Error = Box; - fn main() { build_contract("./wallet-contract", &[], "wallet_contract").unwrap_or_else(|err| { - eprintln!("{}", err); + eprintln!("Error: {}", err); exit(1); }); } -fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<(), Error> { - let target_dir: PathBuf = std::env::var("OUT_DIR").unwrap().into(); +fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<()> { + let target_dir: PathBuf = + std::env::var("OUT_DIR").context("Failed to read OUT_DIR environment variable")?.into(); + // We place the build artifacts in `target_dir` (workspace's build directory). let mut cmd = cargo_build_cmd(&target_dir); cmd.args(args); cmd.current_dir(dir); - check_status(cmd)?; + run_checking_status(cmd)?; let build_artifact_path = format!("wasm32-unknown-unknown/release/{}.wasm", dir.replace('-', "_")); let src = target_dir.join(build_artifact_path); let wasm_target_path = format!("./res/{}.wasm", output); - std::fs::copy(&src, wasm_target_path) - .map_err(|err| format!("failed to copy `{}`: {}", src.display(), err))?; - println!("cargo:rerun-if-changed=./{}/src/lib.rs", dir); - println!("cargo:rerun-if-changed=./{}/Cargo.toml", dir); + + std::fs::copy(&src, &wasm_target_path) + .with_context(|| format!("Failed to copy `{}` to `{}`", src.display(), wasm_target_path))?; + + println!("cargo:rerun-if-changed={}", dir); Ok(()) } @@ -51,15 +54,12 @@ fn cargo_build_cmd(target_dir: &Path) -> Command { res } -fn check_status(mut cmd: Command) -> Result<(), Error> { - cmd.status() - .map_err(|err| format!("command `{cmd:?}` failed to run: {err}")) - .and_then(|status| { - if status.success() { - Ok(()) - } else { - Err(format!("command `{cmd:?}` exited with non-zero status: {status:?}")) - } - }) - .map_err(Error::from) +fn run_checking_status(mut cmd: Command) -> Result<()> { + cmd.status().with_context(|| format!("Failed to run command `{cmd:?}`")).and_then(|status| { + if status.success() { + Ok(()) + } else { + Err(anyhow!("Command `{cmd:?}` exited with non-zero status: {status:?}")) + } + }) } diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index 0d32383ca99..dfbbb14d78b 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -1,25 +1,18 @@ #![doc = include_str!("../README.md")] use near_vm_runner::ContractCode; -use once_cell::sync::OnceCell; -use std::path::Path; -use std::sync::Arc; +use std::sync::{Arc, OnceLock}; -/// Temporary (placeholder) Wallet Contract. Read from file once, then cache in memory. +/// Temporary (placeholder) Wallet Contract. pub fn wallet_contract() -> Arc { - static CONTRACT: OnceCell> = OnceCell::new(); - CONTRACT.get_or_init(|| Arc::new(read_contract("wallet_contract.wasm"))).clone() + static CONTRACT: OnceLock> = OnceLock::new(); + CONTRACT.get_or_init(|| Arc::new(read_contract())).clone() } -/// Read given wasm file or panic if unable to. -fn read_contract(file_name: &str) -> ContractCode { - let base = Path::new(env!("CARGO_MANIFEST_DIR")); - let path = base.join("res").join(file_name); - let code = match std::fs::read(&path) { - Ok(data) => data, - Err(err) => panic!("{}: {}", path.display(), err), - }; - ContractCode::new(code, None) +/// Include the WASM file content directly in the binary at compile time. +fn read_contract() -> ContractCode { + let code = include_bytes!("../res/wallet_contract.wasm"); + ContractCode::new(code.to_vec(), None) } #[test] diff --git a/runtime/near-wallet-contract/wallet-contract/Cargo.toml b/runtime/near-wallet-contract/wallet-contract/Cargo.toml index a52e0ae7e7a..a7c0259d244 100644 --- a/runtime/near-wallet-contract/wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/wallet-contract/Cargo.toml @@ -24,6 +24,7 @@ panic = "abort" rpath = false debug-assertions = false incremental = false +overflow-checks = true [workspace] members = [] From be2500c27fdeddc6360bc4687eea2faed2b71f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 14 Dec 2023 10:50:57 +0100 Subject: [PATCH 10/17] Move Wallet Contract tests to a separate file --- .../src/tests/client/features.rs | 1 + .../access_key_nonce_for_implicit_accounts.rs | 109 +------ .../tests/client/features/delegate_action.rs | 105 +------ .../tests/client/features/wallet_contract.rs | 267 ++++++++++++++++++ 4 files changed, 275 insertions(+), 207 deletions(-) create mode 100644 integration-tests/src/tests/client/features/wallet_contract.rs diff --git a/integration-tests/src/tests/client/features.rs b/integration-tests/src/tests/client/features.rs index 81da1a41ec9..642505fd317 100644 --- a/integration-tests/src/tests/client/features.rs +++ b/integration-tests/src/tests/client/features.rs @@ -18,4 +18,5 @@ mod lower_storage_key_limit; mod nearvm; mod restore_receipts_after_fix_apply_chunks; mod restrict_tla; +mod wallet_contract; mod zero_balance_account; diff --git a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs index 6e2f0a5a256..29cc20813e3 100644 --- a/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs +++ b/integration-tests/src/tests/client/features/access_key_nonce_for_implicit_accounts.rs @@ -12,17 +12,15 @@ use near_network::shards_manager::ShardsManagerRequestFromNetwork; use near_network::types::{NetworkRequests, PeerManagerMessageRequest}; use near_o11y::testonly::init_test_logger; use near_primitives::account::AccessKey; -use near_primitives::checked_feature; -use near_primitives::errors::{InvalidAccessKeyError, InvalidTxError}; +use near_primitives::errors::InvalidTxError; use near_primitives::runtime::config_store::RuntimeConfigStore; use near_primitives::shard_layout::ShardLayout; use near_primitives::sharding::ChunkHash; -use near_primitives::transaction::{Action, AddKeyAction, DeployContractAction, SignedTransaction}; +use near_primitives::transaction::SignedTransaction; use near_primitives::types::{AccountId, BlockHeight}; -use near_primitives::utils::{derive_eth_implicit_account_id, derive_near_implicit_account_id}; -use near_primitives::version::{ProtocolFeature, ProtocolVersion, PROTOCOL_VERSION}; +use near_primitives::utils::derive_near_implicit_account_id; +use near_primitives::version::{ProtocolFeature, ProtocolVersion}; use near_primitives::views::FinalExecutionStatus; -use near_wallet_contract::wallet_contract; use nearcore::config::GenesisExt; use nearcore::test_utils::TestEnvNightshadeSetupExt; use nearcore::NEAR_BASE; @@ -238,105 +236,6 @@ fn test_transaction_hash_collision_for_near_implicit_account_ok() { ); } -/// Test that transactions from ETH-implicit accounts are rejected. -#[test] -fn test_transaction_from_eth_implicit_account_fail() { - if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { - return; - } - let genesis = Genesis::test(vec!["test0".parse().unwrap(), "test1".parse().unwrap()], 1); - let mut env = TestEnv::builder(ChainGenesis::test()) - .real_epoch_managers(&genesis.config) - .nightshade_runtimes(&genesis) - .build(); - let genesis_block = env.clients[0].chain.get_block_by_height(0).unwrap(); - let deposit_for_account_creation = NEAR_BASE; - let mut height = 1; - let blocks_number = 5; - let signer1 = InMemorySigner::from_seed("test1".parse().unwrap(), KeyType::ED25519, "test1"); - - let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); - let public_key = secret_key.public_key(); - let eth_implicit_account_id = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); - let eth_implicit_account_signer = - InMemorySigner::from_secret_key(eth_implicit_account_id.clone(), secret_key); - - // Send money to ETH-implicit account, invoking its creation. - let send_money_tx = SignedTransaction::send_money( - 1, - "test1".parse().unwrap(), - eth_implicit_account_id.clone(), - &signer1, - deposit_for_account_creation, - *genesis_block.hash(), - ); - // Check for tx success status and get new block height. - height = check_tx_processing(&mut env, send_money_tx, height, blocks_number); - let block = env.clients[0].chain.get_block_by_height(height - 1).unwrap(); - - // Try to send money from ETH-implicit account using `(block_height - 1) * 1e6` as a nonce. - // That would be a good nonce for any access key, but the transaction should fail nonetheless because there is no access key. - let nonce = (height - 1) * AccessKey::ACCESS_KEY_NONCE_RANGE_MULTIPLIER; - let send_money_from_eth_implicit_account_tx = SignedTransaction::send_money( - nonce, - eth_implicit_account_id.clone(), - "test0".parse().unwrap(), - ð_implicit_account_signer, - 100, - *block.hash(), - ); - let response = env.clients[0].process_tx(send_money_from_eth_implicit_account_tx, false, false); - let expected_tx_error = ProcessTxResponse::InvalidTx(InvalidTxError::InvalidAccessKeyError( - InvalidAccessKeyError::AccessKeyNotFound { - account_id: eth_implicit_account_id.clone(), - public_key: public_key.clone(), - }, - )); - assert_eq!(response, expected_tx_error); - - // Try to delete ETH-implicit account. Should fail because there is no access key. - let delete_eth_implicit_account_tx = SignedTransaction::delete_account( - nonce, - eth_implicit_account_id.clone(), - eth_implicit_account_id.clone(), - "test0".parse().unwrap(), - ð_implicit_account_signer, - *block.hash(), - ); - let response = env.clients[0].process_tx(delete_eth_implicit_account_tx, false, false); - assert_eq!(response, expected_tx_error); - - // Try to add an access key to the ETH-implicit account. Should fail because there is no access key. - let add_access_key_to_eth_implicit_account_tx = SignedTransaction::from_actions( - nonce, - eth_implicit_account_id.clone(), - eth_implicit_account_id.clone(), - ð_implicit_account_signer, - vec![Action::AddKey(Box::new(AddKeyAction { - public_key, - access_key: AccessKey::full_access(), - }))], - *block.hash(), - ); - let response = - env.clients[0].process_tx(add_access_key_to_eth_implicit_account_tx, false, false); - assert_eq!(response, expected_tx_error); - - // Try to deploy the Wallet Contract again to the ETH-implicit account. Should fail because there is no access key. - let wallet_contract_code = wallet_contract().code().to_vec(); - let add_access_key_to_eth_implicit_account_tx = SignedTransaction::from_actions( - nonce, - eth_implicit_account_id.clone(), - eth_implicit_account_id, - ð_implicit_account_signer, - vec![Action::DeployContract(DeployContractAction { code: wallet_contract_code })], - *block.hash(), - ); - let response = - env.clients[0].process_tx(add_access_key_to_eth_implicit_account_tx, false, false); - assert_eq!(response, expected_tx_error); -} - /// Test that chunks with transactions that have expired are considered invalid. #[test] fn test_chunk_transaction_validity() { diff --git a/integration-tests/src/tests/client/features/delegate_action.rs b/integration-tests/src/tests/client/features/delegate_action.rs index eb66ef485e9..f2626435f29 100644 --- a/integration-tests/src/tests/client/features/delegate_action.rs +++ b/integration-tests/src/tests/client/features/delegate_action.rs @@ -8,15 +8,15 @@ use crate::tests::standard_cases::fee_helper; use near_chain::ChainGenesis; use near_chain_configs::Genesis; use near_client::test_utils::TestEnv; -use near_crypto::{KeyType, PublicKey, SecretKey, Signer}; +use near_crypto::{KeyType, PublicKey, Signer}; use near_primitives::account::{ id::AccountType, AccessKey, AccessKeyPermission, FunctionCallPermission, }; use near_primitives::checked_feature; use near_primitives::config::ActionCosts; use near_primitives::errors::{ - ActionError, ActionErrorKind, ActionsValidationError, FunctionCallError, InvalidAccessKeyError, - InvalidTxError, TxExecutionError, + ActionError, ActionErrorKind, ActionsValidationError, InvalidAccessKeyError, InvalidTxError, + TxExecutionError, }; use near_primitives::test_utils::{ create_user_test_signer, eth_implicit_test_account, near_implicit_test_account, @@ -26,7 +26,6 @@ use near_primitives::transaction::{ DeployContractAction, FunctionCallAction, StakeAction, TransferAction, }; use near_primitives::types::{AccountId, Balance}; -use near_primitives::utils::derive_eth_implicit_account_id; use near_primitives::version::{ProtocolFeature, ProtocolVersion, PROTOCOL_VERSION}; use near_primitives::views::{ AccessKeyPermissionView, ExecutionStatusView, FinalExecutionOutcomeView, FinalExecutionStatus, @@ -35,7 +34,6 @@ use near_test_contracts::{ft_contract, smallest_rs_contract}; use nearcore::config::GenesisExt; use nearcore::test_utils::TestEnvNightshadeSetupExt; use nearcore::NEAR_BASE; -use rlp::RlpStream; use testlib::runtime_utils::{ add_account_with_access_key, add_contract, add_test_contract, alice_account, bob_account, carol_account, eve_dot_alice_account, @@ -952,100 +950,3 @@ fn meta_tx_create_eth_implicit_account() { } meta_tx_create_implicit_account(eth_implicit_test_account()); } - -// TODO(eth-implicit) Remove this test and replace it with tests that directly call the `Wallet Contract` when it is ready. -/// Creating an ETH-implicit account with meta-transaction, then attempting to use it with another meta-transaction. -/// -/// Depending on `rlp_transaction` blob that is sent to the `Wallet Contract` -/// the transaction is either authorized or unauthorized. -/// The parameter `authorized` controls which case will be tested. -fn meta_tx_call_wallet_contract(authorized: bool) { - if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { - return; - } - let genesis = Genesis::test(vec![alice_account(), bob_account(), carol_account()], 3); - let relayer = alice_account(); - let node = RuntimeNode::new_from_genesis(&relayer, genesis); - let sender = bob_account(); - - let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); - let public_key = secret_key.public_key(); - let eth_implicit_account = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); - let other_public_key = SecretKey::from_seed(KeyType::SECP256K1, "test2").public_key(); - - // Although ETH-implicit account can be zero-balance, we pick 1 here in order to make transfer later from this account. - let transfer_amount = 1u128; - let actions = vec![Action::Transfer(TransferAction { deposit: transfer_amount })]; - // Create ETH-implicit account by funding it. - node.user() - .meta_tx(sender.clone(), eth_implicit_account.clone(), relayer.clone(), actions) - .unwrap() - .assert_success(); - - let target = carol_account(); - let initial_balance = node.view_balance(&target).expect("failed looking up balance"); - - // TODO(eth-implicit) Append appropriate values to the RLP stream when proper `Wallet Contract` is implemented. - let mut stream = RlpStream::new_list(3); - stream.append(&target.as_str()); - // The RLP trait `Encodable` is not implemented for `u128`. We must encode it as bytes. - stream.append(&transfer_amount.to_be_bytes().as_slice()); - if authorized { - stream.append(&public_key.key_data()); - } else { - stream.append(&other_public_key.key_data()); - } - let rlp_encoded_data = stream.out().to_vec(); - - let args = serde_json::json!({ - "target": target.to_string(), - "rlp_transaction": rlp_encoded_data, - }) - .to_string() - .into_bytes(); - - let actions = vec![Action::FunctionCall(Box::new(FunctionCallAction { - method_name: "execute_rlp".to_owned(), - args, - gas: 30_000_000_000_000, - deposit: 0, - }))]; - // Call Wallet Contract with JSON-encoded arguments: `target` and `rlp_transaction`. The `rlp_transaction`'s value is RLP-encoded. - let tx_result = node.user().meta_tx(sender, eth_implicit_account, relayer, actions).unwrap(); - let wallet_contract_call_result = &tx_result.receipts_outcome[1].outcome.status; - - if authorized { - // If the public key recovered from the RLP transaction's signature is valid for this ETH-implicit account, - // the transaction will succeed. `target` balance will increase by `transfer_amount`. - tx_result.assert_success(); - let final_balance = node.view_balance(&target).expect("failed looking up balance"); - assert_eq!(final_balance, initial_balance + transfer_amount); - } else { - // The public key recovered from the RLP transaction's signature isn't valid for this ETH-implicit account. - // The Wallet Contract will reject this transaction. - let expected_error = near_primitives::views::ExecutionStatusView::Failure( - TxExecutionError::ActionError( - ActionError { - index: Some(0), - kind: ActionErrorKind::FunctionCallError { - 0: FunctionCallError::ExecutionError( - "Smart contract panicked: Public key does not match the Wallet Contract address." - .to_string() - ) - } - } - ) - ); - assert_eq!(wallet_contract_call_result, &expected_error); - } -} - -#[test] -fn meta_tx_call_wallet_contract_authorized() { - meta_tx_call_wallet_contract(true); -} - -#[test] -fn meta_tx_call_wallet_contract_unauthorized() { - meta_tx_call_wallet_contract(false); -} diff --git a/integration-tests/src/tests/client/features/wallet_contract.rs b/integration-tests/src/tests/client/features/wallet_contract.rs new file mode 100644 index 00000000000..51caf8a0a09 --- /dev/null +++ b/integration-tests/src/tests/client/features/wallet_contract.rs @@ -0,0 +1,267 @@ +use assert_matches::assert_matches; +use near_chain::ChainGenesis; +use near_chain_configs::Genesis; +use near_client::{test_utils::TestEnv, ProcessTxResponse}; +use near_crypto::{InMemorySigner, KeyType, SecretKey}; +use near_primitives::{ + errors::{ + ActionError, ActionErrorKind, FunctionCallError, InvalidAccessKeyError, InvalidTxError, + TxExecutionError, + }, + transaction::{ + Action, AddKeyAction, DeployContractAction, FunctionCallAction, SignedTransaction, + TransferAction, + }, + utils::derive_eth_implicit_account_id, + views::FinalExecutionStatus, +}; +use near_primitives_core::{ + account::AccessKey, checked_feature, types::BlockHeight, version::PROTOCOL_VERSION, +}; +use near_wallet_contract::wallet_contract; +use nearcore::{config::GenesisExt, test_utils::TestEnvNightshadeSetupExt, NEAR_BASE}; +use rlp::RlpStream; +use testlib::runtime_utils::{alice_account, bob_account, carol_account}; + +use crate::{ + node::{Node, RuntimeNode}, + tests::client::process_blocks::produce_blocks_from_height, +}; + +/// Try to process tx in the next blocks, check that tx and all generated receipts succeed. +/// Return height of the next block. +fn check_tx_processing( + env: &mut TestEnv, + tx: SignedTransaction, + height: BlockHeight, + blocks_number: u64, +) -> BlockHeight { + let tx_hash = tx.get_hash(); + assert_eq!(env.clients[0].process_tx(tx, false, false), ProcessTxResponse::ValidTx); + let next_height = produce_blocks_from_height(env, blocks_number, height); + let final_outcome = env.clients[0].chain.get_final_transaction_result(&tx_hash).unwrap(); + assert_matches!(final_outcome.status, FinalExecutionStatus::SuccessValue(_)); + next_height +} + +/// Test that transactions from ETH-implicit accounts are rejected. +#[test] +fn test_transaction_from_eth_implicit_account_fail() { + if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { + return; + } + let genesis = Genesis::test(vec!["test0".parse().unwrap(), "test1".parse().unwrap()], 1); + let mut env = TestEnv::builder(ChainGenesis::test()) + .real_epoch_managers(&genesis.config) + .nightshade_runtimes(&genesis) + .build(); + let genesis_block = env.clients[0].chain.get_block_by_height(0).unwrap(); + let deposit_for_account_creation = NEAR_BASE; + let mut height = 1; + let blocks_number = 5; + let signer1 = InMemorySigner::from_seed("test1".parse().unwrap(), KeyType::ED25519, "test1"); + + let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); + let public_key = secret_key.public_key(); + let eth_implicit_account_id = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); + let eth_implicit_account_signer = + InMemorySigner::from_secret_key(eth_implicit_account_id.clone(), secret_key); + + // Send money to ETH-implicit account, invoking its creation. + let send_money_tx = SignedTransaction::send_money( + 1, + "test1".parse().unwrap(), + eth_implicit_account_id.clone(), + &signer1, + deposit_for_account_creation, + *genesis_block.hash(), + ); + // Check for tx success status and get new block height. + height = check_tx_processing(&mut env, send_money_tx, height, blocks_number); + let block = env.clients[0].chain.get_block_by_height(height - 1).unwrap(); + + // Try to send money from ETH-implicit account using `(block_height - 1) * 1e6` as a nonce. + // That would be a good nonce for any access key, but the transaction should fail nonetheless because there is no access key. + let nonce = (height - 1) * AccessKey::ACCESS_KEY_NONCE_RANGE_MULTIPLIER; + let send_money_from_eth_implicit_account_tx = SignedTransaction::send_money( + nonce, + eth_implicit_account_id.clone(), + "test0".parse().unwrap(), + ð_implicit_account_signer, + 100, + *block.hash(), + ); + let response = env.clients[0].process_tx(send_money_from_eth_implicit_account_tx, false, false); + let expected_tx_error = ProcessTxResponse::InvalidTx(InvalidTxError::InvalidAccessKeyError( + InvalidAccessKeyError::AccessKeyNotFound { + account_id: eth_implicit_account_id.clone(), + public_key: public_key.clone(), + }, + )); + assert_eq!(response, expected_tx_error); + + // Try to delete ETH-implicit account. Should fail because there is no access key. + let delete_eth_implicit_account_tx = SignedTransaction::delete_account( + nonce, + eth_implicit_account_id.clone(), + eth_implicit_account_id.clone(), + "test0".parse().unwrap(), + ð_implicit_account_signer, + *block.hash(), + ); + let response = env.clients[0].process_tx(delete_eth_implicit_account_tx, false, false); + assert_eq!(response, expected_tx_error); + + // Try to add an access key to the ETH-implicit account. Should fail because there is no access key. + let add_access_key_to_eth_implicit_account_tx = SignedTransaction::from_actions( + nonce, + eth_implicit_account_id.clone(), + eth_implicit_account_id.clone(), + ð_implicit_account_signer, + vec![Action::AddKey(Box::new(AddKeyAction { + public_key, + access_key: AccessKey::full_access(), + }))], + *block.hash(), + ); + let response = + env.clients[0].process_tx(add_access_key_to_eth_implicit_account_tx, false, false); + assert_eq!(response, expected_tx_error); + + // Try to deploy the Wallet Contract again to the ETH-implicit account. Should fail because there is no access key. + let wallet_contract_code = wallet_contract().code().to_vec(); + let add_access_key_to_eth_implicit_account_tx = SignedTransaction::from_actions( + nonce, + eth_implicit_account_id.clone(), + eth_implicit_account_id, + ð_implicit_account_signer, + vec![Action::DeployContract(DeployContractAction { code: wallet_contract_code })], + *block.hash(), + ); + let response = + env.clients[0].process_tx(add_access_key_to_eth_implicit_account_tx, false, false); + assert_eq!(response, expected_tx_error); +} + +// TODO(eth-implicit) Remove this test and replace it with tests that directly call the `Wallet Contract` when it is ready. +/// Creating an ETH-implicit account with meta-transaction, then attempting to use it with another meta-transaction. +/// +/// The `create_account` parameter controls whether we create ETH-implicit account +/// before attempting to use it by making a function call. +/// Depending on `rlp_transaction` blob that is sent to the `Wallet Contract` +/// the transaction is either authorized or unauthorized. +/// The `authorized` parameter controls which case will be tested. +fn meta_tx_call_wallet_contract(create_account: bool, authorized: bool) { + if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { + return; + } + let genesis = Genesis::test(vec![alice_account(), bob_account(), carol_account()], 3); + let relayer = alice_account(); + let node = RuntimeNode::new_from_genesis(&relayer, genesis); + let sender = bob_account(); + + let secret_key = SecretKey::from_seed(KeyType::SECP256K1, "test"); + let public_key = secret_key.public_key(); + let eth_implicit_account = derive_eth_implicit_account_id(public_key.unwrap_as_secp256k1()); + let other_public_key = SecretKey::from_seed(KeyType::SECP256K1, "test2").public_key(); + + // Although ETH-implicit account can be zero-balance, we pick 1 here in order to make transfer later from this account. + let transfer_amount = 1u128; + let actions = vec![Action::Transfer(TransferAction { deposit: transfer_amount })]; + + if create_account { + // Create ETH-implicit account by funding it. + node.user() + .meta_tx(sender.clone(), eth_implicit_account.clone(), relayer.clone(), actions) + .unwrap() + .assert_success(); + } + + let target = carol_account(); + let initial_balance = node.view_balance(&target).expect("failed looking up balance"); + + // TODO(eth-implicit) Append appropriate values to the RLP stream when proper `Wallet Contract` is implemented. + let mut stream = RlpStream::new_list(3); + stream.append(&target.as_str()); + // The RLP trait `Encodable` is not implemented for `u128`. We must encode it as bytes. + stream.append(&transfer_amount.to_be_bytes().as_slice()); + if authorized { + stream.append(&public_key.key_data()); + } else { + stream.append(&other_public_key.key_data()); + } + let rlp_encoded_data = stream.out().to_vec(); + + let args = serde_json::json!({ + "target": target.to_string(), + "rlp_transaction": rlp_encoded_data, + }) + .to_string() + .into_bytes(); + + let actions = vec![Action::FunctionCall(Box::new(FunctionCallAction { + method_name: "execute_rlp".to_owned(), + args, + gas: 30_000_000_000_000, + deposit: 0, + }))]; + // Call Wallet Contract with JSON-encoded arguments: `target` and `rlp_transaction`. The `rlp_transaction`'s value is RLP-encoded. + let tx_result = + node.user().meta_tx(sender, eth_implicit_account.clone(), relayer, actions).unwrap(); + let wallet_contract_call_result = &tx_result.receipts_outcome[1].outcome.status; + + if create_account && authorized { + // If the public key recovered from the RLP transaction's signature is valid for this ETH-implicit account, + // the transaction will succeed. `target`'s balance will increase by `transfer_amount`. + tx_result.assert_success(); + let final_balance = node.view_balance(&target).expect("failed looking up balance"); + assert_eq!(final_balance, initial_balance + transfer_amount); + return; + } + + if create_account { + // The public key recovered from the RLP transaction's signature isn't valid for this ETH-implicit account. + // The Wallet Contract will reject this transaction. + let expected_error = near_primitives::views::ExecutionStatusView::Failure( + TxExecutionError::ActionError( + ActionError { + index: Some(0), + kind: ActionErrorKind::FunctionCallError { + 0: FunctionCallError::ExecutionError( + "Smart contract panicked: Public key does not match the Wallet Contract address." + .to_string() + ) + } + } + ) + ); + assert_eq!(wallet_contract_call_result, &expected_error); + } else { + // The Wallet Contract function call is not executed because the account does not exist. + let expected_error = near_primitives::views::ExecutionStatusView::Failure( + TxExecutionError::ActionError(ActionError { + index: Some(0), + kind: ActionErrorKind::AccountDoesNotExist { account_id: eth_implicit_account }, + }), + ); + assert_eq!(wallet_contract_call_result, &expected_error); + } +} + +/// Wallet Contract function call is rejected because the ETH-implicit account does not exist. +#[test] +fn meta_tx_call_wallet_contract_account_does_not_exist() { + meta_tx_call_wallet_contract(false, true); +} + +/// Wallet Contract function call fails because the provided public key does not match the ETH-implicit address. +#[test] +fn meta_tx_call_wallet_contract_unauthorized() { + meta_tx_call_wallet_contract(true, false); +} + +/// Wallet Contract function call is executed succesfully. +#[test] +fn meta_tx_call_wallet_contract_authorized() { + meta_tx_call_wallet_contract(true, true); +} From f6cf30ca10a302e879beb0f27ab73efad36a972f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 14 Dec 2023 12:50:53 +0100 Subject: [PATCH 11/17] Include Wallet Contract WASM file into repository --- Cargo.lock | 1 + .../tests/client/features/wallet_contract.rs | 1 + runtime/near-wallet-contract/Cargo.toml | 4 ++++ runtime/near-wallet-contract/build.rs | 3 +++ runtime/near-wallet-contract/res/.gitignore | 1 - .../res/wallet_contract.wasm | Bin 0 -> 95239 bytes runtime/near-wallet-contract/src/lib.rs | 18 ++++++++++++++---- 7 files changed, 23 insertions(+), 5 deletions(-) delete mode 100644 runtime/near-wallet-contract/res/.gitignore create mode 100755 runtime/near-wallet-contract/res/wallet_contract.wasm diff --git a/Cargo.lock b/Cargo.lock index c709c2700cf..11879e5d636 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4670,6 +4670,7 @@ name = "near-wallet-contract" version = "0.0.0" dependencies = [ "anyhow", + "near-primitives-core", "near-vm-runner", ] diff --git a/integration-tests/src/tests/client/features/wallet_contract.rs b/integration-tests/src/tests/client/features/wallet_contract.rs index 51caf8a0a09..f195dd3cea5 100644 --- a/integration-tests/src/tests/client/features/wallet_contract.rs +++ b/integration-tests/src/tests/client/features/wallet_contract.rs @@ -184,6 +184,7 @@ fn meta_tx_call_wallet_contract(create_account: bool, authorized: bool) { let mut stream = RlpStream::new_list(3); stream.append(&target.as_str()); // The RLP trait `Encodable` is not implemented for `u128`. We must encode it as bytes. + // TODO(eth-implicit) Do not try to encode `u128` values directly, see https://github.com/near/nearcore/pull/10269#discussion_r1425585051. stream.append(&transfer_amount.to_be_bytes().as_slice()); if authorized { stream.append(&public_key.key_data()); diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index b5d48b57121..e61d5e771ea 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -15,10 +15,14 @@ workspace = true [dependencies] near-vm-runner.workspace = true +[dev-dependencies] +near-primitives-core.workspace = true + [build-dependencies] anyhow.workspace = true [features] +build-wallet-contract = [] nightly_protocol = [ "near-vm-runner/nightly_protocol", ] diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 150affab8f7..9ffe23cd4e8 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -6,6 +6,9 @@ use std::path::{Path, PathBuf}; use std::process::{exit, Command}; fn main() { + if cfg!(not(feature = "build-wallet-contract")) { + return; + } build_contract("./wallet-contract", &[], "wallet_contract").unwrap_or_else(|err| { eprintln!("Error: {}", err); exit(1); diff --git a/runtime/near-wallet-contract/res/.gitignore b/runtime/near-wallet-contract/res/.gitignore deleted file mode 100644 index 917660a3481..00000000000 --- a/runtime/near-wallet-contract/res/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.wasm \ No newline at end of file diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm new file mode 100755 index 0000000000000000000000000000000000000000..95df1c33c4fbf34e858b0b48f38e7d91da1f4a1a GIT binary patch literal 95239 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 ContractCode { ContractCode::new(code.to_vec(), None) } -#[test] -fn smoke_test() { - assert!(!wallet_contract().code().is_empty()); +#[cfg(test)] +mod tests { + use crate::wallet_contract; + use near_primitives_core::hash::CryptoHash; + use std::str::FromStr; + + #[test] + fn check_wallet_contract() { + assert!(!wallet_contract().code().is_empty()); + let expected_hash_str = "04UkQ8nasN1u5aBuRna2wEHHAbQmWS2Kdq88TRz1phxAc"; + let expected_hash = + CryptoHash::from_str(expected_hash_str).expect("Failed to parse hash from string"); + assert_eq!(*wallet_contract().hash(), expected_hash); + } } From daececf3bfac233f719d2728838617ac0022ae24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 14 Dec 2023 15:03:36 +0100 Subject: [PATCH 12/17] Deploy Wallet Contract as near[wallet contract hash]. --- .../tests/client/features/wallet_contract.rs | 100 +++++++++++++++--- runtime/near-wallet-contract/Cargo.toml | 2 +- runtime/near-wallet-contract/build.rs | 2 +- runtime/near-wallet-contract/src/lib.rs | 31 +++++- runtime/runtime/src/actions.rs | 18 ++-- 5 files changed, 129 insertions(+), 24 deletions(-) diff --git a/integration-tests/src/tests/client/features/wallet_contract.rs b/integration-tests/src/tests/client/features/wallet_contract.rs index f195dd3cea5..54fc63ff1d1 100644 --- a/integration-tests/src/tests/client/features/wallet_contract.rs +++ b/integration-tests/src/tests/client/features/wallet_contract.rs @@ -3,23 +3,27 @@ use near_chain::ChainGenesis; use near_chain_configs::Genesis; use near_client::{test_utils::TestEnv, ProcessTxResponse}; use near_crypto::{InMemorySigner, KeyType, SecretKey}; -use near_primitives::{ - errors::{ - ActionError, ActionErrorKind, FunctionCallError, InvalidAccessKeyError, InvalidTxError, - TxExecutionError, - }, - transaction::{ - Action, AddKeyAction, DeployContractAction, FunctionCallAction, SignedTransaction, - TransferAction, - }, - utils::derive_eth_implicit_account_id, - views::FinalExecutionStatus, +use near_primitives::errors::{ + ActionError, ActionErrorKind, FunctionCallError, InvalidAccessKeyError, InvalidTxError, + TxExecutionError, +}; +use near_primitives::test_utils::eth_implicit_test_account; +use near_primitives::transaction::{ + Action, AddKeyAction, DeployContractAction, FunctionCallAction, SignedTransaction, + TransferAction, +}; +use near_primitives::utils::derive_eth_implicit_account_id; +use near_primitives::views::{ + FinalExecutionStatus, QueryRequest, QueryResponse, QueryResponseKind, }; use near_primitives_core::{ account::AccessKey, checked_feature, types::BlockHeight, version::PROTOCOL_VERSION, }; -use near_wallet_contract::wallet_contract; +use near_store::ShardUId; +use near_vm_runner::ContractCode; +use near_wallet_contract::{wallet_contract, wallet_contract_magic_bytes}; use nearcore::{config::GenesisExt, test_utils::TestEnvNightshadeSetupExt, NEAR_BASE}; +use node_runtime::ZERO_BALANCE_ACCOUNT_STORAGE_LIMIT; use rlp::RlpStream; use testlib::runtime_utils::{alice_account, bob_account, carol_account}; @@ -44,6 +48,78 @@ fn check_tx_processing( next_height } +fn view_request(env: &TestEnv, request: QueryRequest) -> QueryResponse { + let head = env.clients[0].chain.head().unwrap(); + let head_block = env.clients[0].chain.get_block(&head.last_block_hash).unwrap(); + env.clients[0] + .runtime_adapter + .query( + ShardUId::single_shard(), + &head_block.chunks()[0].prev_state_root(), + head.height, + 0, + &head.prev_block_hash, + &head.last_block_hash, + head_block.header().epoch_id(), + &request, + ) + .unwrap() +} + +#[test] +fn test_eth_implicit_account_creation() { + if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { + return; + } + let genesis = Genesis::test(vec!["test0".parse().unwrap(), "test1".parse().unwrap()], 1); + let mut env = TestEnv::builder(ChainGenesis::test()) + .real_epoch_managers(&genesis.config) + .nightshade_runtimes(&genesis) + .build(); + let genesis_block = env.clients[0].chain.get_block_by_height(0).unwrap(); + + let signer = InMemorySigner::from_seed("test0".parse().unwrap(), KeyType::ED25519, "test0"); + let eth_implicit_account_id = eth_implicit_test_account(); + + // Make zero-transfer to ETH-implicit account, invoking its creation. + let transfer_tx = SignedTransaction::send_money( + 1, + signer.account_id.clone(), + eth_implicit_account_id.clone(), + &signer, + 0, + *genesis_block.hash(), + ); + assert_eq!(env.clients[0].process_tx(transfer_tx, false, false), ProcessTxResponse::ValidTx); + for i in 1..5 { + env.produce_block(0, i); + } + + let magic_bytes = wallet_contract_magic_bytes(); + + // Verify the ETH-implicit account has zero balance, wallet contract hash, and its storage fits within zero balance account limit. + let request = QueryRequest::ViewAccount { account_id: eth_implicit_account_id.clone() }; + match view_request(&env, request).kind { + QueryResponseKind::ViewAccount(view) => { + assert_eq!(view.amount, 0); + assert_eq!(view.code_hash, *magic_bytes.hash()); + assert!(view.storage_usage <= ZERO_BALANCE_ACCOUNT_STORAGE_LIMIT) + } + _ => panic!("wrong query response"), + } + + // Verify that contract code deployed to the ETH-implicit account is near[wallet contract hash]. + let request = QueryRequest::ViewCode { account_id: eth_implicit_account_id }; + match view_request(&env, request).kind { + QueryResponseKind::ViewCode(view) => { + let contract_code = ContractCode::new(view.code, None); + assert_eq!(contract_code.hash(), magic_bytes.hash()); + assert_eq!(contract_code.code(), magic_bytes.code()); + } + _ => panic!("wrong query response"), + } +} + /// Test that transactions from ETH-implicit accounts are rejected. #[test] fn test_transaction_from_eth_implicit_account_fail() { diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index e61d5e771ea..c966818173d 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -22,7 +22,7 @@ near-primitives-core.workspace = true anyhow.workspace = true [features] -build-wallet-contract = [] +build_wallet_contract = [] nightly_protocol = [ "near-vm-runner/nightly_protocol", ] diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 9ffe23cd4e8..7066696e55a 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -6,7 +6,7 @@ use std::path::{Path, PathBuf}; use std::process::{exit, Command}; fn main() { - if cfg!(not(feature = "build-wallet-contract")) { + if cfg!(not(feature = "build_wallet_contract")) { return; } build_contract("./wallet-contract", &[], "wallet_contract").unwrap_or_else(|err| { diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index 9c0e812b6c9..77c3d74916b 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -14,18 +14,43 @@ fn read_contract() -> ContractCode { ContractCode::new(code.to_vec(), None) } +/// near[wallet contract hash] +pub fn wallet_contract_magic_bytes() -> Arc { + static CONTRACT: OnceLock> = OnceLock::new(); + CONTRACT + .get_or_init(|| { + let wallet_contract_hash = *wallet_contract().hash(); + let magic_bytes = format!("near{}", wallet_contract_hash.to_string()); + Arc::new(ContractCode::new(magic_bytes.into(), None)) + }) + .clone() +} + #[cfg(test)] mod tests { - use crate::wallet_contract; + use crate::{wallet_contract, wallet_contract_magic_bytes}; use near_primitives_core::hash::CryptoHash; use std::str::FromStr; + const WALLET_CONTRACT_HASH: &'static str = "4UkQ8nasN1u5aBuRna2wEHHAbQmWS2Kdq88TRz1phxAc"; + const MAGIC_BYTES_HASH: &'static str = "46ABZEDwsEGnyJqNzJ1EftKzqH3ZtZj5Loj78Wr1vopm"; + #[test] fn check_wallet_contract() { assert!(!wallet_contract().code().is_empty()); - let expected_hash_str = "04UkQ8nasN1u5aBuRna2wEHHAbQmWS2Kdq88TRz1phxAc"; let expected_hash = - CryptoHash::from_str(expected_hash_str).expect("Failed to parse hash from string"); + CryptoHash::from_str(WALLET_CONTRACT_HASH).expect("Failed to parse hash from string"); assert_eq!(*wallet_contract().hash(), expected_hash); } + + #[test] + fn check_wallet_contract_magic_bytes() { + assert!(!wallet_contract_magic_bytes().code().is_empty()); + let expected_hash = + CryptoHash::from_str(MAGIC_BYTES_HASH).expect("Failed to parse hash from string"); + assert_eq!(*wallet_contract_magic_bytes().hash(), expected_hash); + + let expected_code = format!("near{}", WALLET_CONTRACT_HASH); + assert_eq!(wallet_contract_magic_bytes().code(), expected_code.as_bytes()); + } } diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 60fa09419d8..3eb81e54435 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -39,7 +39,7 @@ use near_vm_runner::logic::types::PromiseResult; use near_vm_runner::logic::{VMContext, VMOutcome}; use near_vm_runner::precompile_contract; use near_vm_runner::ContractCode; -use near_wallet_contract::wallet_contract; +use near_wallet_contract::{wallet_contract, wallet_contract_magic_bytes}; use std::sync::Arc; @@ -57,7 +57,7 @@ fn get_contract_code( && account_id.get_account_type() == AccountType::EthImplicitAccount { let contract = wallet_contract(); - debug_assert!(code_hash == *contract.hash()); + debug_assert!(code_hash == *wallet_contract_magic_bytes().hash()); return Ok(Some(contract)); } runtime_ext.get_code(code_hash).map(|option| option.map(Arc::new)) @@ -500,20 +500,24 @@ pub(crate) fn action_implicit_account_creation_transfer( // It holds because in the only calling site, we've checked the permissions before. AccountType::EthImplicitAccount => { if checked_feature!("stable", EthImplicitAccounts, current_protocol_version) { + // near[wallet contract hash] + let magic_bytes = wallet_contract_magic_bytes(); + let storage_usage = fee_config.storage_usage_config.num_bytes_account + + magic_bytes.code().len() as u64 + fee_config.storage_usage_config.num_extra_bytes_record; - let wallet_contract = wallet_contract(); - // We do not literally deploy `Wallet Contract`, just store a reference to the contract. *account = - Some(Account::new(transfer.deposit, 0, *wallet_contract.hash(), storage_usage)); + Some(Account::new(transfer.deposit, 0, *magic_bytes.hash(), storage_usage)); + + set_code(state_update, account_id.clone(), &magic_bytes); - // Precompile the contract and store result (compiled code or error) in the database. + // Precompile Wallet Contract and store result (compiled code or error) in the database. // Note this contract is shared among ETH-implicit accounts and `precompile_contract` // is a no-op if the contract was already compiled. precompile_contract( - &wallet_contract, + &wallet_contract(), &apply_state.config.wasm_config, apply_state.cache.as_deref(), ) From fb82386d450886d2d7233bebe8ebb8df10f7b8b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 14 Dec 2023 17:57:54 +0100 Subject: [PATCH 13/17] Revert zeroize version to 1.6.0 --- Cargo.lock | 9 +++++---- Cargo.toml | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 11879e5d636..9854d2ebc90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6010,10 +6010,11 @@ dependencies = [ [[package]] name = "rlp" -version = "0.4.6" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ + "bytes", "rustc-hex", ] @@ -8605,9 +8606,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.3.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" [[package]] name = "zeropool-bn" diff --git a/Cargo.toml b/Cargo.toml index ab5b6976383..39ac5e734d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -289,7 +289,7 @@ reqwest = { version = "0.11.14", features = ["blocking"] } ripemd = "0.1.1" rkyv = "0.7.31" rlimit = "0.7" -rlp = "0.4.6" +rlp = "0.5.2" rocksdb = { version = "0.21.0", default-features = false, features = ["snappy", "lz4", "zstd", "zlib", "jemalloc"] } runtime-tester = { path = "test-utils/runtime-tester" } rusqlite = { version = "0.29.0", features = ["bundled", "chrono", "functions"] } From 07a906954c795e48e194bb5e8fca05ebf24bbd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Thu, 14 Dec 2023 18:27:46 +0100 Subject: [PATCH 14/17] Add comments --- .../src/tests/client/features/wallet_contract.rs | 4 +++- runtime/near-wallet-contract/README.md | 6 +++--- runtime/runtime/src/actions.rs | 9 ++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/integration-tests/src/tests/client/features/wallet_contract.rs b/integration-tests/src/tests/client/features/wallet_contract.rs index 54fc63ff1d1..1c43a0dd4eb 100644 --- a/integration-tests/src/tests/client/features/wallet_contract.rs +++ b/integration-tests/src/tests/client/features/wallet_contract.rs @@ -66,6 +66,7 @@ fn view_request(env: &TestEnv, request: QueryRequest) -> QueryResponse { .unwrap() } +/// Tests that ETH-implicit account is created correctly, with Wallet Contract hash. #[test] fn test_eth_implicit_account_creation() { if !checked_feature!("stable", EthImplicitAccounts, PROTOCOL_VERSION) { @@ -97,7 +98,8 @@ fn test_eth_implicit_account_creation() { let magic_bytes = wallet_contract_magic_bytes(); - // Verify the ETH-implicit account has zero balance, wallet contract hash, and its storage fits within zero balance account limit. + // Verify the ETH-implicit account has zero balance and appropriate code hash. + // Check that the account storage fits within zero balance account limit. let request = QueryRequest::ViewAccount { account_id: eth_implicit_account_id.clone() }; match view_request(&env, request).kind { QueryResponseKind::ViewAccount(view) => { diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md index 84c3008ebba..b601d22ea21 100644 --- a/runtime/near-wallet-contract/README.md +++ b/runtime/near-wallet-contract/README.md @@ -4,8 +4,8 @@ See https://github.com/near/NEPs/issues/518. Must not use in production! -To use the contract you need to make sure that this crate was compiled. -The contract is built via `build.rs` and WASM file is generated to the `./res` directory. - If you want to use the contract from nearcore, add this crate as a dependency to the Cargo.toml and use `near_wallet_contract::wallet_contract()`. + +The contract can be rebuilt by `build.rs` if you run `cargo build` with `--features build_wallet_contract` flag. +It would generate WASM file and save it to the `./res` directory. diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 3eb81e54435..7ca55deef45 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -56,9 +56,8 @@ fn get_contract_code( if checked_feature!("stable", EthImplicitAccounts, protocol_version) && account_id.get_account_type() == AccountType::EthImplicitAccount { - let contract = wallet_contract(); debug_assert!(code_hash == *wallet_contract_magic_bytes().hash()); - return Ok(Some(contract)); + return Ok(Some(wallet_contract())); } runtime_ext.get_code(code_hash).map(|option| option.map(Arc::new)) } @@ -500,17 +499,17 @@ pub(crate) fn action_implicit_account_creation_transfer( // It holds because in the only calling site, we've checked the permissions before. AccountType::EthImplicitAccount => { if checked_feature!("stable", EthImplicitAccounts, current_protocol_version) { - // near[wallet contract hash] + // We deploy "near[wallet contract hash]" magic bytes as the contract code, + // to mark that this is a neard-defined contract. It will not be used on a function call. + // Instead, neard-defined Wallet Contract implementation will be used. let magic_bytes = wallet_contract_magic_bytes(); let storage_usage = fee_config.storage_usage_config.num_bytes_account + magic_bytes.code().len() as u64 + fee_config.storage_usage_config.num_extra_bytes_record; - // We do not literally deploy `Wallet Contract`, just store a reference to the contract. *account = Some(Account::new(transfer.deposit, 0, *magic_bytes.hash(), storage_usage)); - set_code(state_update, account_id.clone(), &magic_bytes); // Precompile Wallet Contract and store result (compiled code or error) in the database. From efdfa9b73ecf10ba13a64f3ecfa0373ae444c84c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Fri, 15 Dec 2023 18:27:17 +0100 Subject: [PATCH 15/17] Do not check-in wallet_contract.wasm --- runtime/near-wallet-contract/Cargo.toml | 1 - runtime/near-wallet-contract/README.md | 8 ++++++-- runtime/near-wallet-contract/build.rs | 15 ++++++--------- runtime/near-wallet-contract/res/.gitignore | 1 + .../res/wallet_contract.wasm | Bin 95239 -> 0 bytes runtime/near-wallet-contract/src/lib.rs | 4 +++- runtime/runtime/src/actions.rs | 2 +- 7 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 runtime/near-wallet-contract/res/.gitignore delete mode 100755 runtime/near-wallet-contract/res/wallet_contract.wasm diff --git a/runtime/near-wallet-contract/Cargo.toml b/runtime/near-wallet-contract/Cargo.toml index c966818173d..c8978386a67 100644 --- a/runtime/near-wallet-contract/Cargo.toml +++ b/runtime/near-wallet-contract/Cargo.toml @@ -22,7 +22,6 @@ near-primitives-core.workspace = true anyhow.workspace = true [features] -build_wallet_contract = [] nightly_protocol = [ "near-vm-runner/nightly_protocol", ] diff --git a/runtime/near-wallet-contract/README.md b/runtime/near-wallet-contract/README.md index b601d22ea21..51ca7112bc9 100644 --- a/runtime/near-wallet-contract/README.md +++ b/runtime/near-wallet-contract/README.md @@ -4,8 +4,12 @@ See https://github.com/near/NEPs/issues/518. Must not use in production! +Currently, the contract can only be used in nightly build. +The `build.rs` generates WASM file and saves it to the `./res` directory. + If you want to use the contract from nearcore, add this crate as a dependency to the Cargo.toml and use `near_wallet_contract::wallet_contract()`. -The contract can be rebuilt by `build.rs` if you run `cargo build` with `--features build_wallet_contract` flag. -It would generate WASM file and save it to the `./res` directory. +In order to review changes to the WASM file, rebuild the wallet contract locally +(remove it beforehand to make sure it was rebuilt later) and check the hashes +by running `check_wallet_contract` and `check_wallet_contract_magic_bytes` tests in `src/lib.rs`. diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 7066696e55a..968bbf0a82b 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -1,18 +1,15 @@ /// This file is run as a part of `cargo build` process and it builds the `Wallet Contract`. /// The generated WASM file is put to the `./res` directory. -use anyhow::{anyhow, Context, Result}; +use anyhow::{anyhow, Context, Ok, Result}; use std::path::{Path, PathBuf}; -use std::process::{exit, Command}; +use std::process::Command; -fn main() { - if cfg!(not(feature = "build_wallet_contract")) { - return; +fn main() -> Result<()> { + if cfg!(not(feature = "nightly")) { + return Ok(()); } - build_contract("./wallet-contract", &[], "wallet_contract").unwrap_or_else(|err| { - eprintln!("Error: {}", err); - exit(1); - }); + build_contract("./wallet-contract", &[], "wallet_contract") } fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<()> { diff --git a/runtime/near-wallet-contract/res/.gitignore b/runtime/near-wallet-contract/res/.gitignore new file mode 100644 index 00000000000..917660a3481 --- /dev/null +++ b/runtime/near-wallet-contract/res/.gitignore @@ -0,0 +1 @@ +*.wasm \ No newline at end of file diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm deleted file mode 100755 index 95df1c33c4fbf34e858b0b48f38e7d91da1f4a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95239 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 Arc { /// Include the WASM file content directly in the binary at compile time. fn read_contract() -> ContractCode { - let code = include_bytes!("../res/wallet_contract.wasm"); + let code: &[u8] = + if cfg!(feature = "nightly") { include_bytes!("../res/wallet_contract.wasm") } else { &[] }; ContractCode::new(code.to_vec(), None) } @@ -26,6 +27,7 @@ pub fn wallet_contract_magic_bytes() -> Arc { .clone() } +#[cfg(feature = "nightly")] #[cfg(test)] mod tests { use crate::{wallet_contract, wallet_contract_magic_bytes}; diff --git a/runtime/runtime/src/actions.rs b/runtime/runtime/src/actions.rs index 7ca55deef45..d03d5164016 100644 --- a/runtime/runtime/src/actions.rs +++ b/runtime/runtime/src/actions.rs @@ -56,7 +56,7 @@ fn get_contract_code( if checked_feature!("stable", EthImplicitAccounts, protocol_version) && account_id.get_account_type() == AccountType::EthImplicitAccount { - debug_assert!(code_hash == *wallet_contract_magic_bytes().hash()); + assert!(code_hash == *wallet_contract_magic_bytes().hash()); return Ok(Some(wallet_contract())); } runtime_ext.get_code(code_hash).map(|option| option.map(Arc::new)) From a1c86334fdbb52f23c95bdc620b64102eeec63dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Fri, 15 Dec 2023 18:50:27 +0100 Subject: [PATCH 16/17] Add empty wasm file. --- runtime/near-wallet-contract/res/.gitignore | 2 +- .../near-wallet-contract/res/wallet_contract.wasm | 0 runtime/near-wallet-contract/src/lib.rs | 12 ++++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 runtime/near-wallet-contract/res/wallet_contract.wasm diff --git a/runtime/near-wallet-contract/res/.gitignore b/runtime/near-wallet-contract/res/.gitignore index 917660a3481..19e1bced9ad 100644 --- a/runtime/near-wallet-contract/res/.gitignore +++ b/runtime/near-wallet-contract/res/.gitignore @@ -1 +1 @@ -*.wasm \ No newline at end of file +*.wasm diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm new file mode 100644 index 00000000000..e69de29bb2d diff --git a/runtime/near-wallet-contract/src/lib.rs b/runtime/near-wallet-contract/src/lib.rs index 7d5c36402fa..7e96e8fd23c 100644 --- a/runtime/near-wallet-contract/src/lib.rs +++ b/runtime/near-wallet-contract/src/lib.rs @@ -10,8 +10,12 @@ pub fn wallet_contract() -> Arc { /// Include the WASM file content directly in the binary at compile time. fn read_contract() -> ContractCode { - let code: &[u8] = - if cfg!(feature = "nightly") { include_bytes!("../res/wallet_contract.wasm") } else { &[] }; + #[cfg(feature = "nightly")] + let code = include_bytes!("../res/wallet_contract.wasm"); + + #[cfg(not(feature = "nightly"))] + let code = &[]; + ContractCode::new(code.to_vec(), None) } @@ -34,8 +38,8 @@ mod tests { use near_primitives_core::hash::CryptoHash; use std::str::FromStr; - const WALLET_CONTRACT_HASH: &'static str = "4UkQ8nasN1u5aBuRna2wEHHAbQmWS2Kdq88TRz1phxAc"; - const MAGIC_BYTES_HASH: &'static str = "46ABZEDwsEGnyJqNzJ1EftKzqH3ZtZj5Loj78Wr1vopm"; + const WALLET_CONTRACT_HASH: &'static str = "5wJJ2YaCq75kVSfx8zoZpevg1uLAn4h7nqUd2njKUEXe"; + const MAGIC_BYTES_HASH: &'static str = "31PSU4diHE4cpWju91fb2zTqn5JSDRZ6xNGM2ub8Lgdg"; #[test] fn check_wallet_contract() { From f4a097c0a4f42380cc6734034ab5e75f1848c8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Chuda=C5=9B?= Date: Mon, 18 Dec 2023 15:29:09 +0100 Subject: [PATCH 17/17] Ignore wallet contract hash checking tests. Add TODO comments --- runtime/near-wallet-contract/build.rs | 2 ++ .../res/wallet_contract.wasm | Bin 0 -> 95239 bytes runtime/near-wallet-contract/src/lib.rs | 6 ++++++ 3 files changed, 8 insertions(+) mode change 100644 => 100755 runtime/near-wallet-contract/res/wallet_contract.wasm diff --git a/runtime/near-wallet-contract/build.rs b/runtime/near-wallet-contract/build.rs index 968bbf0a82b..33e440081c3 100644 --- a/runtime/near-wallet-contract/build.rs +++ b/runtime/near-wallet-contract/build.rs @@ -39,6 +39,8 @@ fn build_contract(dir: &str, args: &[&str], output: &str) -> Result<()> { /// of the global `cargo build` process that already has some flags set. /// `env_remove` invocations will remove these flags from the nested `cargo build` /// process, to avoid unexpected behaviors due to the workspace configurations. +// TODO(eth-implicit) Change it to have a reproducible hash of the WASM file. +// see https://github.com/near/nearcore/pull/10269#discussion_r1430139987. fn cargo_build_cmd(target_dir: &Path) -> Command { let mut res = Command::new("cargo"); diff --git a/runtime/near-wallet-contract/res/wallet_contract.wasm b/runtime/near-wallet-contract/res/wallet_contract.wasm old mode 100644 new mode 100755 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..95df1c33c4fbf34e858b0b48f38e7d91da1f4a1a GIT binary patch literal 95239 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