From aaeab134dd5c6f210c173d94552432277dd1c72a Mon Sep 17 00:00:00 2001 From: Shanin Roman <40040452+Erigara@users.noreply.github.com> Date: Wed, 17 Jul 2024 18:18:05 +0300 Subject: [PATCH] refactor: replace `lol_alloc` with `dlmalloc` (#4857) Signed-off-by: Shanin Roman --- .../integration/smartcontracts/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../src/lib.rs | 4 ++-- .../Cargo.toml | 2 +- .../src/lib.rs | 4 ++-- .../Cargo.toml | 2 +- .../src/lib.rs | 4 ++-- .../executor_remove_permission/Cargo.toml | 2 +- .../executor_remove_permission/src/lib.rs | 4 ++-- .../executor_with_admin/Cargo.toml | 2 +- .../executor_with_admin/src/lib.rs | 4 ++-- .../executor_with_custom_parameter/Cargo.toml | 2 +- .../executor_with_custom_parameter/src/lib.rs | 4 ++-- .../Cargo.toml | 2 +- .../src/lib.rs | 4 ++-- .../executor_with_migration_fail/Cargo.toml | 2 +- .../executor_with_migration_fail/src/lib.rs | 4 ++-- .../mint_rose_trigger/Cargo.toml | 2 +- .../mint_rose_trigger/src/lib.rs | 4 ++-- .../mint_rose_trigger_args/Cargo.toml | 2 +- .../mint_rose_trigger_args/src/lib.rs | 4 ++-- .../smartcontracts/multisig/Cargo.toml | 2 +- .../smartcontracts/multisig/src/lib.rs | 4 ++-- .../multisig_register/Cargo.toml | 2 +- .../multisig_register/src/lib.rs | 4 ++-- .../query_assets_and_save_cursor/Cargo.toml | 2 +- .../query_assets_and_save_cursor/src/lib.rs | 4 ++-- .../Cargo.toml | 2 +- .../src/lib.rs | 4 ++-- configs/swarm/executor.wasm | Bin 486804 -> 491479 bytes default_executor/Cargo.toml | 2 +- default_executor/src/lib.rs | 4 ++-- 32 files changed, 46 insertions(+), 46 deletions(-) diff --git a/client/tests/integration/smartcontracts/Cargo.toml b/client/tests/integration/smartcontracts/Cargo.toml index 3e058bf4d77..955cbf646eb 100644 --- a/client/tests/integration/smartcontracts/Cargo.toml +++ b/client/tests/integration/smartcontracts/Cargo.toml @@ -53,5 +53,5 @@ serde_json = { version = "1.0.91", default-features = false } getrandom = { version = "0.2", features = ["custom"] } nonzero_ext = { version = "0.3.0", default-features = false } -lol_alloc = "0.4.0" +dlmalloc = { version = "0.2.6", features = ["global"] } panic-halt = "0.2.0" diff --git a/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/Cargo.toml b/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/Cargo.toml index dcb0c06e985..58f3433a861 100644 --- a/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/Cargo.toml +++ b/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/Cargo.toml @@ -14,5 +14,5 @@ crate-type = ['cdylib'] iroha_trigger.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/src/lib.rs b/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/src/lib.rs index 83fb83970b0..844e21d3d93 100644 --- a/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/src/lib.rs +++ b/client/tests/integration/smartcontracts/create_nft_for_every_user_trigger/src/lib.rs @@ -7,11 +7,11 @@ extern crate panic_halt; use alloc::{format, string::ToString}; +use dlmalloc::GlobalDlmalloc; use iroha_trigger::prelude::*; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_trigger::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_custom_instructions_complex/Cargo.toml b/client/tests/integration/smartcontracts/executor_custom_instructions_complex/Cargo.toml index 08d487860ee..fc67ea62b04 100644 --- a/client/tests/integration/smartcontracts/executor_custom_instructions_complex/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_custom_instructions_complex/Cargo.toml @@ -19,5 +19,5 @@ serde_json.workspace = true serde.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_custom_instructions_complex/src/lib.rs b/client/tests/integration/smartcontracts/executor_custom_instructions_complex/src/lib.rs index a5243ec66cc..142c3b735f6 100644 --- a/client/tests/integration/smartcontracts/executor_custom_instructions_complex/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_custom_instructions_complex/src/lib.rs @@ -10,6 +10,7 @@ extern crate alloc; #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::complex_isi::{ ConditionalExpr, CoreExpr, CustomInstructionExpr, Evaluate, Value, }; @@ -17,10 +18,9 @@ use iroha_executor::{ data_model::{isi::CustomInstruction, query::QueryOutputBox}, prelude::*, }; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_custom_instructions_simple/Cargo.toml b/client/tests/integration/smartcontracts/executor_custom_instructions_simple/Cargo.toml index acae74a475c..7dd316c7878 100644 --- a/client/tests/integration/smartcontracts/executor_custom_instructions_simple/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_custom_instructions_simple/Cargo.toml @@ -19,5 +19,5 @@ serde_json.workspace = true serde.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_custom_instructions_simple/src/lib.rs b/client/tests/integration/smartcontracts/executor_custom_instructions_simple/src/lib.rs index 2a8f5364abc..17c2569ff59 100644 --- a/client/tests/integration/smartcontracts/executor_custom_instructions_simple/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_custom_instructions_simple/src/lib.rs @@ -8,12 +8,12 @@ extern crate alloc; #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::simple_isi::{CustomInstructionBox, MintAssetForAllAccounts}; use iroha_executor::{data_model::isi::CustomInstruction, debug::DebugExpectExt, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_remove_permission/Cargo.toml b/client/tests/integration/smartcontracts/executor_remove_permission/Cargo.toml index 31ca77b6631..6c5a58306f4 100644 --- a/client/tests/integration/smartcontracts/executor_remove_permission/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_remove_permission/Cargo.toml @@ -21,5 +21,5 @@ serde_json.workspace = true serde.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_remove_permission/src/lib.rs b/client/tests/integration/smartcontracts/executor_remove_permission/src/lib.rs index d5f6ba88a7a..d93b76c2ceb 100644 --- a/client/tests/integration/smartcontracts/executor_remove_permission/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_remove_permission/src/lib.rs @@ -6,12 +6,12 @@ #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use iroha_executor::{prelude::*, DataModelBuilder}; use iroha_executor_data_model::permission::domain::CanUnregisterDomain; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_with_admin/Cargo.toml b/client/tests/integration/smartcontracts/executor_with_admin/Cargo.toml index 440bb0ac557..808cb9d5594 100644 --- a/client/tests/integration/smartcontracts/executor_with_admin/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_with_admin/Cargo.toml @@ -15,5 +15,5 @@ iroha_executor.workspace = true iroha_schema.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_with_admin/src/lib.rs b/client/tests/integration/smartcontracts/executor_with_admin/src/lib.rs index 246280635a1..d4466d1783a 100644 --- a/client/tests/integration/smartcontracts/executor_with_admin/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_with_admin/src/lib.rs @@ -6,11 +6,11 @@ #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use iroha_executor::prelude::*; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_with_custom_parameter/Cargo.toml b/client/tests/integration/smartcontracts/executor_with_custom_parameter/Cargo.toml index 376354bb16b..4fc114974f1 100644 --- a/client/tests/integration/smartcontracts/executor_with_custom_parameter/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_with_custom_parameter/Cargo.toml @@ -22,5 +22,5 @@ serde_json.workspace = true serde.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_with_custom_parameter/src/lib.rs b/client/tests/integration/smartcontracts/executor_with_custom_parameter/src/lib.rs index 034747f5d9f..78aa0d5c1de 100644 --- a/client/tests/integration/smartcontracts/executor_with_custom_parameter/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_with_custom_parameter/src/lib.rs @@ -7,13 +7,13 @@ extern crate panic_halt; use alloc::format; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::parameters::DomainLimits; use iroha_executor::{prelude::*, DataModelBuilder}; use iroha_executor_data_model::parameter::Parameter; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_with_custom_permission/Cargo.toml b/client/tests/integration/smartcontracts/executor_with_custom_permission/Cargo.toml index f4ce6650c77..32cf35963c6 100644 --- a/client/tests/integration/smartcontracts/executor_with_custom_permission/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_with_custom_permission/Cargo.toml @@ -22,5 +22,5 @@ serde_json.workspace = true serde.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs b/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs index 8f95b5f61d2..62774fa9fe8 100644 --- a/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs @@ -16,15 +16,15 @@ extern crate alloc; #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::permissions::CanControlDomainLives; use iroha_executor::{ data_model::prelude::*, permission::ExecutorPermision as _, prelude::*, DataModelBuilder, }; use iroha_executor_data_model::permission::domain::CanUnregisterDomain; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/executor_with_migration_fail/Cargo.toml b/client/tests/integration/smartcontracts/executor_with_migration_fail/Cargo.toml index bee72c68c99..b6326eed261 100644 --- a/client/tests/integration/smartcontracts/executor_with_migration_fail/Cargo.toml +++ b/client/tests/integration/smartcontracts/executor_with_migration_fail/Cargo.toml @@ -15,5 +15,5 @@ iroha_executor.workspace = true anyhow.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/executor_with_migration_fail/src/lib.rs b/client/tests/integration/smartcontracts/executor_with_migration_fail/src/lib.rs index 8cc6926c4b3..169a91e7882 100644 --- a/client/tests/integration/smartcontracts/executor_with_migration_fail/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_with_migration_fail/src/lib.rs @@ -6,11 +6,11 @@ extern crate alloc; #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use iroha_executor::{debug::dbg_panic, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/mint_rose_trigger/Cargo.toml b/client/tests/integration/smartcontracts/mint_rose_trigger/Cargo.toml index 3c7447833a0..2a8bc1163f0 100644 --- a/client/tests/integration/smartcontracts/mint_rose_trigger/Cargo.toml +++ b/client/tests/integration/smartcontracts/mint_rose_trigger/Cargo.toml @@ -14,5 +14,5 @@ crate-type = ['cdylib'] iroha_trigger.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true diff --git a/client/tests/integration/smartcontracts/mint_rose_trigger/src/lib.rs b/client/tests/integration/smartcontracts/mint_rose_trigger/src/lib.rs index c4cd864b96f..9144a4e25ec 100644 --- a/client/tests/integration/smartcontracts/mint_rose_trigger/src/lib.rs +++ b/client/tests/integration/smartcontracts/mint_rose_trigger/src/lib.rs @@ -7,11 +7,11 @@ extern crate panic_halt; use core::str::FromStr as _; +use dlmalloc::GlobalDlmalloc; use iroha_trigger::prelude::*; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_trigger::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/mint_rose_trigger_args/Cargo.toml b/client/tests/integration/smartcontracts/mint_rose_trigger_args/Cargo.toml index 19715ff3417..9fe349eac28 100644 --- a/client/tests/integration/smartcontracts/mint_rose_trigger_args/Cargo.toml +++ b/client/tests/integration/smartcontracts/mint_rose_trigger_args/Cargo.toml @@ -15,7 +15,7 @@ iroha_trigger.workspace = true executor_custom_data_model.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true serde = { workspace = true, features = ["derive"] } diff --git a/client/tests/integration/smartcontracts/mint_rose_trigger_args/src/lib.rs b/client/tests/integration/smartcontracts/mint_rose_trigger_args/src/lib.rs index 41a35db8a6b..38f6374fa88 100644 --- a/client/tests/integration/smartcontracts/mint_rose_trigger_args/src/lib.rs +++ b/client/tests/integration/smartcontracts/mint_rose_trigger_args/src/lib.rs @@ -7,12 +7,12 @@ extern crate panic_halt; use core::str::FromStr as _; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::mint_rose_args::MintRoseArgs; use iroha_trigger::{debug::dbg_panic, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_trigger::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/multisig/Cargo.toml b/client/tests/integration/smartcontracts/multisig/Cargo.toml index 3c4c6db935b..c9d2e0ce879 100644 --- a/client/tests/integration/smartcontracts/multisig/Cargo.toml +++ b/client/tests/integration/smartcontracts/multisig/Cargo.toml @@ -15,7 +15,7 @@ iroha_trigger.workspace = true executor_custom_data_model.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true serde = { workspace = true, features = ["derive"] } diff --git a/client/tests/integration/smartcontracts/multisig/src/lib.rs b/client/tests/integration/smartcontracts/multisig/src/lib.rs index f26a9af2c5a..8df495d344b 100644 --- a/client/tests/integration/smartcontracts/multisig/src/lib.rs +++ b/client/tests/integration/smartcontracts/multisig/src/lib.rs @@ -8,12 +8,12 @@ extern crate panic_halt; use alloc::{collections::btree_set::BTreeSet, format, vec::Vec}; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::multisig::MultisigArgs; use iroha_trigger::{debug::dbg_panic, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_trigger::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/multisig_register/Cargo.toml b/client/tests/integration/smartcontracts/multisig_register/Cargo.toml index 09d62f6c25e..02fed833dd4 100644 --- a/client/tests/integration/smartcontracts/multisig_register/Cargo.toml +++ b/client/tests/integration/smartcontracts/multisig_register/Cargo.toml @@ -16,7 +16,7 @@ iroha_executor_data_model.workspace = true executor_custom_data_model.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true serde = { workspace = true, features = ["derive"] } diff --git a/client/tests/integration/smartcontracts/multisig_register/src/lib.rs b/client/tests/integration/smartcontracts/multisig_register/src/lib.rs index f3f2dfb6530..e1f1a7c0488 100644 --- a/client/tests/integration/smartcontracts/multisig_register/src/lib.rs +++ b/client/tests/integration/smartcontracts/multisig_register/src/lib.rs @@ -8,13 +8,13 @@ extern crate panic_halt; use alloc::format; +use dlmalloc::GlobalDlmalloc; use executor_custom_data_model::multisig::MultisigRegisterArgs; use iroha_executor_data_model::permission::trigger::CanExecuteUserTrigger; use iroha_trigger::{debug::dbg_panic, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_trigger::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/query_assets_and_save_cursor/Cargo.toml b/client/tests/integration/smartcontracts/query_assets_and_save_cursor/Cargo.toml index 8c59c1ce8f1..41c9da685c8 100644 --- a/client/tests/integration/smartcontracts/query_assets_and_save_cursor/Cargo.toml +++ b/client/tests/integration/smartcontracts/query_assets_and_save_cursor/Cargo.toml @@ -14,7 +14,7 @@ crate-type = ['cdylib'] iroha_smart_contract.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true parity-scale-codec.workspace = true nonzero_ext.workspace = true diff --git a/client/tests/integration/smartcontracts/query_assets_and_save_cursor/src/lib.rs b/client/tests/integration/smartcontracts/query_assets_and_save_cursor/src/lib.rs index ba8c1477420..cd8f87b4ee1 100644 --- a/client/tests/integration/smartcontracts/query_assets_and_save_cursor/src/lib.rs +++ b/client/tests/integration/smartcontracts/query_assets_and_save_cursor/src/lib.rs @@ -7,13 +7,13 @@ extern crate panic_halt; extern crate alloc; +use dlmalloc::GlobalDlmalloc; use iroha_smart_contract::{data_model::query::cursor::ForwardCursor, prelude::*}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; use nonzero_ext::nonzero; use parity_scale_codec::{Decode, DecodeAll, Encode}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_smart_contract::stub_getrandom); diff --git a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/Cargo.toml b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/Cargo.toml index 8244730ed6d..33a478ddfad 100644 --- a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/Cargo.toml +++ b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/Cargo.toml @@ -14,7 +14,7 @@ crate-type = ['cdylib'] iroha_smart_contract.workspace = true panic-halt.workspace = true -lol_alloc.workspace = true +dlmalloc.workspace = true getrandom.workspace = true parity-scale-codec.workspace = true nonzero_ext.workspace = true diff --git a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs index 0e45690ca93..c8826e00cc2 100644 --- a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs +++ b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs @@ -9,15 +9,15 @@ extern crate alloc; use alloc::{collections::BTreeSet, string::ToString, vec::Vec}; +use dlmalloc::GlobalDlmalloc; use iroha_smart_contract::{ data_model::query::predicate::{string::StringPredicate, value::QueryOutputPredicate}, prelude::*, QueryOutputCursor, }; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_smart_contract::stub_getrandom); diff --git a/configs/swarm/executor.wasm b/configs/swarm/executor.wasm index 7bff907546dc02ce0ce0bbc275f51825e3b4c6d5..4cf05e9698ebb72f6b80b8466ea6a2d324805729 100644 GIT binary patch delta 127010 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≪iXF#NSJ;W4!{6qM@-4-Kmr+ zNM_a&t`w%XUM;%N#zHEY#4!l9X|lgbeWtyp1-;GJmz-SDxHl2OrC$0ZYwmW_+4izH@Rd!~;T6dLm(-Y7!~nY8Y=@DN=1PRh z@|xv1O2lU!@%bk@?yJ8kzYi~TR8gOH#3f~H@HS8aZa3p`4?W^`GagqW#ykD43gUzk zepd&b+s$}c!bh$jwzHN6JKzK)-Jqs86cn|>PdA)VZePIl1^NKKKwq_1RFl;|WvwV} z$pIXsiMs)@fDYcE=HWtUXC1vEhy%$wZUgR6(cL0C|D(~%|wt)P>{Kdu#J)L_}G zqA1Z@Yj@>Cx(NRI993;L!r4;Q#kG{?4!jUWP_!IZ}fq1&q8JvWq>4`(QjO+EKy)`ZL5>Cin()>b(aUj2ls} zOuhT6=o(&*6%S6)8jq>m*Tiv^J?PQ^-&TKwjZ3~mOJ{y?9Ny?bC)qgjMm7I6aU_nX zzh50FQa`>X@{@N6js}H+8A}C62%=_dbb0h5a5vj{NN`XpDpZCP6hI1@wlL_8Dpy(D zTSE@T?4oLwe3y54HVh9seuNwfjYX{tL$+ z^_3kk2bki@m7G8=a;#_?YdVV}b8(jPt`{ALRhp%QNP#m@1P-0sdk9dY-C921$K$Ec z11_wkqJRSBkVNAutc?KU=dKrnl7y0IEuCgA!~r|XVk{vE#yr24nWdbABt|$&RGBd+ ziJ<`ID$PndpvTd+Vss#x2%Q&y_GASkW|RYf;1hR5v>|-yP7YCBUl+xlIB12}C^L@H#ch@|Fl_L7;;=H>ZG?s z>y$^um+3R{X1+>(4cb-JS8s_pR_d+a#*x{@YV_MUa(tJX_BPHG->t5ETbx>O50eCm zG3YrC8b)rMdvAG13>5c0G3Xu9Qiw;?#4V_y)U++4|479D!%YOx92Vvsu`s`bV^HCd z-wnj>VlFZe1(0~iSP*2^p|D=4O7ejp)vhf#(!59&z6+n#Bf&U}1W~Iln-eJXdW=2Lm%XzM0*|tz4|N$)WB5LIs1s zjl^NAztQg$JWmge;{Ivi z5QGed0?Jq#Y=jFF9Ql!=yFqywgdXacdqh3u-zxf;_IoOWK;aSu13ysb{6OtEl?BhP ziB8qbt)h4``l9es18^hu#aCO!fH5?| zc)gWFlj)vpI&>;(^~2q;)}d~+%A+xmdx`LKm5iLJF8x4s%)e8b!qynDxu7gS`yZ&M zKM=jdp=$33qA>SM&hr#|Z&pgMmf&c}28N1{g=v?wgi=vlS6(FPGrn$JVQw^(aL+1-Ah`ua&<{*z}L#!|m}@I`-Haj)9BO_U!_u}oT^FknoV7I10j)q|Cvopf+Aa@1l@5s0F(m!GNGl@eC_< z>UN<*NTaaCx83rwxFGKq4x7f;rEtlTY4K)t*33X$J@~P>Tiztq_`iwXYV;@Kbx6UY zPep&ojOb7uQzvbCbo3wws$Yl1(|HJ7=3?0B5T}MQ&yJjzDn_KoG=}(tgPda2;G)J2 zGKVKMIYtM#io#$<5JXhDzH#FzA%KX4{d5gx?Py>7g=GOI&PLe$#toz-1OjpPreaA# zEc)7ipTxX8AoSVOX}Q?}ap*vMJh0F;3`7DPSGGBvW*H>2sR}}gRy$P=2o8rBq#6LH z%2lH&emU5n4Ne!Qq;W$gN|M6l0EATT#$dEls$3J)MEUL2Lv_OsR2-N)6||5 zD+7QeD9dolApm7Xs@zQ(sr}NLUhKHHhzNuiJJzik2b1bTfVj|UXMx{|Ad7f9D2+fBHg%}i zcZf)`39}VDH9;2$BEb-3G+p8pK+^~hYqxeFS}S#Gph^CGI0jWlz!;IF?w}35K_cqL znnh;0(+H4hhaLSH_K7()fJ?00nguk8APz3H#hogE)D9uaoiru!gi{jW*kM4;wn!uU zi*Z&#FBH6y1!%KFYG>RtLh~RRfs$?(!b||$JKX|6d$ti+^B#5kKgH2i=rCoXrL{4u zu($`s$wXk$N2+1ID*s#*(Mg2sW`?RnW=TzDOs&6px~JqXtw6{2!!KVdAkWp%`ya9ksn>DDqxF zhLT>2=(#O2EunUQE)Ef&tF}8~gnq8Z?-ZpK^TL=8Z{^TV6S3@rlLKFarjNj|H$`Ge z1ry?Pb^T7!2LU5r*(nlYulnas+}od`!n;Hdd1Y7)+$AbF^c=#q;L;jaS!O+=gg59m zvYeK;!}k=1H-|%Mcp+e^8Ap4o+d_o;2WL8=6;}M}y4~Wk zmWYB$W(+>MgK4Ja`b$rg?Gg8h$X_sB+AzOQy|GuE?^`R4SJj9w#qYb#%^D7$StJq# zA)r#sKtkjRDMAzkbfeT!Kw)Bd;jt6Ok6i@>90mG;PvkRe1IHjHDKO_dQG#-GC4+bY0s?Mo?0_fYb#jh6@ZxoeWPt`Rsj0y`;4^>^Jn3su8BABoOEY z0=f11s7#iQZWG0IGJ%EKb~4sB?p6T24M89U0RRR3sq#L`KqOH+f!22QGR_ezHmWcG zC5n=Z@g+K-1V8@iajzT#Q2jG#?*S0gkbTBoGCMIGKFGrazCvT#&2#Z|rXiztEasKagI4iFu`@gfV>b;fh!ngS8^G|y za*>x?$S?vM6Oz!L$Naa@3j-i(Jj9-jmAKDb|Jw7k7Dxm!cyptEiF*MO#^?ifBoK`r zw+MV5N1kskd*yjv-y~=$;4_P2$&e{7oMx8ehHWflmX9nsKOXi{pAbksAdiBH(pDIL zrs3H$o=7u}byLEV?V;^5R$5d#581Sa3!7yZn!f3^5XA(T9Dy%P#QY^dZ`c%QJtlFV zIp#(GUM&5R1SxqKvw8PTBCx59h0cfh0#r?#F&)>RF)$Bil~8j=Y7FrJC7PttOc9BD zy=ac+KR|ONO-u%I2zkf=YZ18+it)caE=<5Qa8%MWDuGW|;%!vITY`as`td)K@P?sc z1)N}j{czF50}RD*V9rK$!aEkFvD%q7e)^1Tcu0-6gro^GXui;@>7Aj8MNc;(WYa4e zu8ny}z+wgBG2YapLo)G~T?OMOW+O$ZYeis6V9;LvYMZ%M&o$VFiD92N#UrNo!i2am zAvG~eGkKmVrgLMa_k3_f!&=Y)XnigHCTWg{SB%D9*=ZpyD({HOI^J zGiYwkho4Sk5RqjFgET^aCIZ1MHUc5c34uf)z_Olva04tK4U$L#CPJzNPSXETg;7lR zcrZ8HJnkWy@|lm;0eDEt3y0A6CX*w;iC`+zz&`5m?6A2Fr2#dZ*makJCQ1MtB>_y# zF?uyWp#t=WAWvfcfEqcv1X&sYbE};f1O&@4#JI;h1oj=so2y_BFrf)hFoNr$G7LJ1 z0S{s?nLF*8p5bUSFnUI|BnKEuz$qUK;+?oFI64~}7gQ8~k{S%nb%9X?1*Av-yA5{N z%)v}my8Ds9f!!rpv(z?PMSYD>yc5oe$q?kmo&_KgO_Gc!`@kOF2#WD-CbwviM`UBW zkcI{Gc)BV0XdQ4!qTASv5rbe*88Zp3iDKj~rTvi0rc+OFT-kF=`yDYKfr2OEYpD95 z@s3CkTo7~k0XhMi->jTwY!$I&5RF1%OEWeNy^(^V(F7qqq3?tVgy73qm;^X&<5}p@ zs5MvV*FNY)#IpKe3uGlyD3Gy-i!v^_6v~H4MVYHnz+{0#n_+rF%^-4;5Ff+~F$pOT zu8IXmfSMo!0Ixl|Af*BwS#adTIvbOG-SKA zq)SEuR!Fx{#I)xm4o%A~nZ~GWFN@q5w@Uc{s%dMe0P~u9NHxpOa?A$PgaeAhQZawB z7PCNtl_1rv6T77fIDKI1G{mG@xqpU))PSQ4Qt+h8^3*cANKH{Ko&&C6&ju}i9a+n^ z7ZHlx6Bcp-;3Su%zQ^1{)qg4{tTs2@sTn3-#d2W;X+w_|QTSz%#dCs}^`HhDPe~79 zU9SvNRLN?_K|unu3B%Tz6Hjd|*mx$D+9b#bU6-a>TrWfB#(A2|H7dCR5xFP=> zxeOT(JdnSxDB+&bV^Lb6XHw~sdq=E*qoI@h0~X&y%ZIKtniHSb7L8V z+)QK65F!x-drUecPiCYuBv{LvY${JT$-|CJrKu!gs>u)&nsn@!Buy#uycfdeBMY80 zz`n#3U`R5!Fax0oW*B@07Xk9{69r1Zf%JoMha$y)?@{A}!XXqa!fv zP>3qb1Bb*_*S z#lh)jVx^NbLl>T&@Jzdq)(9RD*EDlbZ6q>)`X)PrtaaU&V0{8ni@r%`kSQH;v=YWh z%4sawZ;@_zi3vhCBf#O&rt~B)nojtS-02fuP!kzHs9`VNS)6)o>CZF<&TaX-i8cd1m3X@IN@wPix+^=tq+z`hm%mUejEe0?rY~oSd7a zEm24G)8HG`BhH}7!z9Dt`m4|gCtCpXPmT}G^4Y?87c8x{11W+`?Lb~ECUmC*2UD>m zactTk;dE9M5p##`gxCCz+M{J!$~ZDRvQq-)ZE*zMJG#iJNJay-Ve%Z4bi@cY5tO8Z znAOaUNh(0f2gAWsHUg9A2!u^EGLa}!D?j==1F2e~7h2kJ$AtH3C=JroW)4)c3z=pm z8PW_67=SPoxy>g6Ng_KKt0CehI=b*S3o0TvIRp)?|LKy^7zUWz_Cw)!6s_N1!1~*lfX`z()*nF{6+W!OZp=|gKoXe~ zShNsv!w9BNBC~Ib){rDcwc`k()%aM1mq>+*<6_IG8R&~@A`ok6R5pjfbQ*#Si8d^d zZzSKK?TXY4IDJcuo=ZzJcPtp0ioQXpVL9mrLZr~lLj~4}(D+j`_5vbfzG>#E1Z|5@ zGw2_Mn+ygEM0?e1qhoY7bcZC@A4zypb>^k!#W9{YTC!27+KZ=?Gmkh$jw*p?HZDML z*!hl;vde_o9-Ejkgvf%rVyM#m1HOxN^Z*N>Kx4h&D17L`H?6D3aqLm+bFx&;zeSsx ztI5Ia>*pbF42fbWCu10E0{T-3uRMNO(?d%dsEKJu!#&hIc=p70_2Iuo)u@j-oi|eO zDeMp}_b}wYA+@7-qfCT{7X6N};4yK~u`DvQD9#%MU^24Tkh}$s=N;q>R!4m;I@89( zjC)0&@%bd`-*y;BfgD!lb;F++T+#(yJPQ=QYl5$$t6V^CrQX9b|V{ToqP zLmLhrtT(;;AS~%iU>o7Bqi)f?7oO#ApqL=`5vUxF1%hJgLA%Bw>ObFzwqlnm-zSR2 zZq;ue-fGl|`^1Ivb77s-v9;Q{PmIC#PTy~_*|S~!;ahzE>tprew>YWsH`Vt$afJ9p zUH6@M6F^S+k60)^Q$PF%HxU1>hJP;>5y+o?FHWG}VLymV=y%NzVtNt4pig~zh8E$p ztd922hl)N|qklv{J5=&VF|_S2ptw?Q^HFTNj`9;IJKv>l`ANj_v+5@i1L*Jmgu_%H-RzT9V)xC5$lJx=Z{8pa#jcxo;9CHn zt22d6Wvdqi<*Sn<6;KyTF7d6DT`~3!Ui|D*Q$sRe)p})C$#w@m{F)oF5s2dj*z`i& z)iQOxSDuYJKT@49R2QG@mRX!iVUu3hD^nNx3-QQ-{~ab zB@03~U#TAQ%STagQUC@2p&kjys#2#Q1RF~6sl`|8Y_ zEZZiWa>KJ7V5<1&GZ8*xa<{6F%851G^SsNply{E zL7rx z-Td7DH+nilo!3GZ0p9Cc$hP92YB{~tsC6x5FTfyL%9)_2WJ`Q6>~r;WOB8uiebiEp zlz;WBx|Xuz6BAqEyVHZd)Z47sU%g)+Aj8v=)KeWF!hi)Xj{xR zh0*lNC&KLK%gW*QiE~y*l@Qgb6X&9q)?%oM#0n50e)Ng+R8kcu;lz2aI(Li6Q-}2k z#LpqY&u7i)I5Q3!;P`oF61Ko}sB5#7bM*0ZPO36vP7;I+Ul^d{=TO%XT2jDjCNS6x zgbKwk^v(^fWp!u$aYR06&MQcq$;UZ!_T=MSK3XLW562%axT@}l1iBVdxNRB~EpZ8h z^iC>MbuW6AH=X#4SDo(81ZCG1 zvOb5y5yrG{2Cklyksym?cT%mrie!zSbo)Qlj3Rue>QnVyk?claa0Qn3@ZYbvEe|?g52RGms>4{@KGTp|lFj0;NS zA%!0cpd(l*D`E8oJ9?|*tyu)_Q4J+fwtLm?5-{KADqITq|E@Zh%CdIV*KnR8)h>+vG6lNbp22! ze^0|cwT)cdmd1hmI}naJFrFIpw!1VN*1(yXqu*6!x%@L#SY9qi$l2Z}zAcy61WRWD z^{|O9r!~ofm$A&DrN))sSOjs7)uIk^QMuiAJA7M^3hk>P_u+!a8sNEQ{7smWQ?+^Pn2LY6V3ih#v}DZ`EBEi+!)~$S@g1U;~F|Ig9QfeoSF46xsz158%(_$RnKm62u{zJ zRLdeYubXTkZdLW&WNRcn(G8S(gL=1{GAcC+GTz|^J}g1qqIDo0)H;{uIgDAu z1167C)VTr%%9oJosDO=z*gXf>u&+})j%`ne; z95`-8=zmo`-(60YvwSMvLv|uN9W;k^{Pz_oSJ#e?bIm1!R;Tum@e$W#L2@uPVVuNi zA!7x40$D(^*CTc~dc7AtRLU1kI$VHnn3{1?ZQo^n!^5+(hF+fKv}3(^n`rvp+4&=Ye-1NddYtD zdqOWcB!4bV6Ajvw#ysqo0&Vl~N#kDfm>kXj%#Apwt6KM#RnZ%qS;gnX)r8)%N7w6l z7B&t;zdd5%;qYJZw1Z}x<4?|j1IAtI(cZA@(f6j_vfDsS1EGGNWy3MCf;MBhmUEB_ zr_7DJ&^)Fpn7~06cI5&++gLUZ>?6B%N;R=+H0Cg3te~m%8OyaivPp=pgx;fW=_C8L zTFM#5Jw!qH`YSi|aUXe7HkR_O?~k<}8k=*!@uV78BacX6WIm2UkB?x`RFib3Um|C_ z>I*fpTUYc6`uhYQfUT4}dht=bC16F&_i_ihko?R^xIbFnSGG0@Y+)|>7PCiR9Y@i< z1UQa~Q4Qix;%Xvrvkns4uZf`;KnHL;mAK@>zOr+hy9u1xIItKp?xp%6oSM5|KlqIM z)pLCzU>_p3@fweyt&ZM(fe9E2`LP;&%w6yXJPBH3M3AK00uj&vhGwz1?XOy(nDulF zk+SRF#?bLb`CxtHA3XF0BWUOgM;QO+*E8ttEc+#^!KBw0O;`sH^uvcCcYR@htLFec&`#^95wwH;)*D$BzfD65>WCqs?3`2(eOQVOyD7_K_gk6sbQeyi|zXS-o)E5I}r?NG~;yd-K)+&;98knuO+x@zUq@6#qaX%XM-P%`+9nMF3F1gg zFS0&B@)#c4`FN0QE9d)EaIlOQgYAVmg!Wr~<`6nh!7aveAq0jFmR+i}5ZH2fEC=Kt zqAQaQ75f_@53ny(3kPc{@a$mOjbPqA7?a98LD^`%t7lcn&G8^f6zeiXcC&9tLujlW z2DIi7{}9KoU^Yrq4-06_vgRnBOv zvjA!VM;h(M9+FZT>6!~{;bSb7hm&X#PAXv)z!Kp(aH1Z~C$&KZQ^{%RiBwH7ONPo5 zn~L@>YVe_0hA4H~p_&fo94fm_03n5ASz3I<9tB`NYW2I8c3xwjT0C4HixcqQ4VPn#m8?9uHZ&)esYj2H^9dh2M#vHU zh}*+mJx9`VfP^@dml-p@BP;>4v{HhnQL8B9M>0Dx1yBRR_(7d9QXU$3oa+5WEgvb1 zCu`m0$Xwz#(=lz=LZ77!ccL*`YM|}!*RR0=7kq!lc!EZR? z_PD*6Ppuyf^B0u!?r0bgSULK}$Rj5=P&F3wbd%twH-Jijg)nsHN_ysOw&t^tz1hyz zwrPYpeGQe4m|vx`fG+@#0}93(_4pXMKKZ;a)(Qd=pE1(()Dkb)Q%O-*{U9h1<1fB= z4nSFpmt1;jfo8Lf7Z_(q%a1|FK;*tiHb<^bUjP!%j^!eu1*PM@iSZJZC(|;K3oAH` z3Qs^>3exHO#S;fZ5yiyoVi1h)CHUu?BWBJA_R3h7WMNL47 zC`!bsK%BJbx#MJw(ySX;o4~M)b@Z|X zFJTCZ^#op6r$IcDe84Nd?u2RKBG|J`6>(+mLuM2b5}8SwF8dQvgv=-yoj)R_(b*EO zc8hzEi={BS1weMUB#;;)LT4B);w7D>Ymz8NN02I5Mbe!U0-IR_LvE1-Ub($!tfd|) z&j6iK;eK~)eV(cEHY(I;aYd*-?l@k~a#)aiP*p%ZlZuo=g)LrX*s3UWpf z#w|=n3CRr_y4`sIt`kltR`L%-hK;NAupxb^q15o~VUtV`OLS z$vk=M=Dc-dMVaja~KJ*onK;smH;-+@-EPP8KKZzJ_PhDFNQ{qhJ)S z;=9!=$4L`=x#8nwPk=G#csUkb&OKfZ5tZuo^+pMB1 z$T*jj>cXJc@2T%}72XR?HBhPXn`!{pkJEX01Umq5#E43z(gqqgNf(b(sT?KBeoM~a z{@|=eRa`Yr6+-OVj5nOsN#)h(Ju3%vWa#=Z(o<#1$o5OU@&1|X4SoszR!kv&Xj^h>eZvCVWa0NpL+BR*_pl|JFylp;UnU;aQ`n+<{xDj_0Q8~fzu3@7|-%F z>b4MpTQ^gFhMc#bX4FM>vZIR4kUll_|6%UU+u=bk>@)m7Ei)z#J2-MoysO+J;ec zZ=RaLe17uxV#jT_CG3uOQw|IJeGju&CZ+%ZRleNyC_-TWiM8nwloqtKLTTioISZvV%yU%t%2d)>)XS!1+jJlehU#}dOf z3}n6sGXKa5e`-Yt~Eu)QNNVSK!FOx*o@;{^W&j1AyK*Cj*rHxf5=cfVjS`D{hPa>?vL!WN^Eu zb;@5lF|QIHH?meRZ``rINjCuMZywZF$98JW`(2Oo%Z+*Mao@|O5f@~{{o(lUUw z21s4#N&V?b-^(>Fld3?p=H%}qJ81WymYv+GlU6nW7t2&&g=#z6oqURickwCVX!R*5 z9!;NGabeiEZsPc=DR?wEB<#nhhvVE1t(}-zNiKJ+RN(l2t7m4|R)RUAhH13%P>|gp z+rrx5E)Vv`w(sR4mp*mH_kdG9zDJyDu<0Dl?!HsQ>I~5r#`{VKF#C46r9t6=o(Gr~Ug*{C)vaMLdg`?x312z#V0IiiMWjI5r1by+p{ z`f3iE8ut4hGPtR?E8}akXjyb;9w>%5sZ+xt-1`OS`NN zKUi{VZP!Xyp5@s9V&`M3)(Fv{n&+&3}*f}2Z zQRjutH47?1FUUaO??LyO)~R3JQ_w*V8JAoKXG@@2!G0DAAM$q7X{tj^)thlgGui6iB@R z-(4JTH|CH6PMoD-vHR}b2t!K#+cs5K;WfIjqpEm%kbE9si?eZ`xyBdn*O!E6ae?*+ zmxR9xzH~oy;Zc3pm~A@`FP&mcchht)`N}=xFpR%;Yh8GpynV;bBI0U|n>7nl`WyGy ztnf&#jo<##u+Z>r&@_N$`(hh@c=y{&!_jr$1%&~HjdT|3rI%vfu62)G8jj-e?@Pl8 z!P@rGmxcAg*6V^ib~~;~Icn<&=(A&q*q?Sx0z^*gV37oV;tM*)d?^~)nGL*uB`j}pyIvI@R6iP?&4Oobp}Xm-aQ7jfDP%5JJPXgp zNY1P%E@d3o&N}58&NkD%R0eE$8IB2t#VYlv@ zABM%6-C25VDAeO7(VqfY8mqdN3FaE;jpl}9{#Td{el4MHcR~jKFEB@}q}9``EvkO3 zs!vfKAe4nq3FW+BiKy2CQy1{xOJ=>|SJ{lCxa=-vHb|zSlxF=upp+iH)UZ2^{eJ;Z z%QVbG3|G4Uo)=!Erv74HcyaKpJNE|E(3!OS4NOb-a68?I%bnLlZVV3}Ab(ml2MQJX z77`spiPN{?a815f-pC66S+#EXO=0WcJqm1eTM@xNo~xq9{(8P0H73c~weG%~u%#$5 z@n*C%&jW4_f8N9U>4=(Oogg`<)^*%WrfIcq(kc)~by*{HbNRaK#-&jDF>M{5{;A0K8#$;U7Hm@8Pli*VM4B4V91-dMPvpF9973 zkLz02x)b|o8!L-zqRE6gY_>4`4+8g2SV&aFX>e&_I5b%2?pqjcU;RxD3in&LZeh3+ zId*Cfn>(ZMwL7xiP`Ii+L!rN0+aCT<+491aKee3JeBhno@J&zC##r3aE#b_VzDqC| z^{>Oahzd>DCmiwEc)f(8c&DK?@6L?4X7>%nJ%x8}E&LH;b(ZGIS|T_drYNC!!}-i+ zq-dH8!|9F{tXkt5?hbb!U_}RZEjlpou3Qps>8`vRy*I<%bayyde0cQkaPKY*IOraH zfnT|`i!sI9?+G{W^IeU+O@uoUS^S}Duc1}Gz9$^iqfCuwa`PgiX8%RupN4iuP2_Z^ zr`)0P-5K8AUKAdgRs6Gijq{h@8%|JCNMpQkFG$RA-S1<>`pOM`09+2cFZ{`t>p_(S zM8#VKmPs9YGnoQUkJW1rggfWi?xeP0S#*XgLK@D@A3unk82nY7+!iHLI^IE+m99cWlu!2~_e|bmvlg`E0 zxb5!`2M<}FruDFA&?{lT;j-5?duXU3&fOV|ft zs2;!j`WP9PpYU8}+lj^}{%Aa?6hQUJF1Y`QRvhzShVekPZzZompfk32KNyY$jrSi6 zPu_qC5lmiuSXkuX>ePqAedsUGKNOxeGE)Y9i=XK;b{HCAeNi~&;qZqb^pA(V7Fhjo zxYIE8&2Bgi$4SbYu5YX4ENB|aKEe%40+W0z(J3OEj926g;b*sJHAI%LOYo-qBw!~ z^rOr-D|0~S3^)F!hmA+c2!l_nG8x=hGf}?`04i^3oi_2x)c8qF5$7$;Y3ulqt@kiZ;FcyA^sK> z`K=TwcaJ>s%Xrc5-bK8Oil*b%X$fahO?r#UQvJMd#*vMEs~2nea@>q*je`b{W5ljW z??qXbo$Ic1By+^IzWQ7^dK*~?giM*X$wF{Ccw@ym4gM(9j<@QHuMh+h7MY?Ym%AOG z4-dzVnK8Y|LPB4AHaui~LWckUo{%fL60+p^@c3Z1+u?=q!hPG}Gyzsk*cpVdCg(BL zRNJ%P2{ueTthuTx-;cElL?OAsmR1mGZTmU6lzd~SWH)3vTVR|UzZ?VfA&$ByO3Ar@ zEAeKRe-Y7KG-F!7v)r;5!@W3!d&aN&Z!;ue+32w)oJX&7AlOx%9o)$jjmh30U%~;T z^%|;eG&D7Z3lfs-&HluMZ_ay(wd1v}=H>93Xl<~on?59WRTBq|SJ}og_Bh=Xl`3l_RpUJWPJE#;6tiRg81m#7E`ajZPUv>hbPPiH+?n9)zCnKEvn90ROl2m;=YDM^D@3~fa11gQ`nT_SadA~Qp_TcZX{!OOs zbKRzIhCB3Wug>>|ScWuqhSOq$4=3NrZ?d8H8@Kk&aL-X|YfRzVW^Y+`HZqWxxhRnn zrQ}m<-H~sxxO$0mZ-qm5^PGp}upgv8)cU^d_8KIyU=3YI=u0NNWy|Z?VgAyP!&b4C zW$Ut7bw=pEc`IDEvX)=TW%#ZYtk_R}_QH))zCqZI*+7>*3vpP0@Ww>1( zN6wG6?C#!`VgKfF5KHt5HBr!y4|XEGxS+JdIg!@=eI-tYaqhX5VPl^ub^gfuGy`q{ zGSt6g8AiXutb*4cy%V0U1LB`~2kU)_oBCF80E+(Aw}Jt^!{k-=>G+d?6uuB9m$>@3 zgW{;|tHOx|JIz!<+huu{q&^;`8wC0Nnj85pP%n1-zl#rJhCB6L#@tKY+;_u0gXM1Z zyWt;MYCm{YcniD9y1y6xHn_a~FYnJuCk~IO7M4 z8RA20m10%C&Nyo)=i4uETv+N-W9=+lHtJQO`X(1=&FDZWyS?k8f!%O-R3+E38QJ2j zzy2UB5Y)^HD>J1k{t#-D9x$8CRR^GWlf*0w{FTEj%VLV0mZ>O3u#M?<5)o{vV?q)L zPr=oZTrYTS7QI=9!1lOF0+Hs%>Y&%NeLzEK=}1_hL>%LqA8Lo$z}`9BBxUGY?RdUk z{xBS2!Px<5hZBouv9G}Lc?%n`j6N9^_Did)H~O$`Rj!>g8WKDrMiXMmo*8OT=`s)K z8QQF)fM%mCD^h69*(M%MuK}3cA`(){WSm85{l2CWF5;d6PZ9FfDdNekQ<6x zLxH7oegje4C7WsF{B>avp5oSi#6rfL_L`5wlY;*_vtHjZKeT;gvSygIiKWTgpVOC$ zG_gIWK!}R8IhIE5inIlmM%+P`*8bjVf?Zk-@WjIkwUgGZd+MC`*R6YQsILs3)=s+i zg9rY8!LxVFdbi3a7L>U7x|y?|TK&vDZ>Ncg5?^?6{$+1}@!om=@QI{c_Qbk>TyyV( zZ39&_Ur0`ZDy~X^oQOYINj*+#>fuiLB>apO@IQSTe%xPTmvY85WpO#-pvevH_|Mpr zctiWMpM}SS!Myf8zYKFhcxJuZcTLzL0uWt{0v&?Uv=P&LpAsYOooNb-3w*Yu34eso zh7gmjGnsT9pKn0Zpe&z^k*EvhbfVnkpR3+N)8H)QGWZ;I;Rc<+18iv;lI24L$=8WT zzys+(WaJ8cz|ZaXRd}c;a5VsO_*RX!HnPQCY3m?XH&-xbhsD*96|YCubfUg;g+U&O z+#&IL6s@oRhPL=$KB~ zx~_CAvm7ZM=p1r%Z65X;0wkqlH7!%O9vuogt}mo?tgtNW(a`}N^%)%)wt(qE$7)Z< z00LUAJ>L8#T;0Q(U^-a#Fgn~D--f+CaVsn_MI8%u15L01yn1A)w^^3X-3dJlT0Jt< zQ4>Jv+_{hw%aXRh3bK%=3+inM45CzM>Sd_6&-f0U;6-XvBx?qzrDuo9Mh*1eV_1X0j>DPfkN^@dWi>eiMhA=x3ew>dQ&FZmeT*L^U zjc0y+C&JBE$;yK89cG*ZYEE7hlt60eEKxGBz)VEuoIuuq`9RGpxKDu}v{aVw7ub{F zhh%5;u%}CmDX#jmBeQbYxKOK|V%iR5a+I-)OJrF4Yp4)G**ac&5y6|>-VIT|J+Efh zq8YKNC2JDNjsxs6IbPsD+oMfxeEWqy3B3<>CA>7vyQLxOpW2DYFD@qWo=hd~%SS=; z(Ks|ZQPLSvRKS5@Y?cscBGuKLGHN9#CTH~&q`@PT7BXZ7V>m~-S}zne6mMlaDUB;$ z2p+Y`Nn_2ePK8UWP%lvY5O`}J--)Wd+}OM?%~ONlE_mr_%Jmv)U@Li?5e|wlbC6wEg&X!VqR!uDx>km zcw1@!*{$Howu`c5?~@eKR8mT2EU(`#x={innp+hs^2!KS3qpH_rr1Ch--vYP3jTQ& zwy)X^Sjtu*??Re>ME8LAGV(zcZRWwM0?%XL_c6fAJa$QsXrJAg|HI+%lyD+ab0_l; zW+`aSN%Z$*Uf4}7R$TQ3$(Zp~7L@8OeCtel_j3g|w?{Pk;JZS=L{g8|2Q@oVKI@N6 z(JHzY0 zA{6Yl5C)V}0}jB&|FR&xhb3e$+x}puLmK-lp-lQj#6hUrxMwu& z2pg2=#4>L?O({aHf{@tNnv*rVzG*EBb^~^_rB;r!uFxy`p|=V;__&@WAiHk;(SHTj z$oeC`%#ihrEmA7$gVqJqgY&Z^V%w3NpmCFXzgKinYFupy2^qTUBSFvJ5E6!PSBr0j zrFKE2gG3OR6Di1elzX^$bb5c|{sKN!cjCS~xKGq)XZt9_w0b>*xy@3$Rx9(fx)c4b zy-(Ec0inbTxlXl+IhNS9jptZuCj-&l);H?o(QUJ@mBhJM`bIB~F?5&FD4l7c7Hq!i z&VuCL=oj_g#7bbzRj+3fM!k76eHX_OjbTxKTgG6e@y5^U z!=hN_dpsuz(3doP74N*bBO5XibX0S$GAZX>GPFxm`FslS>vcRA=n$ke+Q$$^{C?-T}HA48u{I5`xzgnW)ftl%96;8us2?}ouox=)&tuZhS3MbT7JFe-YZ1g=N<_2w*_v8w{ipAvKw+WZjZ)j_jswUftt}6?GQZH zzN|6o6ZZH(Bc_6=>XQ$`WR?4Lcyw6fLbmsXC`{BVrypybLz{xI32`29mqGHBYi*7; z?==YI$~ZKDgS)>u>OW>&ej~^%J3Zwy$Avl|xipmF4TrLC91s|fhz`ZM_xlmi5FTfa zh_3GQBG>Q1ys^fQ#T7s9{Uw4kiko~EhqroJ8uyeGIQ?NeRB|0To;SSq1`izq= z58jP$Z@ZIsi*_civ zIX`j2zsnQeFm47q%hgt*L>r^=Vd$G=Wqa>Eqep|_wf0x{ihddPcoP#3qv?|SIGQ(1 z-gJBYD4G{s?mqodbin@a+sUz2#ZRgde%kSAAK6dafAWg`v^^7J_1$(Dx3$Iou>N9` z(lA`r3wRSf6>E8KJYk?EiAi~XYQ^B;%NL;&Mj|F_#=|LEA*1h0MnXh+cxsd8)cCr(#pg9me(Q0nv|%*xUTSqPuC3S8l2v&ZGN*(I3MH0{7!b zqTYGI(76<~$%F2S1EXQuhJ4?F(d~5C_M?9q{kA4NHF7T>Oxvw>YYvV^Oq{}L09@?_ za=OdF2H1%G=J~&dcuqrgQVq<$;jqlx(w+K>Pb;=Ckh@sh6DDU14OoSR^-FXX?YOKeZAajqkCuREH2RMQX}!e6Q@u}|)=U+yix=7AsIq87 zu)42L<476tA}WSkoI`ny2n;_|H%)KLt)Y-kv73p5HHP+! zvaRym$o=3iQC}Sx24KEuxn4uD(clZLAsNNRm}S7{&^)rcV-KBGZwl$vzOLq#nvofM zokjCVW~!AL_81Y^zVNOlB}feFm$6clPXvqRHpWgkDjHfy1yNi9wihsD#v__ckKA95 zigs)@zDp*(h*Eo4luRm6(;!GD;k|%}7nVVS3F^Fpo-IuCO|v>Njt0+pv^_Q+?W}F= z^yE|kz*?KQv1C2kJ02a4oNSVBm3hQHz8o20AJmz&4L9urLY#K@eXBE{eC1+{+NI33 za((Sj9L+kbdhrv-M2G#4QHBUGHS(0O3*Cbkj>S7}#mWE&O=-nsPnMVDtQM1jQu~x^ z(hLdtLAFP^IDVoAuTrx9yGrY_5Sj8aEKcv1 z3T`Q7MK|B`FOmed)$^Hno3>-4{!-YN9vc-#U#KsFtX?+51RJlA=E#@8Y}HRw&arjs zw~mc|8=hP5et29obQflOc`ff2X>k44HJlpnSe=XV*SCb#t%Eeqbg%%Q!$8Q7{|9#~NK7Y>> z{d30?eg4TOM!Tx~ZRz`K=`(+l&o}-g2GdjP-GL`TIL{MKiZ)aJ8`JO4r_bkd@oIbBUGwSPt)~KI8Zq({g+OE};a8Rp9 z>6BBWA?}7&PE97$O}zBzKI!8r=eJ$?uURXrPfAEMFdv>8)%F-VY4t02En9u_V>A2M zm!vJ)SmbTn77f+&r)_1JJ%&x1d(q`@oN@iq^ER{0f}Ql4^x<>UpMPla<(E8B)fu>3 z*A{gb4n0owh>ktg^X^Bddg?&b+8#Le%+NCGa;HVZh8drF8lUP4{X6lgpZK)%X&%xs zr=<{1^Q{G>{_gG5qTZ_hDPCsHaN4f4VQ( zfK??3n@#a0e>@cqpE$*H_!PZdpT1-;#MyZlet7O{m)yF1D`U%>Q#@z$XL!zTaz+KL zBAS?^W~$rKlyS6M?tK1@BWjn`S)Xgzjy8BZk2uNBxX9idl2$e2fv2E ztv(X7YRMbH#)Af3vGWE zxb~gorhGna$(wJ#@N(73CR#Avoq1+7K>ULn)|sC;(}VcvOb;S|mZu#M_Wif%b4L1H ze3s9@LN+ISXAH8=Iqqzq|Cj0WobGRBUDmtf}9(2y$ zaE*|7c3IRCPual1H^#MoB=jn<0O`4AJ-N22yM*qOb36lvPxIW`H+`O*K5v{BeJv$B z_uS|-Jx8AxjUGD(N*IXcvnj5tI;zPI*OK##dmNSpnp4WuXP_igm|PyZBd{)lYu$C{ zp(lw|nQ%(=8288XnV`&d7n~nmR7%_Df@r|L^MJl-)sc;ITcTxUXcI1ydI7lH5XBqf z^(Z9}uAh2h<*qH{wyQc$s3bQ~C)MBR+AoOq=yg-nlw)nC%I>p}C06fxPLF;7RzIE| z9Reae`ngA^N6E&10U>14q5H8kch=;-mg`qKMSi*9!f5!OexcqYRlX;g8LZ69%xj4` zyXw%W@QFEa`YA#L|z&`Jjyv>ieGGgo$Pj~!9(NJ8Mvo4Azw*H-i5jB`%eAdEB zc|Ak9^Ay-&Z-iNS-!JJ{N_9+^IA}Fg?T}_JmDs0Dr;*Bzn<#0IXgfw@l55DQ0-49C zMjy2{!0mb7ts}b^j|{b?37DkV$8rc!9j7>HIZsw5k5Hi^P3VE-PGPdl^4X2lU|+3u zL*R@Wk5UCd|nX|wzJDX?|d7n7*Q(p9XLrrF{a&eH1zUB0- z{70t7jhdr^m>5zKYNM*KpN%23xwu)=TB24|XuYvLDsd^N5;@i=IG)YcD118wDvRLa zpC-S^R6cRS+Kp!RUxmC;lbs%$CKxsHY>K)czCFyOL;ZT^wq@5 zq=_P!WC&*M>{~tc;aNsa302NBBbq?Zgz=i-f~wZ&^ik0Dp0dBpUHe7frZ-Q!INBWP zrAsmv_6sjb zCINIJ?%q^zo2H6BpUwq^lv-f>_0`7MZ35ZlQ~Y{#;G2cBxqE$#{r53n!MAp8OfclJ`ssnb28mL8(={ zpyW266*UhsnIb+xUCh&|@?Mu7F)M1UW+uP_nY(yaG>ik{_?zIX*;(=$92>%F+ zN)YXwf;3p4@+kvsc48^wv4u`a&smB>R!C`S!foJF;E(X|FAI3ljNI~e@FHiFz2KQb zH0-67;~y*JFT6- z(A5|sVV6}7*leklD=BIX61g29r`WruTDRb`XkXt<9hSS(A|1Iy0q%;#3K<|>7L9b$ z<_3@;Ul#;Wp^8Pa1v8#2a!s!F@@T3@V$Oz;m~M$(k!Z8j^*CV&cV4-I6PDTq5%Uh& zf>{rm#7&tUJ){+=K*yGWb|oj=!B_YNGn&OdcCEH;gVi!tccH(%{femG;+AZIwM#Xs z+lq9hb>$f`UV*N%h zYzT#9Jq*wqqoRGA`q3@={O2uAtiFtj+CP{R-5V3idE<3aEWZRNoT8XB1?BFW8x6|c z9kC$gUYi?@>rX5>s5RIcm7Emm;=CKlVdb(K_qaY9zJF>9;^fqhaw$hNl5X}4P^33| z54x0ps`gBM(uZy6P^yi4@hL!O1;*<-kxK+7K zldca6Bj!b;e~!9j81Z3U#(KUCw5xB?>nqA`UVaZK;iu`O_e2 zj%&SfUNpSbUkMP(!p?#315(bcS>nSbLN*(=CI#c8IkLItv3jSa01Pl?MAzV5d{DaT zAz7E0UGRf$5bq0*%q}mD(YE%9x?4oSQ7j?tE8}32`{51Iz;vlp(8~6ZhJG`J=&|Vb zY_Jm+tX%q$o}N-!B6--(iRP^6-2iU(jVY4sU`^iIeooD0GGD9ereW5JRAaehtk5CuJ{GlvzNNB~#jQ-j z4`0jWT~)FIf{Z-7(bU)p@tKj~8zZnF_b%9b2KvU!C`^qwk7KtCNm<>C-0B;np~M7A zcCzR!!^@p2L>h04%ZWIqEbD?6}Q)u?YK%|*^c=l8vC+AYz> zho=HA5ms&%wj{tp)tfBV%Q;Y43NOqNEb8Ke?squ~P4gM)9NI1 zPfACHdN5t_ACjjc3nk6onXkj9N~F@@D9sWXW?PwyrWgw)lpK|&1ZeKP%wY47K39CG zRS#4+mc6NCiGiL1;0bxGu{t44KlXeROMxcW3kZiGDhgU@Y50~$rLzJwlJQOPtA;c` z3^GlqUmE&6sQfnQeneK8ueE(jW}fq15|O1yp3IIQrBU*d-WLdaV=f9qubUe0}c zn14488Z^&ntIL)hRe(li7@33WNZ%Ag$g7tBEo{#?t+{GR0IVJyD5V778r42KbvCu) znk#>`xe^qeFXICR zagD$kPD;=N*BX$zm1V*6ER}1E^8_EHUBg!iA5oWPsV-IKnUsAg)n?J098Ybv`sh;T z7+E%*y)nJ(d_WZA?r%crUR!@acb7GE%%zUQ_M^g#?z*A1A%qrvbTKdHI5TeDN z61Dm4Cyb>?_NMt7RB(+`mQrs*YCM9)b(5QStI7{SED5w^&MEP=a7~GU|CI@?0%-L; z6>@tm%j_NQt2%x_(B=E3}6Rot!1UdnvMpzWPrx zm>ZzRzDP}^-@zQ-agMe1`jWJ=OEMK~sVdxH83MkSZojR=_ArELzB9qjR|$PC0K)+oQfLNBN2vWuxC%4_ws@OQn(MW#}Zxm1vmStdT6Rj@VktW$l(LOR^NVw2g^=XU4@~+{6-{ z7jvnY>avWgTw1e^iHBzrX%LWUjGByXs97{B z@gj9!eI%a`m#A^Un(a!kac{A`xH)%48yOR{KcdX-j2TiqVn&KnC?yW)ziLiLL!kCc zsLSn1JBI4QG%3;GWT_K7tWhY+3(}Us5*vkTE@`C&D+s4(eUZ<82P%ws7B84E) zwQ3lENEcEW`>>@DLXodg$NDC1VJaY%e03{tWJIkJA@Bmfih)7-LBxOaxR=l{GOE*W z8n8Q+tMqgdBj?>^c(K*+wM%wzuY-6Je&ya z{st_Ym*_+2^`Cn`ZdgWlLC~*T3n$ zzCYU9O8Q_UA=8YHBAF{YYIJ&y|HK}~gFQDWC`PzH1U|JC)9oh*5Garc#Ca(7LN204K?v_RqkfUWw z5qb{KSQ=f-x#ed*8g0&_{n6;|UXObZ4q97X7>~x|?)1kZyKwEk$D)3JcpjNhy7WWB zi#mUUY02V>2T+T23Uo|Ws_X2h1|6m52Y4sZ@=_Ja@(3l!Y?}{^x?|HIZdwvY5e^Ag z{0DZ_$2Ri|l8+;a6|klGw5tiaO~ZnMl4^aDeri^@!W+NhkZC<3-AU!zaBW%{ZRp2= zx~vozqN$WLK&zFO!j@K}!Yq##%=o4O%Jvs(Ft+`LDwXXm)S#xOrS`0xUWKIX9P zVwQ$3+ib+XAoU4cM%WvM)8qkXlMPBG!Vp){`tn zJFcWSP~?8p(NY&gK=us;N*e~*s%MUvw1|0*%FSEj8%mo6MJaL7*QASD6`KbA z$YGN;+xIuh%bOgWfo8hywI`x_zdm%W`{;>iq|re0>pnNoO+IqXPex;gnGcFoZoQ+` zGXl*d(Aebu_+-?)^`}udQNib&F^U1{V+(j4tgDxiAfSDU5t@ESnd#Ft?Mt7Gs_mT6 zWlu$u6NNg74bLJrhkch>QOj^|iZAV;!oJBTD}p_vSyNF}=RgY+o1^CldE>Ug5&C z(WZUc;{4H`Llf!GFepf_bcZ|}?JETS_AIJ(t$X>|=&6=<=7)%iW4zI{PR2DOX>4~g z7iz{6MIpgj=bm{kdVU~a-y0o_u&F#th9dzylEDHYXkYStv~>W~BUVNQH(+_RH@}0I z`F*DUP5MD@+>24Kiu4_N4=A3x@VuGm@T9ov#y1v+hY{FrIg^(<=X9+;fsem*t6z!| z59U-3H2i2q^vj-Kubz5Za2R}8eDg&w2PH6jzhYnxd4&OaoqO$-=m?MELGFfE%N4xx zYIG2vw|%YrIexwTdHn14dEML8bJweHJQE&9FF9}3x}{NC&o7gApSkvGsOVdK`r#Y4 znG6v}t*{!wtyJS(Z*;-sm+tyEjS!=_&s*gh%Lx6l=imQ!$>Q8$FzEI9ZU4%ZDEs5v zB5UT^O?WffAITEfIh+q-@cZNAA}(WJPMh^S4gI`YYVa!KLq z?55amwpehAuzA9ZRmk@J?y3(We=rMvx^2SM>h^2U!qRHEh4nB``B`QKr^ed%-g`X9 zqEv~)=dx^Xta)g{P1r`>DeUV=)2N~khGSN-seksTEOP(#VbsioLEd3S{WCPBFsr>y zD3q9PC5trjRO>-y)w-^#hKfp#THQ><_Yyut`Dc*is-;7>gr8L>tVd0X8vE#8!xU$p zXN`!;gs7mQ;z6lss=w^BTTTN2;Z;Q3*rrb|HH~nDs|JwsVF9+g+}=@H zgjh)va`ppFkj@1x>+fNWWSj zPn<>BOeesa*nsp~jpR*|X2^8#O&bD1D*diE5ztGJ6(=J4$;B;rX%3xkO<`ReE5eiZ zRwAOn-{wo|ZZR|v&I0=dLzmU@=vL@u*_+Zh8wtFeLY{X-E2qCGoc?0HJN*Ua^u-!Z zzLTRgvnk;-^uw86s(FP-Lp>{`_gws2XQ|8Vyc$ z$t+q1488e#mWhd8J33wV%y|gq%bu4a%i;x@Gb@G_KY{U98H*OB88XRPq8c;3E!wKA zft%b?y~J(zSv2AY;-a+{sMgNyZVB6ZNb^nU!I{SWK99!Om8)6iGNsan zXZ4WA>`0Gj6y-h<`Yq9&^m#OBFA;=#z(L}nV7(10Q+FpDAEM%&2E*$(CeM@FPC31? zzUbH6i)2v-wB8$^d#$(b^Jw^1b{VrILNr24Q^|_f+!lVZEbDJ&<_r(8gywF04{xF^HgBYD?;Xq0{b`w0-<3OkkDc~@SC>%l3_OYU~J ze1#t1mW^d!F?5b||Nbf(z2CV^+H@#uz=^CqfXF1HDbQnZ!cnX|31;COR{x2kIQgDT z@0#<%QqGIQ{EQ#u2ZRfQ89&W8xf{NY4v^*vzQGs7^S{1{Htxn%#R2SY(fr{%H|?9~ z!2Cjuqf&#(T=&s8#KE7#apm7eoBsMLi@1e4o1xQjG*~Ugvs&z_i;$}opK=^y2)}b2 zy2#i!4a=^0Ei%Qyv;&X^9)s~nQiI~$-q9kcJ~J-y<>nxH$KCjCGy-47vTvj9TY=-b z^))dz%!K7!{wuN_ss;ka{zlD#{Vs6Oo3EC5AU4Zso(9B(H8&o8h`zTHFACSLC5%!b zs#8Sm2;JJo8U{St>#qS%%}^J+i@#%A^yTj1@1oyvNyX-CqcNL71!b-c3OW*1x!&O# zU2am~LHbPl%bmgFI8=*Uy4~4pqoys5qzqY)DS2ZoL>^TbJ1HE`HK?TO*VZySyvc2` zE*ff1Q}vF+Ip>Ci&6qVFye_&>G5urj$^D?0ZTdwJ57#JWvU%|?aZ9l9;y=Vwf`487 z3Dy-YzjYA*i;c{MFdiS==MD_x;Un(ClB4?2d_yv8y+ZN!;hpIK>xkJsmJ$P^_%J&a zA1ec+QZAZycTp4%CrUK67Xej>w+ZJU>|B~i!;P__Fr3sDj*mFh-)kug7P4h`^eo|1 z*eRo;W#PW&8l89;xj+E*DsAABIPUv989X#DLq~Af7F7fw085)3J-T2+89-qWmVpr; zS+bm%c<4}2SphfsND*^qpzutL z@$t-D+|=hh#!M9wO}5w|T<^`rBZB+gTe-NI$K}=WaJNZy+^_ff6`9AfFrmEvSxu&U z-0{_j!9B{m%Ot2N2D*7ygWZBRkXrWH$z{q9c#TQ#GRm#At%ku746J!Ok_M5tjHJLOEug)tU*M=2M#!aYii@+h!?xx z80pi|&23v7UkNLh*T#pj+i{n=c)VKR+(h?P9DmP$!hWjpj-ZQ2UD2Wz~R z=i11xX1|Vk1{W~bsb+1O%vG4O9jQ@)C!4lj{NF263PDXa|!=mZ;Dgr+z>c2_jS{YRfJXj-VrI%09Qsd{=09N}ka z?&w}?hzCz1a4Qoi!1_E0l#k3?9w-=0%R-I1vz(48m5@UAXCZOA-45O2P1In&?-pN7 z&s*0m{(W$n`+axx7O7WvN3#-~-q7p`)7Wj9d!$n{ z#1VTV&8chF4FG2*2s=}W61ue2V96MS?gA6K0*&K;_344s`JW2?zaVzU_K1hctU>%F ze8uH>BSfZ78^~r}y((DQL49?_t*kywR*;hH`TA83{x+3ohUEpYI*%?UCIXqYOgf4D z6@8WsgDFSoL{@zYR8t-gUV`X<#br5EeVR0sxT$%E&lRfO`E-#xCZUf*>@7)rL|Fv) z?HM<>+S&oCfz_&|pLF1Y@O{LugUUgm`4n<~h2WM1N8NCF_p(yM*kw{j7Ug3qBn9|y zpyhxTP6P*UPFD0y$ilvFaG&;!dy4d)xujT@q?wY6XA@0WdJcmL=krX2zt)9>|1Y9PgSpsnINVFn~z8FR2sb@HK)iM3_Dl$pL7xUd9BqoR4;{cyaLDPWEo7r;Tu z>*lmS^Lzx}Bf>lgkAyL=U>B%(nuHCtGRfSccRbj_KvM)ON){vx9q#w!Fl(J6a&?P7 zR-r*vt#K7r9e;L1L%~&MI+@D!!=xCk6RYinQq!mG1SCSng!{h`YNfTbxHy*Gf<1zfVkWU0B zOs=-eh%I3P=~#7i!$y1`P{g-x0iDBd)TqL9`dQz2lwSy>DgAO^l-w(i9(l0*m|~i( z18(pfj1j!wdAS2K^-fmlGi)&-QvG3#!(>aone40jsEuz5Y-Z9xx-WUC85y>km`(so zp+!C<2|b<424rkk)nWEZiLq&(GCaU#`7~)&^PE+GN&k2w#*%^kBb(kl>^>J##Dam~ji;?z)N^8~cYM^0@e!e_}6BnK6< z*lXmQa-_j{Dck7kcE$qvA<-!%0KSiy3s$WxB1?oT@W~2^z4X=MSOt(t<H`g|9TI-vlA(a@=Yl!L?lC0(raOo5rcA^HhLpwIRcJawi}vSmoQ( zL{E@VvE>@21XZJW0##|P(nw_vNl#VqI+IaNsw|lXW-jTr8R$nz%1*a&DdV>xNh$); ziIWJAHD2eM{TcbiS&*I8L?_0YkiHU{8cD6it-(3zP0~DRpP4BqSTgFab~7U^H}5Jg`-nuEkRSEiKJ#ryE`j% zMn~ptLQ%9*{sjJfWtVz=>riI}I6O>Jc z#GALUe8ISZ>8ojh*+E(i3-{es7KC`1c6oQ&ka&-A3~-!-A=e$1cy|IGh|;hU%Kd1s zlbiab{Qh=Gd`Rm(e*Zkt+zh@u^L{ilJ8f5R23RA?&Ps)^HKi0UN2+5ZnUJN@P+T$7p>+Iz55_>%bF>`w2GfZHm~R+F0sa(K(!xX{atWcCnq z41X%E8e006>nf#crP{;;A=)6?S{*G>Tp_%^Yv^d`|5p(8We{vXS1Z)gVmz#+yRyMT zw@e;8<3lwWA`%xvdRZ%>y9Ooulz}8>FU2|y2GjCnDWymGXKydC>yfYapjoAmX}kuk zg|u{5gSB0&_vomlOgc(+FoEk@013{Ll;0$F855mO_)GHw39--eX7$lQv!tldH*K`m zuC12#m%inmlDfKB-YOS2Qy=l`T60&zd7Eu;oDb^hz|(*e&&^Zv}x6U%JT~$6NQk zDQc?LK3#fPkts7#o|^C6v2pxsuDTx35)UEcHZAdyLStTwcQwAz5;yJh1?UpL-ivXo zxQYY2Ga8B6?>*Vi0O$_sY^pfNM?7OEFsSgNQH7Iq@wyi1zE ztc-+pqvNfaJ+dP#x!Io`lp?hICJ_I*`^_ft@K)`DMx2LPXsYQY5uTzhv&j>ar3~aO zBt?}&7azf8khdZ&McOAwo@G=+R??JS_)g`Rtjg~lL|W3*wvA8$eaQ!yC!;jaC+-p> zsLGxtrcg0^3kxz;jZJRsm{`kv?3IHW8|ec;n8%}yAxjJN0@N*eLBncWvqsAxeSst; zt{`7Yz2GA8EsGA8S=hnQQ(6pfEG9|f! zJQel@^bFHbS_dInwRx1C>7zLX<<-uc>{A`Xrzt=i83CGoK%sc}ZH=&}BF>efq|}$y zb-mY)HNeG=r~m;fO)?*~gEIrW9;KtW4EWuAC{Qbwy<>RC~I}-+MCCy(}{|HEXhBqR?19 zDUfBU&Ax5Th)79{MFAUYFav!~KakpXoE0penv4UwpN!vn`BWFMrp=a)KRq+}^3c_MGMSs%F52B^iX9@7z;08pDAWMgiG z-l$CbgW4ugm1(Mc)mDI86SM?p<&-G}%UYyzTXT1YX61wr#j)D50v4Q8ucWT}59%W@cdDBlC8iklB|JBbj!(5B+Mk z73ld?+qB20u0$I|Pc%Q%#xk0-Es`6Cs&cfrFQ8ol@|DxRL9q>Kvae;IW)0#5cd9b& zs(5&cvuVv_Q#=7RT!|$mHn_75S6t>K!_M1{|%Ro(+SGuk?$-vEF zCTI}w_@(t>2Ma%GA4@TqKNiP51{!8ngkiQ^#0=+BKk{ghK_#li247hBqGWIGg013_ z+{f1#;%}1~U}Lzp4ped8!Q)%SR|gNeBesrT>-KPZYyr*13FklECVn?yzsdM`qeCCi zw1Of{T98R~4d+6{O{^H|lNz|BgwQ@04=7q^WYcR9Tt0%#q(kHI@B25b{9lTvv6+m0&E zB%eZ#NrmyzJk1_)+R2s2#Rw#;6BhX4cG@o9qFDn7pP4;rB_OTv8zTO^Z|MeGYnZWJ zeC3F%Y@gHWdJ7M+(9p!tn5Q0!-dk!}57<85M~3?K+sFUYd;gjNhTa6+sE(M5#h!`Tg>Q^vWgzjIS-wtOUiPV9y{k*#{8*s%2K*> zIVJCpaOmI+^m^Cpz<79fNRnEd+=Q(GQ9BgjcC^*4ca7HQa@!!XL?0JPQIo6IlJf4|w^U6{3vi{|{l1o-C-Q}~t=0~4V z>H_zR$#G+Y1RsAa-GI#&=S+^jkl>wmSZsHZ+;~_#YWua?fEB4qv=YY;VRnEw`(W6Z zZ|T6&T#U7+<|^u^=_Qp@B6iAjKRn*N0gOu-+xI-29U=M4e3DVM<&p6`pAdU8-#HR9 z@{)=iJ&%eX+EO#2h-r+bpm53DxsPEPP_t)OsBk3KSFk2hcDlNwW1Z(c=ID3|a(vs- zz`eW-xBZo)<2S-OQbHJztZjez&+(Wr_|AQLY`llA?mjNwncF_vj*GXc{j2K11akKs z7oRlX8m3EJQZ2`ROE{s40R^hX(*2Hyac9TwgyZ8v^E;ZvU{NNEE&Eu@3@=rbNslb` zaqhn3C>MDKg3GuJ@TxlSi z1-C^zAQfc8pTYjOMTaE(*6v8#(Mny&w)RMR9F%#iKD*&3#=DPQ7+4gJj!Xm-hJO|2fY*%KtbS}4v7Cx`nDp&LWwRJYEOy}nD}zs z!L{4P)ekMHvJ3AC`I8jQ4QN6TsKVyt!N{VJMz~GvpSHPzE1h+0@|?T!B*uel-Q6d} zgDvPb@*71!69a&S9%&bXp3Ju7MQJykEM=D44o z91lsuqm5$k{+n*=APgHi$O=4#2ScnX2|3|K|03l9HQaV`JjjP?t8%dlFusf;xmTVX zZ(-93BSa{gQ{1`?DB0=+l|dmrF?~gYb@&kzU`D+kp5O!k7<0)D08xW(6XVP{>JSI8 zhxkjW#9nVvBlb%cr_AA#B79^GCAYYnPKkdy%(B50h_PH^f&n1cSTYT7<;oKFrCr+^ z|4*o!7-Fk5EHvusg;=XWP4$$xV;LH7nnt9s`0auYyM};qfv<`Vwy&JY&sSfJP;!lU zymDQE;xP=Eww$2fd}>_$fDt!eV8Bx*-5}ITnR=|Qw9I)*Wt9O(dM?!hxk7LHDOY}= z9^p;121{SM17O746qO4mNTP9f@t}{wFfH2yR0;OR|VJJ)`4Sys;hBU z^ReEiap8{=4edg`jcYUYT9?cs)J?iFuS6il#lKnbkn~lGE;A0)b)&seJL{TQR2eOC zk+3zQ)l9!>%lNJbqy4Ir7h(yD<%PM0VjDM&*4Vg8b#W16f=aD0^Bm(GJfc~=o}?Ua z6?HI#s(I|Qd-rs6(X|(*5GjOT@Paeq^YSk-vjU`Ti`;l>yyGqsUqpSos&!CR2)3#E zM$}36qT;qT9>kkgt;x}uUyU&oqvYkdQLE21NijHD<4N+en>RIX9FG<7TC9CpT)zb; zB+I&$$5QF9NDx4SaQ@T_%c86y06ZPw+&B?UHv(6 z^Tcz#5eN!1_{qK{%K$ z(VtJ8+&?oQa|eQ2mGwOI*G{ zj<`%qpJfA%d<`j}em=c}bmgzf@{jT9t4POxljX0~ei8$u@d61i-~;1%0QHP7OF( zNRXd)`<);EqwyK#tM;F?RSGl_=%t2=LIylwsMYTkJ!s>^1^=LOHW zUtSz<*79PU-`vk+va9V1RmofAWtV~e*e{*bamU56E3I~%dx;M$pM427;QMazCGmd* z@4CE;w+~ji-5nO*dv3amFDH0^%&d4%9)Fn?|3=pDtFwI6YTrxat(vZonM250b@Dtq zfb)T@$_>2?QhEOPviP9j1vme)cw?QiPsT#DUDYc#Of$|J zI3}H$@qRO!p{6)RS^yns>n}M>H8ffBoQ7?*BBqWTdO5LbSGv6}hkGx$S(nEb)JqE^ zaq6a9%#Qmf(=;LlM{id(3_cdv0dnB%c<7-YGQZHYB1k^s7pU{=W1Dj%t1Y2G!oT^2 zS<0{b006&vZAn!3oxQ7PWSH~8$_ej zf`;{!irj>?i=SusB=NxQG_JbfetvbF?49B6o7~(M$(a?Pt9;T~KB_k@<#)(=!f_lPa7(-UgWcO+hA7VI#p%#V{NN%WfSgHX4`z} zN@kv_q?C(O{pZRO=dEAje4ms`xg1H!1-X1(mG#JvG9=Od>h~At#3F6m`!u$r3B43Z3z4=+ z;QFW(YOA;5)oKdQ=OS?n619~ME}`svvcmu@RBc+dm9aJhW6F{e+e1_ab)Cv^XR6nE z3VZUp$=E)#f?;X~%FYaep|%jqNj_3N!Vy%dO?&Ag>8vNNjeq;I89C_ISfYzv^Y7Pk zi)(laRVe_`t5~m$SI3gQmT-@9)t+I#U0cE*lKl(2hm%P+zdv&4Ul)&48$^@B{Yv-> z%BEH0Hw?wIXI3sxuBfbkD=Xp*ZGit<6^Rh8-`uSPTV}j(+;F1*x8SyI2^xlbR>`g4 zKWk#|o7xwl3%euc##{CU+tBOKOLGm@>mbkdygu$T@@%_?G*fjx({<(|NR^cs|Cw7o zH}01wuc3k-u)+tB0LIxMlF=YebS0sjO{j3ZHRFtpJ;f@fKyomLtKi(2=hmm~aElja4c2C?w$n+QPOWrmTf!svy?S1-Q zC}!uV-Hn?cj~{#qy3`bc9)rCFUNA!d)BBA1cnTJ~o9DBM_geSl{J4MX#TsA<4(6Ze zM+Od8a)@&Q6=3|!%vE(2M!_8*029BgT8y6ZYnkV%B&T4cq4Qj;DeQ$${;Qyhk<1-> zYrM6ZFEvb3TRPR}#_6>ct(E4gw8cw$*bjngBmc{+a8sC4iCG1yfiFQxHC%FSt9gsL zO1UE63~zX3MkI4Ej3bCE8Bq4yoV$$bjn=FcT&Z9KCFuzmbl^Y*`MCjcWY*%1r067t z>Z(!UnB)p~#R8h=O84M`_~_cJayTHXlDFMXx5bAZ@{Y=0oy!lmdc3@73%{nH$q>H% zHOFsue%^$jmT?iX$u**cdc1B)#@PniQ+Jwc z#Za`#^`&3)O267n{Pp#QQreBBUz2*cy|<_yKF~@A$q;cP+06d7*xw0m+rP!ld$ptl z2tlSTiQbI}o-By?a*$VSo}5hJF`!G@W~DUugRA4dZqeW3zN54JG8?Rja>1qvvIS(x zS~V<7O>p1*jm0G82k-=sBrk)rmlQp|xPSKxhq_gS~{&81m~j`8SMhx0in1QTqD# z(ywy9+uY)X@j1b5?vVT99o*FR_!xfAc|F)HH{fu1?KZnJ-t8v@R18Z=GecA);E7o% zp0;s28KmRg!BFJ{gxy6tJt&{=?u*!aOWux9t>D*YZt0!zgrMC8cf|+xy|aW`d+FC* z?ufhMK?j&cH8L)LRFymRsi3!8a7`|D zU)&Y<-Fd#RmL~JU$`5s4Yg#XAq)f0nq+(JH!LN~7t_g1MyW>q0kAGSDxM_FCn~z&x zA*7nZcfyfoBfu$~ENVY(@&Dj%))dFN>U-j$gYL~is+e59eG@rN9uM+cxu;*wZRGyz zp13E0How0oo*s1gw%leBZP{UM>5lv|SM6S36n6*UM~m1ZN{jx%^?WtgJJcSdd*i*? z$$j~~@m9cCb}uj<6pRHt5QT9)*hz{vu+QO>tq0xg_Fo+D7TyuK9>{f8yi`H|qZQMDkzfAB{`m0sS7&9r$3};`aGXZj3wU5u6wAxT_z* z)%u)!;t`g(@U4FQNW2>bwpkjF2IwJ6v2tE;)0W2DZ8T0Z<8V|sfY@g0@1rxe71}t? zy|xs$_FUKNQI6PH?oN3$zLCeM$KtC1*#6jKaZM0@7`UgW=la&L6$K9d(|!C8mP97F zJs*#+U}fap$K(5X-0(zvV0RjRIGiiiYUOB= zpr_*P!f6~v^i+JVo-3bEQrn|s=@#S0dM4LJ?crPGUSAgfB6!>F_;h@d9Pjt=?0#>qsrRm2 zbi{gKz|}yzJ`)eC`!3M+(I_2v_%kqbw)@*N@h&{pJQM$n$Nv9B>{q&_|BQbF`!{u;}K%U+~?zs>)&CnCQCF~xm5m(RzuYVXO}xk7h4_d1IN)$Q-T8b`rKALW|h&^F<@bQn!GX=^V3O+L=K=kvi> zx8>_}!bR@Z*I}}W%23y`f=*yb1Kp7;;+lS+1~sSV&IX{CDE! zkZPWNCmy@e8moT?IyGoa(B@cl6Rw>#ZpgckvD6*)ZalXBtB@EZEs=fIe$%`0JpoPp z+xOy4c3`6nC)ucIbFp?$I>LqbF2SNwLV@VPr2(D8nyab0u|}LnAQhOyBHk+ZT1{{M=HBz&?|1J^+6F8_*8z*yJKd{vG85XMLU75@PJRQG;7 zx|T>9=@w2*e?R_R^|z9}vF<8@uNEH-A02QRe|1-Nc$wU4A{{Qnk z=YQTgZ|}X^cV}m3W@l!dsdT8wS*wZuz;eepCFx`e0f-zUYmJunj$n-ebMg-Wc}r5$ zbI$mB3?X17nW7kAEx>+(dkEf4evM~zI?KHv%oLb+|q;t+_bA+T7=Wqo0 z2OT}RkCi)A(TpErX*{=?B~gQq3gzx$$5!_z13i12c(-u)gWV(!xn;C2mihAEp&*9M z`FEfglo@XF)!{|KIMzkR?SD82ph;k$+F#CWbArqt^p|rl zYkkza>U`83D{016=i?aj8&{pZd4_sjb2dyXogphxRT>7*F=~cH2*wX&KTe)`o{_!a znlp;)`{5dnTeGOjb*K;>HtD$yGM&-vrt8j|#wp6b0R(=UjGNAx!P83N?vkJr@uDJ} z|8KnMj4wB%G=iijjV^9-hGVO^aT7GbI`ZCf4(I)+(X}`dd=6c{g)JwG zn%s8Al+V;kV9r)pgU}MECvH2Fg2yV+vf_H)rx~}MjpLY&1KSd(xidV?m6|WZV-}si z?aa8B`8AaU$7S$(Bl(C-eW}UEKkDfnS(+b@imyYCnk=)`DXH%rXXD&FlXIA=HZz-l zUPn2n5dda_Kd0!}<$?=iH9>HOreYQSXr4?iUTtl0$db%epg^5GizVqQBY$8f@~(_w zko2nN%$F>e*N@XPL}FkTOVLeh{`8(Au}zMC$1Dzp5N7n6ChLxI!=>-^Ju< zOu|$-NHnYW^g@xw_Hg5Lh?hw(&c{<||gPByg-zj=2&+;apY_d|v1uAfgXR*vPgm}LB zIYmc-T4o`&$%>I!B=8v|FoMdT7=Phu)l;-ks>R7?Kc;UtC$<*R86i4bzp8=)fT-16 z7EwznvVrtQOVJv^0Vxy_80->Npwm#>C2I0g>+KR*6_!ZN;PHqs?5-5Nb$XrWOptQ> zUBccydsm!_)#Ez{#(NY$K=T)x+9LzSl;~v=c7}i^hcBp6Ky3uIxf>>KH?QRukxwk= zXoexyLl{sW%mg^&cXzOly%jRi8NxQAuDdgG4wj(%<@oMSL1_-AX!6X)#$9!-bc;$+ zsz4whU%=mDkD?`ED^V5iMGoGJfWXnlRpbs5HDOVZ6(s65RZRu{bFgv;^KY=;RCz3& zhmkz;aPv47_9OiS%@*qeS{5XH)+HzoL!_GEw0?6#gz2Q`nu=rOQhnFU+@mM!hj~-R*JpI z#(H#KxWLDuEStmeRIxJyCE_op8kTtW(erNBA25B1))_}|MSeOGz>gL9u@*l;@xTN< zgC~_Rn4iE`n-Eaq30Tqeh42&bqUm$<6R?~EiyN?ffo@n>Oy?;hRE#k$(xy;R(?XRB zw8E4{4;J3lP?1`$?5oOGs{+>4d0J2bo!w45Du^fWmQqpl!Q0r1A}8=i3C0ve8GThz z+>frOg^9}1ht;C-!puNP>|0@{LfaXaKNcolHHztIm`H@Kw-GKPu~kHei>XjjTNN&% zu*npLi*^vOREPldTqj?In2on15y)_Z?nH&U>O70bfreORCQ7LAG) z8Q73FM2lsNb^2Bksa(i}O5#O+7cnA%-&115YyAFRj8NRq7cnBW{zq7urtgx%GeDxl zZC^wI_08At9l;RBPO*uG^#=5Plz846VN#7)%+xM=ELQx7i~cDVRU<4o;*6yEaTpBT zN*gbpHQ$wVJYIwuOK3;Dh{LXYEMA01-{yTGY(N6Lf%bTkn2mM%er7f{q%vmm77eQ` zI&*mkDvP&E%N^nsqcEX2yjU9rl#n1Q8_UR-AO;~=oq*C;(B~kk5ELhfXlsW|1XV56 z#tY25m?9Fz1Be`)h$Z#|O-~d{BZ0acyl9+0EGu4yPQ47fRS_#us*xlHBI)2HQ60;0 zR+1QL?4w`&OC*GBmzoLWHTyaBswL7;PHdKl3xbzKjG`Kv4{Bj=T1KO?L_O+MR|wsZ z=Zr6Der*iQGA^nTnHm0#XqF)wIhSJ6=|rYTN?NTXG=Xfjz-*3WD}P1;*sRs3VC!v3 zpJa%HxZ%hH%Lrye*!P-(nGil>Q;l|Hinez(`b+AODN^q0e1;r@Eew}s`Huj|;C~x| zN;IvGh(Y%MmoYzBHs*Ja+(D{Y4}e=hJ?g318eUH{EbV+H8r(<(VJ1%16KPDwm#;4} zOmsJ=J|^f4^{)?7VGoU~FIWg;G!PY|C#un^iy^>hwPuMHh6?0a9Hlo9%yjfNXK0R3Y)6isIbu{|u_}@aO);|>7Fqk$yf;xaaHL@K#tAt&nu~Ol zoY7poh7D$Bz0d}yE7NSPQ+Y(+F zU{U}r6|h1qCAdTFTOiq4dbNcZ6g?K3Posdknj?TW`TzjHMG%5(XS5Wxjhd9v5(9gI zy0^s63rSZ?)Ow7Lw*+cDOVwJ5kHR1#)0}{vISYIXoo|J1-=dh-Vl?pB;?^PooBt=R zMIDrJtu;#gg}iNm>`zd38*Fq%^n4pNPV?I!WfARY1KfC#er|)YETZ(bNclT;Xp4>) z(SWvq;y-9YTg>$Dbg(V9?jriFE%4c&&as&o33abJ>OAuL8{#y(VFvgwxj47p;JvNOZBk;Cr86N;a2)~Pdj69 zf1x6NE26kAA|>{uD&bdyjeOzf%V4Ev-*I)0Ttt1kV4_aam@c9r8nm+uvR$G}T|jNE zrMCBpsSVC5>~R3t6Qk>cUOZ0nnDk)7s5pLDfQLm)_2)?TbqVivFtf^{u&$bFnbK9X zi`WXsQBf@eL>FUnNL5iroBKsS4EhK6 zi~h;0RIPwoNVq0OnU!)KEayH@D(ChxDSC#QJ^*l9L!%x50Bxb=4}dILLopA6+`(=+ z<3W*E{T6PlMI~5`E?+p#{&3*q@)b)Zl!Y%m6Cm|mmdsA4K~?_N05DqJ-|);LJ#)PWS`knlYQwu zh0<7`)>D&x`8~xT9=NIxYqGEX!y-;>l^!VHKm9OP$>#jG9|pcgFW>7WGTeIw8x}() zhmQ9W)uT76X`8F29!4n}@T%l`TPW!fF*QcX!TB&L(c=xqaThF;Ktti!3-rUGM?l=7 z;v0{MN*qQ$DmF)O1_vZwT5$fef*!;@cifC7qqkUH5ynG+(=Z525m*U=+qtv1cn?lL zpXvk3?G8=ugWC_#F7|Y_fyvkOfW~SGHGwdIe(NJ127F8!C@RwvkAYq~Ofwz>tYFL-n5oh;E_WCq>=Z zQ|JM-_!EP3qM5k`I>E>WX-jwd@<}n4!M10A(U&Kppg$1cVmj6z@Nz)8_5($8ykWv}Q2$}PnMDQ-UuTBX zI|GHA>JJie=~p0gfC?<8=OXUYQ&tsE62-{_`230)v z0SJ5(f3bAqo^H3;}w)Mk|Mas60e_hltcF8sq~)0!^DpG0K?% zhLRU%vFro4cu?4jSZ~*<$%`OmuTwt`ZqS4mA#pfF*Iop5a)oNWB>F{MlZke+jHW5uJJoYo&-HUKWFqZ{*9WMVns+2&0)Vqs&9(9*ViYLG6c%*vdTS zrmu0yT=Ilrc-fJruNu$o=%L~p6!*w~L=yya{sa7sUG+cc^)Gb#KcZ`(rn^9JO&$n> z>w#B9Y!g5aukRATQ3h$HaAN~aB~8^>jRFFcP!kqv+>JxD`W5j3SNJOEgkqZYDzL{1 z+WacGo%7^)4YbV#YWteV1@W-&HQ?=Hs{Oi1sG_&qBivb9y!MWmfmNkU?9kO1{)tgSZw*t!=lJi8mz`2|gBaeH-tKK z^^U+uU8S56;xS$_?~Smf4kJXhpet$<2Jdhm-5!DN{Fz^Qq&Q-La=7^>Nbl3sX_SZy z(Wj^Cz7d>0{%4fv5VRC{PRSlG(}7W9GP9|DN9%27+-NaRoy!K{;1<4*a4rk8YOpB` zQ7kjzbJ@SB?HJ&ouJqg(Q75t^?=i8slmX z=v+st_Lg`s?RUW*`K(LaiS&R@n$m!%)>^~liw_4wOum4&&7!4mDN-2F8c7LbA>_e2 zUHO8DqP}B6xqVHO#)4ekLuaIDDkE&Q==)f8Izwx}960=3jL z2jzH2B|yks&+MNN=;IS0-TYH;iyY8>IYt7X&hmx~+CW*lp)G*TljIu*zU@PrFb*jF z6zv^{Q94BzIXFyF?dpIDP|lki28yeKLfbAnH6Ba2nA{Vv zEgz)h2@s)W(cB3N-&MY9Lbh!kVv6N-P=w|Tm3ma^&rLF*^s z;C2OFn<3(y7%B&aw8YhWdjT{xsTrYJ=cylw+A-&_7-1jCgf`>2EapQY7eGyi2|b!t z(n75Bn)K96krE1W$gSN2YkiU;S~OE}Z=cKrr|=WS%o4BG)Ofn6=)}`sq0gU z>1se&3mz51ZXn*yYfWN!`$dMDZ+xXiM;O4H9Lnv1&T)26xDN9NJdxng-F zxp>8}ngNdIv_KJJ@rAIb6vJB2bn!-sD{OH7DQ z+Y&hN@{o~x7Xg+hxoF!W>{~q-i3oF|{W6vltfbjUp!2l1R=QZ=N+t7?}=B@Vb)5E)jKj)V42yNNqk{St1gv zlq~otwf^jyb@PI`0t?FXP2LmnkC!IouU@s}|24JWDpvY`jCu5`2Z^Bb&htytTwy1L zpLjms6V0ss_$>Hy(-nT7*R9287k_?rg=k^o0?M5$ zur<%5UsixeI89Hk6xpr~E;w5l06?nCHW+@zZyiq;WKpfeSlrAYMv z=+E&J_4o+qxUFf&M<9J}(T^XA_DuSut`pU2!z)^lZwy3?f z*cl$ghfq55`1n>X%3CKgl5PjWDVriZ`Itv|an$xK5<(WpK1rlb`Sm){H>R~0r1}OE zx>*PdOdiM-bBmb}3L2{G$0C~>GW}!S5UCo%cf)Z*0!td=@s_t6l81%_!UK`&)VYsE zBju`)FHr?cRnE$DQ@!<2$Uu?(*5lZ7xSR6V3w3MqPwPb^zS9;1$v1f}1%hHnHQZoT zSVq367;z^s5&E#W3X(l1aWg=?q0AonS`4@&Uo?ms?&i5rCEy<-PLL-cXm69X0R-VK z%HAMaas$R}5Um+z4{Z=nVs;vB6wmSNs*MmW0t!QRfE?dKO?HSxO5Fs4;WTyG4a)V! zO(N36U<9BBB;*rq5+zPIws8R$H{*~A1;lO<8RfRH)1PtU0orZ`?VejeQEs8(TOiFk zP5ZWp=3JE2Md2>Yt)gm#y++uJ=4dPzG@l=+>sFyWtG&8aL_Z0o71MX>c7ZNdU!^n@ zTPSXpP zv<|D88~A2POVtAtKyXX3otA79zH+AxrcYq5YcI2Hq6IH+9ze?84rjvLV{m%gssDCS zmFwXskFNmwX;9Zgw^$X_x3sJ?$`>EpIL%i02jg0>T`WX9A1e?|xo8I${ayj&SN}Sp zElTEc`3@0v*Ia(FLqxjXa(a%NhM>HSkf|6uK@jLt5~$Hm5yVs5a;K=Jr}pAFG$Dwm zcEnDgJ{w;4?JR?rh+QJevik&h+3LdI4!UPoY2y-T&MsZ-`@2MKUF?AgDAviv0t^!b zlz^Zwpg=KwcS+IB{7T)%rRLLu-Qc%&(f-|{WA09T0>#IF!PahM5Vd4m5Sn&rbArEB;Na_xyG7zU-fv=fE|e85uOhW!=T^q5#dwU zWIAc%Cn9Cw%F@dJXA`xYk|x;}E2wa8X@zArZSzXMX`42y%or|*@(M9fJLug)ksRf( z$E|Rpw)aVJfJB&m z0&q$Pl7RGrx*8YD`Kiy((8}!nqv52V_6Q$XD`-+hGkXp~Z-NUiQHrEj^q@01QokTN z*yaL|BEn7%V#666{%?-zmg0{-m? z%P(S_z*^v&0MyWj`o+90ctLQ4uL3^vg0NFn^h<@|#-gwz!u%poBNm9t9?sdZFw{!~ zzhFJ6mq>oG%Ic5O1+eJEnkjg3sASQcj5VNjD=X<#B>;j2Vn@W>on2`Hs(!`ZodXL; zl^e(9V&UYfw|IU7XK5E!*)I=zsgwp)VP3xo^b*U+&XM33f$7FlvLh1xB2W~Tm8!4` zJ~RL6Xvu?|#BW$fcAlzt=fRq?Ba;0hP>aHb$X*Rr@3X!T)thcMFnC+QuQI|^yAuqg z@CqXnL~H})!gK;-P<~>wcqhwI*mVx*b7Mb<<4lU#FJj$0@Cl37T1(mc#rPT*Tug_6 zpDDxL4(p-|wpvh+P0)J&d_ImnHH@z9hq&$nP52UQSU9cyQaqZr2Q&v4cM%~fRycu$ zAn5@vYy(VBK@JYVBK)f~Iv^f}e#Ptq;^`6tP#`_q02EIfDej<%$+QhXomzhioB05c zpSHE9BA(!{jd!`SO_l~66sd8Aj1(+Bu&>A4OxbRQ0m`H`2Sro_Uv&==5nHeZt6}8L z=S%wOAR1OkO%FlJUP!$Tp?8IpcL>~iA#FVbmF+@GKCC{rIV?8e4X3%Bq?!)e>R_-A zCh6cK9eksMYdVPiTIFk|gU1lK3ehAqn-*+!#?!K|1)Ftl{#rcm{Z8*eXzxsrZ`NMZ z`cyGSxRM%EjUILQ287UGCY4(bI(x-8B8p#TpAwbn=WjrO@1u&}LKE=_&HNSu<0EwG zTbxYogMAvN@Cfbx4o8fOsLuD`j~CJN-;0jWb=mQ~=nlDWr5{9M@=?GhpUd)iN{khZ zVF!S<#>tcIl?cL|GF#HMKY&j=LQQ@YV_nKNGaBqedg$PF9W2nnE*+dX3MHAs z{H$X*l1DK^j*DUF|DVUfE*4Uc6Kbws(ZOsTY|_CGI=HTbN+(syMmp$m66(E$bpE7j zMJPraZyBd>HeECuYo)Vo<(XXd4v`Un~ict^zEFQtFyNQrh2jrx60b>bO7R7ox za4^ig=YgLgiQbieI6rY$6ih${Zv7 zp~+=@(}e(lth4BBPJEY;Tn9kr&r*8&|3WmUn9~d`?3oEUFo@?AbCQAOO6qZtj(XP8 zRzLj_aS7_eDdtce@tSRhHUtr4RF08GwvHNOSlYxVkBggAN(qA;UugRI&{C!jIG(!% zc7Tm8_^76qO!qU*&#NV?2K@=gi&!UocDlNjtegA3P;yD|4tyTU6MP5}#6ddqBgH97~Fm*VN}kh_g?iR3zgxE{ka{+p$3p!x&~}>z@zBF>F!qvm!dz zMyjCxKhwO*&%pXAkYnHvw)1zRPfxnWg{&&5(Cr5*v5jljD9-{)3JZ)2yL+~xR8XvK z^?rAGJm*YP!1oxC!zA1t6*TCNPH?Z-a(A3{VdvIOH zf5Sq*OwEf#uWJ9y1Upqb8{acB2BipGW4)&c2<$S|KPRfoYY;6%#S#4(VMCl zgDJd44;72q=C~lbT#SXCNiEKc5fJ@gf8EQTZ4n+Y5`ZjI%+HO4V3^9CIxl7_$Kib4 zLZAE23g(p5n|E$U3dzfu35layJCf$LQNDB2F^H3NJ%DraM~^ zd`35Cji%b0MJM|DDpc98k@uQ-TmlG8sGf|yhST+Hlz&Y;%AcJ06nkBy)tKuj@qeM3 z%4{o8m<3rXJHWwVbbu$3#mpO6f93h>qG|aVFwSIyCfLVd1mNl)#XvH4_PQuFpMLCy zXj7UFK!^et)218P!=ar}euE4r&rO_e-lRS^MdQ+hy1*H<;wB(c#YNNko7h>DQFg!5 zbh^M9wD6W+fq&c*FPJ~MDLqZZMJV?sz$v$tbi*FL-ZcBR=mVg>c^j5saEx;YM8Y~6 zdPkdnExm)?ZsznR@-jrznT8x$1;ZPv^70Xvn#UZEa$%1tXF7i1~85t>IQ#%)CMv(Vi zqHw2VGV(+#jZ`MJO8~lcoV)!9fiz=vdVs;Yildzi%GM%wv@YSE05N4 zZSUyXHb{za%7zr{l2zLS(=jH}_a8v)9{^Pe)`-V)BT_ zxi(V$g2uaKigz2p2E777XF&*!Ak6wJkTooT@zK}JsRs+f=&Vb!VZ)b`4OWnE94Mc~!%@zjASWNA}a5D%3+*aK5RTez95<4 zp1Kgyvg#}?+Yu~#G72$*WHg7dK{Cl`!l_a?)4xXBgjW zmQ+_a=fEPARO9a@v4R~lO2=`G5h7!#CyW7s`gfF*UYhIo{FC2vJR(cdJnHwnp!7Mr zBs#HtS<=3K&+qy@pZ0rBw#w2!>G!M#-mONwhUmc4?)f!F!vU!SFiDLk*NY z$?(RYZEk%_m0P5VCXOCi-A!v=vz*aqAGIl5oWg$@Ab0Z zBI`43Dol;l^vpK(EtnSrl!BeAaajT2(gnjn>>f$WY1G2h;ct1jX}Q8@*jwmH_U4PZClj4n~f%h2hz~WvUQ!elw&rGX}+QE zq2lcbYkn^<&kLRonl1AVOf=vb2YRn;)m1=$R+el~744O5VU*(qqF6@#ycn5fG}$X_ z;o}aktckaaUKx%+Cdf1w@H;l9Yt$e?)<6o|qHJ`6Oht;d3986%6EN$_e@=C3mMGU6 z+w*@^oYOQEdO9?f_txa>tO2&eVHtMSaYG(Bx`YYtA?^J(<{|vBjalR z$JOL+18RV;q{DfZ#YDizXQEo-PfUX{mC(T-2t0Dgvtkr7munW5nTU3LvSBC1fZ9{d~ zrE4!#h=@Zx-dE@hbpfM(8DQVdhVQxBPo8QVvXt>-V|0V@P4Qz)7xJWhZdfDT`~V)y zHA3`+ico|f}%W+H@Cx@4zrOX^hm2q+{R1I*1Z?khS{oBQKzjuIzV>0DykHb=Ew0#6> zwpoFx6FfDI+vKd7{ZHRrYOdg_4jnbD(T1isJ0JftaBGKU^ZU zt1au6Tcv>qa61MQ(8lz6Vlq4pWFYB%IogA}Jc!Gn`UyrJDtVEmLz3(Nrn93O?HXdf3qyV`Z( zT~UzWDvX>3(@L4zGQ}6m?1mbt6a*j=R~SCX@lE9zoIO?qK;WuYQZVK;|BmB3WKD6n9DUMCbkjto|uFIL4M6@+0bMNOZ#K~YSodoY9yl&?xNCy;sN9j0P#2_ao{HFPT_-~j5;zsw=@T?m7TYK}@@D`%qG|0;IaVbG%s zjYlF@YT(4yZ-XhGM!PBgps4h3!r+zIS5>k0CiypM28GwdCNYaT)C2XqfddD9;ZHWqj<``OA4`gnM5yshivNo8jO7-P*sPM0;FI$2~zfxa50wv`K8p!rFepbZ! zm{7L-Wku7gxP4gYjUp#7p{jD3;u{mn2OMW;e*@VDYO_&UvSa;`ik8IuR{4W0$-Fyq+RJP8rl%8{hoFTgvl)!i}5bn*GR@N zWARHP*+yxrus|~>jg4xQJ&7K^gVeUMe6`L=z#O~7WKJlXH91lptrKtyo^l#uAr>EM zzpo>*5;8Cr#dNi?jQ2owIIS~_oA4o_iEM06bkieEWOUp_Wru4erf@8BM5=uyYrLuknv`nZ|A z54i)gL1X<&EwbfdW{xZQc1D`49N9E(Jisc|F(x#zYEETs)5XBa zQW=&vP05ktIKQ{KRMvi@n*+*5Nm|w%jXOg>Hka*DP|Ce>2mpWHy&w*Y=+k>aDqf^> z_sYhVepf)*KcqZY@~j%NKe#u ztz zT5gAbayZ6CO*+di98To$O&6W)jC=?icaaZe7MJu7VhhZNIW9D@dIQJR@{k}H*1z>8 ziwe8QrWi!$eL!%~E-KT{$f5CWj(rv-<()MfC9f(idK2kGxOvJqCL4SI~#| z%dT;HXbTK&MY%(THZmISqQnPeKNK?N0hwgxxoGtRAlDI|eL%KJC^j@c7!#`I>z^Y) zT^|I~@*CwnD6@l zO1uaI0AN>bp-96Xl4(egzx*K?YQW3KmL76E)D7GAge#7dG^nR+&Dq!Yl=T4_#XaTy zkm~{pCwa6RsG01u0`Jp2kn0|yUJpy9LAT^#=~McB+M^?`2(*5p%MZ&eV4s@3Wc8>c z0ysFRzS$e22g(|IFl(Mb8faJe@y$e#S1K3Eb-bI?^@Xe>2OG3UZr z6{!B;L>vhyogUt@7SqzlkU}c~bTd zg6b8lncO(fqIFNo%ba&be=Jah##3@RBgj=x$&LKpe}ME=o~5?siy`d9iii1UJWW+k zBRvDG>9lu%jAt}FK(-0Jv~MT7i^pwR(CiDczAz|fpv*ESfE^vEC22HJ$`>oizC=z*32 z_9CTbLu&`i1XjL*xKiugFqr|BcAj)lWA^PADmi~+P_l2R&{|j6?vxgWy6{0ccCs(2 zQHnP>`_ZHTm_bbFWU!IgO_9gT#u(}g$g>PX>Ekdnpo&XG#jMd)#)BcHx~~Xb=UkKM zji<3i!2auL*(mI&fhMtXb$O3(@m>gDBCX4G`DxiL?lLO3DlpL6ek>~nl-wmW(w+ar zGjcg}=ki0J!)lEh6O>>=M(gku1TY>7z*H9S7M|bed3neP!#%;KHP@X0w5pw_;czkE zJ4C)`RJv_?W(uPmOP&f`0~4JPtT@pV69-SnUzCyh_DHNtDB7w^mJ=CF_+8zOr|*$; zAd9*gk8fKZkXR1wF!eo?Y%BN$)}(I%RCR&AOTM$~H}xGSGl^Eoccj$;M1o;^APyaMopU&@&{dWLYsTVAIGPS7dM zf21rxO1>xF;sm%c6R!|A1X`bKW3kV;BHn*g>?GV*2&m*uUpt#S^6F z(->7eELJf`Qhy7Oo0c`BGe{6(hH5>r%W1V-`^qZgVZk=6OQr(*vp! zUPVF-lTPRcB2eWU-VlE9OSeD~*D75ATp_TWv;6DwBir!RMg6 z>PqhXw};9voMAH{{lfxaW(&@e5s53VXwd6&AEPojX=)aI%)u*7b4a*(9%ilze1ShE z4U<*ORqm+|c@pVcB!zRI$Xx7RA5q6#*#mw!mgUMdu+{95C+{(4(5yVjZP$@wIF3)& z(um>m8RKL6bGV!dyMS?T$fj~NBpaZhzkCB5;)nG68*)gwe04Gi#bg%euAmo2$o|GE zIx+%y5i+-kk#YpYbhAfdk2+3UM`Al!OczJWT<-@;ri6wvjN{SLQ&2rncaGw(#z*tWO3RXh$V|4 z7~qfftiWdzOA=Z2)az!OT&PvEPdoVSsE+}Z)`!4wivFi}mdPkOISLIvMB$_5!l;pM zoM>Smwa=0n3b{!?(Sgx&uercY$CDk&R4@h|{+RB4OJ25C@b&QUor5zQOsaL9+KiR; zDx*tK$hS5CaJ+$-Hh>^-1RBc|2TQPdW99JR)odSymSRkgQ`+0IX2@}@9ya0SR>Bj| z+h8${(YUwe$!I+T>;eme1VOJdkUNuT&%kga-%hnqLIn~QjARh*eU@Lb!N3!h( z#tB)~YXM4v<6kV-0**bPuwf9eAu_wrOx&iqEYs99<5Tltlwsp#_LQ zXHblZN>r)3_FZlaNqWFK6Ji~{KA7*=yfaaz#qZ{lg3+E`oHGxq3NGst9>ow~+FjIY z5-7VuxArxsp%3#7Z!qw%yNSk5k`G{|otPx6N`PcJEUMtiAlTPa-N`cH@%3&vF=tnM zYfLmYgnr;AuiW~^Q zKRQLuMK4~Rip#H0I#5@Dg#d|{V)y`(tEZxuOX!=aGP}Y)E{V@JcDtFNF|E%iWtvPW z_c;$J<{N!P96d5kraDi;PXZmEDidkdG#Om`3%{&b6wK)E9MfeqDCW57GOL|lHPZK$%81%{-ROF;|FXw!#Gqw(z*dWY4Ujfm z=?PaL3*Yq%rpsb9iW_iwYbr!4z7(u2HY+ zN?sSJ*LU$sg)_nUeM%9t!0fH3X0v2n&niY*U^N(D4VwihJxO2Bf~=sBjM=hv(0+zC z#<#nv>ufcZug;b+L0|G`-iL9k#B5nNOuegQ_V!>}h4kxe(DH?Dn!FF!bEM3XjWK4A z&w&u9tWb5DBrs|03LEpskPgbCtkN}eAR8@vSEXa2T7_sfE)oHKhju`hzX6cDq7%q7 zSJtbv*A0rDwf0)j!RXGmMQi4uQY{ zTr^!MBaP4K{)G^?ETMS|Wy5f+Y=#mw7La1<38gOY$k+&MQ`mfYW`*JnTFnr>bYi4^L?4=5$iHrQSkSD+by}}>Z zQ6oZDvQ?L^17JV{U=v>NR(bHGH(WFeUNE-vb>~e!XfqYf3XBUXPn0aVC3+ z-g{rBde*x=;9i)VUQIu|FS8};VF%>irQmcAQcW4oPHjuh%&cPH9#x z#fj*r^euc@f;PLhRJKR~X~am7p=O`1lUIQLV8<~@y^o$)CaVPD3rJ|Ze@;`E$!CPh z!jl$*y9F_1OsnVtMrmGU5dxYMGt+Fjj5R-ZvzkC`G=ngsG^IL(s!_R3*i2atLh?9O zUjdTyC>>dWWp#80oGBaMP{K+XQU4n^yH`*^juO6cd-{~>AS<2>R0~QAutsC+W9c-G zS@2AQSIU}jm6$(orTo)0=FsF1eJ8?>FjD`8D!4xLCQqMiPQ4YjL#vt$Wq$ z2_bwm#CxOLf=9=-vbphXe$t0>g$Zf-fpszlm$IB&2N}}$6#ud88vY%xo&fe{6@(UH z3UCzk9gX@}K3VZQCN<&0fiJ3Iat2<{W~`S@Q*OKd4++gr28}Usp z?CjDP=$q*Pg}G|IY!kUxsD`7x ztq>ahL@#ZXliB4Z9B3=&)>L7e?0{6gw}H3+gWlXG+xUCLBzVNEL1H^3$bZt3?XnJn z@3+f_NLsM~r!beOM}f?`tH5~$vXlRZ{3`{R1XPi_ljTbJt9Q!1hMR8}Rw@`YY&ZCq z8}#dLY-cwq^b>g)iVUYeL7rt4Stv6@wLfed#4tHGsYjvQ#-A1b)MOfePTeD)Mm;n4 z;6Uj|+O`L*(~op}k6Z%z=(~I60ldBVsr=OVF~8Y9xx`E!1GR$MT6<*;v{wwJoB`RQ zX}u8ykT!A5&df{D7qWY@k~{)rwCg8e3I=PZVhEWv0jYrtePMX}g{&Jn3dbc5-!h{U zcnDs%3~OA_;V&RVegm3Y`(-A}nL6*6u~G9G_89PRrmriss~x!?GXMGc*Y?Yk!ujzU Svs3=DuVlTMt@pb~z0Zh`>3eHAb?Vfq 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 P*sOeoCH2eke)WF=*W@d_ diff --git a/default_executor/Cargo.toml b/default_executor/Cargo.toml index 9c83a1f69a1..dea6553b9f5 100644 --- a/default_executor/Cargo.toml +++ b/default_executor/Cargo.toml @@ -27,5 +27,5 @@ codegen-units = 1 # Further reduces binary size but increases compilation time iroha_executor = { version = "2.0.0-pre-rc.21", path = "../smart_contract/executor", features = ["debug"] } getrandom = { version = "0.2", features = ["custom"] } -lol_alloc = "0.4.0" +dlmalloc = { version = "0.2.6", features = ["global"] } panic-halt = "0.2.0" diff --git a/default_executor/src/lib.rs b/default_executor/src/lib.rs index 665e07696ea..9fc90729682 100644 --- a/default_executor/src/lib.rs +++ b/default_executor/src/lib.rs @@ -6,11 +6,11 @@ extern crate alloc; #[cfg(not(test))] extern crate panic_halt; +use dlmalloc::GlobalDlmalloc; use iroha_executor::{debug::dbg_panic, prelude::*, DataModelBuilder}; -use lol_alloc::{FreeListAllocator, LockedAllocator}; #[global_allocator] -static ALLOC: LockedAllocator = LockedAllocator::new(FreeListAllocator::new()); +static ALLOC: GlobalDlmalloc = GlobalDlmalloc; getrandom::register_custom_getrandom!(iroha_executor::stub_getrandom);