From fd6d03b0d7aa63cc54d6d654601de31e126bb6e5 Mon Sep 17 00:00:00 2001 From: Matias Romeo Date: Fri, 28 Jul 2023 17:12:34 -0300 Subject: [PATCH 1/4] Change account id generation logic --- contract/include/evm_runtime/state.hpp | 4 +++ contract/include/evm_runtime/tables.hpp | 7 ++++++ contract/src/state.cpp | 33 ++++++++++++++++++++++--- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/contract/include/evm_runtime/state.hpp b/contract/include/evm_runtime/state.hpp index d5e4cfbb..0cb4a53b 100644 --- a/contract/include/evm_runtime/state.hpp +++ b/contract/include/evm_runtime/state.hpp @@ -30,8 +30,12 @@ struct state : State { mutable std::map addr2id; mutable std::map addr2code; mutable db_stats stats; + std::optional _config2; explicit state(name self, name ram_payer, bool read_only=false) : _self(self), _ram_payer(ram_payer), _read_only{read_only}{} + virtual ~state() override; + + uint64_t get_next_account_id(); std::optional read_account(const evmc::address& address) const noexcept override; diff --git a/contract/include/evm_runtime/tables.hpp b/contract/include/evm_runtime/tables.hpp index 1b774853..d8639772 100644 --- a/contract/include/evm_runtime/tables.hpp +++ b/contract/include/evm_runtime/tables.hpp @@ -182,4 +182,11 @@ struct [[eosio::table]] [[eosio::contract("evm_contract")]] allowed_egress_accou typedef eosio::multi_index<"egresslist"_n, allowed_egress_account> egresslist; +struct [[eosio::table]] [[eosio::contract("evm_contract")]] config2 +{ + uint64_t next_account_id{0}; + + EOSLIB_SERIALIZE(config2, (next_account_id)); +}; + } //namespace evm_runtime \ No newline at end of file diff --git a/contract/src/state.cpp b/contract/src/state.cpp index 269dda90..8bf5af88 100644 --- a/contract/src/state.cpp +++ b/contract/src/state.cpp @@ -104,7 +104,7 @@ void state::update_account(const evmc::address& address, std::optional ++stats.account.read; auto emplace = [&](auto& row) { - row.id = accounts.available_primary_key(); + row.id = get_next_account_id(); row.eth_address = to_bytes(address); row.nonce = current->nonce; row.balance = to_bytes(current->balance); @@ -214,7 +214,7 @@ void state::update_account_code(const evmc::address& address, uint64_t, const ev ++stats.account.update; } else { accounts.emplace(_ram_payer, [&](auto& row){ - row.id = accounts.available_primary_key();; + row.id = get_next_account_id();; row.eth_address = to_bytes(address); row.nonce = 0; row.code_id = code_id; @@ -245,7 +245,7 @@ void state::update_storage(const evmc::address& address, uint64_t incarnation, c uint64_t table_id; if(itr == inx.end()){ accounts.emplace(_ram_payer, [&](auto& row){ - table_id = accounts.available_primary_key(); + table_id = get_next_account_id(); row.id = table_id; row.eth_address = to_bytes(address); row.nonce = 0; @@ -329,4 +329,31 @@ evmc::bytes32 state::state_root_hash() const { return {}; } +uint64_t state::get_next_account_id() { + if(!_config2) { + eosio::singleton<"config2"_n, config2> cfg2{_self, _self.value}; + if(cfg2.exists()) { + _config2 = cfg2.get(); + } else { + account_table accounts(_self, _self.value); + uint64_t next_account_id = accounts.available_primary_key(); + + gc_store_table gc(_self, _self.value); + if(gc.end() != gc.begin()) { + auto itr = --gc.end(); + next_account_id = std::max(next_account_id, itr->storage_id+1); + } + _config2 = config2{next_account_id}; + } + } + auto id = _config2->next_account_id; + _config2->next_account_id++; + return id; +} +state::~state() { + if(!_config2.has_value()) return; + eosio::singleton<"config2"_n, config2> cfg2{_self, _self.value}; + cfg2.set(_config2.value(), _self); +}; + } // namespace evm_runtime From 7e9002025c67a602788b391e539682c9c0ecaa50 Mon Sep 17 00:00:00 2001 From: Matias Romeo Date: Fri, 28 Jul 2023 17:13:07 -0300 Subject: [PATCH 2/4] Add tests for the new account id generation logic --- contract/tests/CMakeLists.txt | 1 + contract/tests/account_id_tests.cpp | 168 ++++++++++++++++++++++++++++ contract/tests/basic_evm_tester.cpp | 26 +++++ contract/tests/basic_evm_tester.hpp | 10 ++ 4 files changed, 205 insertions(+) create mode 100644 contract/tests/account_id_tests.cpp diff --git a/contract/tests/CMakeLists.txt b/contract/tests/CMakeLists.txt index ab15b757..f093ca4e 100644 --- a/contract/tests/CMakeLists.txt +++ b/contract/tests/CMakeLists.txt @@ -25,6 +25,7 @@ include_directories( set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations") add_eosio_test_executable( unit_test + ${CMAKE_SOURCE_DIR}/account_id_tests.cpp ${CMAKE_SOURCE_DIR}/basic_evm_tester.cpp ${CMAKE_SOURCE_DIR}/evm_runtime_tests.cpp ${CMAKE_SOURCE_DIR}/init_tests.cpp diff --git a/contract/tests/account_id_tests.cpp b/contract/tests/account_id_tests.cpp new file mode 100644 index 00000000..c0f0ea9a --- /dev/null +++ b/contract/tests/account_id_tests.cpp @@ -0,0 +1,168 @@ +#include "basic_evm_tester.hpp" +#include + +using namespace evm_test; +struct account_id_tester : basic_evm_tester { + account_id_tester() { + create_accounts({"alice"_n}); + transfer_token(faucet_account_name, "alice"_n, make_asset(10000'0000)); + init(); + } + + std::optional get_max_account_id() { + const auto& db = control->db(); + const auto* t_id = db.find( boost::make_tuple( evm_account_name, evm_account_name, "account"_n ) ); + if ( !t_id ) { + return {}; + } + + const auto& idx = db.get_index(); + if( idx.begin() == idx.end() ) return {}; + + decltype(t_id->id) next_tid(t_id->id._id + 1); + auto itr = idx.lower_bound(boost::make_tuple(next_tid)); + if(itr == idx.end()) return {}; + if(itr->t_id._id > t_id->id._id) --itr; + return itr->primary_key; + } + + std::string int_str32(uint32_t x) { + std::stringstream hex_ss; + hex_ss << std::hex << x; + int hex_length = hex_ss.str().length(); + + std::stringstream ss; + ss << std::setfill('0') << std::setw(64 - hex_length) << 0 << std::hex << std::uppercase << x; + return ss.str(); + } + + // // SPDX-License-Identifier: MIT + // pragma solidity ^0.8.17; + // contract Factory { + // // Returns the address of the newly deployed contract + // function deploy( + // bytes32 _salt + // ) public payable returns (address) { + // return address(new TestContract{salt: _salt}()); + // } + // } + // contract TestContract { + // uint foo; + // function set_foo(uint val) public { + // foo = val; + // } + // function killme() public { + // address payable addr = payable(address(0)); + // selfdestruct(addr); + // } + // } + + const std::string factory_and_test_bytecode = "608060405234801561001057600080fd5b506102c1806100206000396000f3fe60806040526004361061001e5760003560e01c80632b85ba3814610023575b600080fd5b61003d600480360381019061003891906100d2565b610053565b60405161004a9190610140565b60405180910390f35b6000816040516100629061008a565b8190604051809103906000f5905080158015610082573d6000803e3d6000fd5b509050919050565b6101308061015c83390190565b600080fd5b6000819050919050565b6100af8161009c565b81146100ba57600080fd5b50565b6000813590506100cc816100a6565b92915050565b6000602082840312156100e8576100e7610097565b5b60006100f6848285016100bd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061012a826100ff565b9050919050565b61013a8161011f565b82525050565b60006020820190506101556000830184610131565b9291505056fe608060405234801561001057600080fd5b50610110806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806324d97a4a146037578063e5d5dfbc14603f575b600080fd5b603d6057565b005b605560048036038101906051919060b2565b6072565b005b60008073ffffffffffffffffffffffffffffffffffffffff16ff5b8060008190555050565b600080fd5b6000819050919050565b6092816081565b8114609c57600080fd5b50565b60008135905060ac81608b565b92915050565b60006020828403121560c55760c4607c565b5b600060d184828501609f565b9150509291505056fea2646970667358221220e59ba0023d9a6f99a6734000d8812c1830a2a61597b322310827ec350a4304dd64736f6c63430008120033a26469706673582212205e94c73549f6e1751509ff5704aec0a8ada3a60ab2b8cc1b9df9febc7ed2bd2f64736f6c63430008120033"; + + size_t get_storage_slots_count(uint64_t account_id) { + size_t total_slots{0}; + scan_account_storage(account_id, [&](const storage_slot& slot)->bool{ + total_slots++; + return true; + }); + return total_slots; + } + + +}; + +BOOST_AUTO_TEST_SUITE(account_id_tests) + +BOOST_FIXTURE_TEST_CASE(basic_test, account_id_tester) try { + + BOOST_CHECK(!get_max_account_id().has_value()); + BOOST_REQUIRE_EXCEPTION(get_config2(), fc::out_of_range_exception, [](const fc::out_of_range_exception& e) {return true;}); + + // Fund evm1 address with 100 EOS + evm_eoa evm1; + const int64_t to_bridge = 1000000; + transfer_token("alice"_n, "evm"_n, make_asset(to_bridge), evm1.address_0x()); + BOOST_CHECK(get_max_account_id().value() == 0); + BOOST_CHECK(get_config2().next_account_id == 1); + + // Deploy Factory and Test contracts + auto contract_addr = deploy_contract(evm1, evmc::from_hex(factory_and_test_bytecode).value()); + uint64_t contract_account_id = find_account_by_address(contract_addr).value().id; + BOOST_CHECK(get_max_account_id().value() == 1); + BOOST_CHECK(get_config2().next_account_id == 2); + + // Call 'Factory::deploy' + auto txn = generate_tx(contract_addr, 0, 1'000'000); + + silkworm::Bytes data; + data += evmc::from_hex("2b85ba38").value(); //deploy + data += evmc::from_hex(int_str32(555)).value(); //salt=555 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_max_account_id().value() == 2); + BOOST_CHECK(get_config2().next_account_id == 3); + + // Recover TestContract address + auto test_contract_address = find_account_by_id(2).value().address; + + // Call 'TestContract::set_foo(1234)' + txn = generate_tx(test_contract_address, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("e5d5dfbc").value(); //set_foo + data += evmc::from_hex(int_str32(1234)).value(); //val=1234 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_storage_slots_count(2) == 1); + + // Call 'TestContract::killme' + txn = generate_tx(test_contract_address, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("24d97a4a").value(); //killme + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_storage_slots_count(2) == 1); + + BOOST_CHECK(get_max_account_id().value() == 1); + BOOST_CHECK(get_config2().next_account_id == 3); + + // Call 'Factory::deploy' again + txn = generate_tx(contract_addr, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("2b85ba38").value(); //deploy + data += evmc::from_hex(int_str32(555)).value(); //salt=555 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_max_account_id().value() == 3); + BOOST_CHECK(get_config2().next_account_id == 4); + + BOOST_CHECK(get_storage_slots_count(3) == 0); + + BOOST_CHECK(test_contract_address == find_account_by_id(3).value().address); + + // Call 'TestContract::set_foo(1234)' + txn = generate_tx(test_contract_address, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("e5d5dfbc").value(); //set_foo + data += evmc::from_hex(int_str32(1234)).value(); //val=1234 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_storage_slots_count(3) == 1); + + // Call gc(100) + gc(100); + BOOST_CHECK(get_storage_slots_count(2) == 0); + + +} FC_LOG_AND_RETHROW() + +BOOST_AUTO_TEST_SUITE_END() diff --git a/contract/tests/basic_evm_tester.cpp b/contract/tests/basic_evm_tester.cpp index a9d7ece5..062d1429 100644 --- a/contract/tests/basic_evm_tester.cpp +++ b/contract/tests/basic_evm_tester.cpp @@ -247,6 +247,14 @@ config_table_row basic_evm_tester::get_config() const return fc::raw::unpack(d); } +config2_table_row basic_evm_tester::get_config2() const +{ + static constexpr eosio::chain::name config2_singleton_name = "config2"_n; + const vector d = + get_row_by_account(evm_account_name, evm_account_name, config2_singleton_name, config2_singleton_name); + return fc::raw::unpack(d); +} + void basic_evm_tester::setfeeparams(const fee_parameters& fee_params) { mvo fee_params_vo; @@ -342,6 +350,10 @@ void basic_evm_tester::withdraw(name owner, asset quantity) push_action(evm_account_name, "withdraw"_n, owner, mvo()("owner", owner)("quantity", quantity)); } +void basic_evm_tester::gc(uint32_t max) { + push_action(evm_account_name, "gc"_n, evm_account_name, mvo()("max", max)); +} + balance_and_dust basic_evm_tester::vault_balance(name owner) const { const vector d = get_row_by_account(evm_account_name, evm_account_name, "balances"_n, owner); @@ -466,6 +478,20 @@ std::optional basic_evm_tester::find_account_by_address(const ev return result; } +std::optional basic_evm_tester::find_account_by_id(uint64_t id) const +{ + static constexpr eosio::chain::name account_table_name = "account"_n; + const vector d = + get_row_by_account(evm_account_name, evm_account_name, account_table_name, name{id}); + if(d.empty()) return {}; + + partial_account_table_row row; + fc::datastream ds(d.data(), d.size()); + fc::raw::unpack(ds, row); + + return convert_to_account_object(row); +} + bool basic_evm_tester::scan_account_storage(uint64_t account_id, std::function visitor) const { static constexpr eosio::chain::name storage_table_name = "storage"_n; diff --git a/contract/tests/basic_evm_tester.hpp b/contract/tests/basic_evm_tester.hpp index 56b79940..cd83b0ef 100644 --- a/contract/tests/basic_evm_tester.hpp +++ b/contract/tests/basic_evm_tester.hpp @@ -56,6 +56,11 @@ struct config_table_row uint32_t status; }; +struct config2_table_row +{ + uint64_t next_account_id; +}; + struct balance_and_dust { asset balance; @@ -114,6 +119,7 @@ struct exec_output { FC_REFLECT(evm_test::config_table_row, (version)(chainid)(genesis_time)(ingress_bridge_fee)(gas_price)(miner_cut)(status)) +FC_REFLECT(evm_test::config2_table_row,(next_account_id)) FC_REFLECT(evm_test::balance_and_dust, (balance)(dust)); FC_REFLECT(evm_test::account_object, (id)(address)(nonce)(balance)) FC_REFLECT(evm_test::storage_slot, (id)(key)(value)) @@ -192,6 +198,7 @@ class basic_evm_tester : public testing::validating_tester void prepare_self_balance(uint64_t fund_amount = 100'0000); config_table_row get_config() const; + config2_table_row get_config2() const; void setfeeparams(const fee_parameters& fee_params); @@ -209,6 +216,8 @@ class basic_evm_tester : public testing::validating_tester void close(name owner); void withdraw(name owner, asset quantity); + void gc(uint32_t max); + balance_and_dust vault_balance(name owner) const; std::optional evm_balance(const evmc::address& address) const; std::optional evm_balance(const evm_eoa& account) const; @@ -241,6 +250,7 @@ class basic_evm_tester : public testing::validating_tester bool scan_accounts(std::function visitor) const; std::optional scan_for_account_by_address(const evmc::address& address) const; std::optional find_account_by_address(const evmc::address& address) const; + std::optional find_account_by_id(uint64_t id) const; bool scan_account_storage(uint64_t account_id, std::function visitor) const; }; From 53b9c04ba5d8eb524c26cbd787a8bf2a03abf2b3 Mon Sep 17 00:00:00 2001 From: Matias Romeo Date: Sat, 29 Jul 2023 03:31:45 -0300 Subject: [PATCH 3/4] Simplify initialization of config2 singleton --- contract/src/actions.cpp | 1 + contract/src/state.cpp | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/contract/src/actions.cpp b/contract/src/actions.cpp index 0c202c48..45380030 100644 --- a/contract/src/actions.cpp +++ b/contract/src/actions.cpp @@ -550,6 +550,7 @@ void evm_contract::withdraw(eosio::name owner, eosio::asset quantity, const eosi bool evm_contract::gc(uint32_t max) { assert_unfrozen(); + require_auth(get_self()); evm_runtime::state state{get_self(), eosio::same_payer}; return state.gc(max); diff --git a/contract/src/state.cpp b/contract/src/state.cpp index 8bf5af88..f9c253cd 100644 --- a/contract/src/state.cpp +++ b/contract/src/state.cpp @@ -336,24 +336,18 @@ uint64_t state::get_next_account_id() { _config2 = cfg2.get(); } else { account_table accounts(_self, _self.value); - uint64_t next_account_id = accounts.available_primary_key(); - - gc_store_table gc(_self, _self.value); - if(gc.end() != gc.begin()) { - auto itr = --gc.end(); - next_account_id = std::max(next_account_id, itr->storage_id+1); - } - _config2 = config2{next_account_id}; + _config2 = config2{accounts.available_primary_key()}; } } auto id = _config2->next_account_id; _config2->next_account_id++; return id; } + state::~state() { if(!_config2.has_value()) return; eosio::singleton<"config2"_n, config2> cfg2{_self, _self.value}; cfg2.set(_config2.value(), _self); -}; +} } // namespace evm_runtime From 07f89bb1d16f96e19a6415317def84e518c96e4f Mon Sep 17 00:00:00 2001 From: Matias Romeo Date: Sat, 29 Jul 2023 03:32:33 -0300 Subject: [PATCH 4/4] Add test for the transition to the new account id logic --- contract/tests/account_id_tests.cpp | 100 ++++- contract/tests/contracts.hpp.in | 3 + .../evm_runtime_wasm_0_5_1/evm_runtime.abi | 394 ++++++++++++++++++ .../evm_runtime_wasm_0_5_1/evm_runtime.wasm | Bin 0 -> 385145 bytes 4 files changed, 490 insertions(+), 7 deletions(-) create mode 100644 contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.abi create mode 100644 contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.wasm diff --git a/contract/tests/account_id_tests.cpp b/contract/tests/account_id_tests.cpp index c0f0ea9a..8345fcea 100644 --- a/contract/tests/account_id_tests.cpp +++ b/contract/tests/account_id_tests.cpp @@ -12,17 +12,16 @@ struct account_id_tester : basic_evm_tester { std::optional get_max_account_id() { const auto& db = control->db(); const auto* t_id = db.find( boost::make_tuple( evm_account_name, evm_account_name, "account"_n ) ); - if ( !t_id ) { - return {}; - } + if ( !t_id ) return {}; const auto& idx = db.get_index(); if( idx.begin() == idx.end() ) return {}; decltype(t_id->id) next_tid(t_id->id._id + 1); auto itr = idx.lower_bound(boost::make_tuple(next_tid)); - if(itr == idx.end()) return {}; - if(itr->t_id._id > t_id->id._id) --itr; + if(itr == idx.end() || itr->t_id == next_tid) --itr; + + if(itr->t_id._id != t_id->id._id) return {}; return itr->primary_key; } @@ -73,7 +72,7 @@ struct account_id_tester : basic_evm_tester { BOOST_AUTO_TEST_SUITE(account_id_tests) -BOOST_FIXTURE_TEST_CASE(basic_test, account_id_tester) try { +BOOST_FIXTURE_TEST_CASE(new_account_id_logic, account_id_tester) try { BOOST_CHECK(!get_max_account_id().has_value()); BOOST_REQUIRE_EXCEPTION(get_config2(), fc::out_of_range_exception, [](const fc::out_of_range_exception& e) {return true;}); @@ -81,7 +80,7 @@ BOOST_FIXTURE_TEST_CASE(basic_test, account_id_tester) try { // Fund evm1 address with 100 EOS evm_eoa evm1; const int64_t to_bridge = 1000000; - transfer_token("alice"_n, "evm"_n, make_asset(to_bridge), evm1.address_0x()); + transfer_token("alice"_n, evm_account_name, make_asset(to_bridge), evm1.address_0x()); BOOST_CHECK(get_max_account_id().value() == 0); BOOST_CHECK(get_config2().next_account_id == 1); @@ -165,4 +164,91 @@ BOOST_FIXTURE_TEST_CASE(basic_test, account_id_tester) try { } FC_LOG_AND_RETHROW() +BOOST_FIXTURE_TEST_CASE(transition_from_0_5_1, account_id_tester) try { + + // Set old code + set_code(evm_account_name, testing::contracts::evm_runtime_wasm_0_5_1()); + set_abi(evm_account_name, testing::contracts::evm_runtime_abi_0_5_1().data()); + + BOOST_CHECK(!get_max_account_id().has_value()); + + // Fund evm1 address with 100 EOS + evm_eoa evm1; + const int64_t to_bridge = 1000000; + transfer_token("alice"_n, evm_account_name, make_asset(to_bridge), evm1.address_0x()); + BOOST_CHECK(get_max_account_id().value() == 0); + + // Deploy Factory and Test contracts + auto contract_addr = deploy_contract(evm1, evmc::from_hex(factory_and_test_bytecode).value()); + uint64_t contract_account_id = find_account_by_address(contract_addr).value().id; + BOOST_CHECK(get_max_account_id().value() == 1); + + // Call 'Factory::deploy' + auto txn = generate_tx(contract_addr, 0, 1'000'000); + + silkworm::Bytes data; + data += evmc::from_hex("2b85ba38").value(); //deploy + data += evmc::from_hex(int_str32(555)).value(); //salt=555 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_max_account_id().value() == 2); + + // Recover TestContract address + auto test_contract_address = find_account_by_id(2).value().address; + + // Call 'TestContract::set_foo(1234)' + txn = generate_tx(test_contract_address, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("e5d5dfbc").value(); //set_foo + data += evmc::from_hex(int_str32(1234)).value(); //val=1234 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_storage_slots_count(2) == 1); + + // Call 'TestContract::killme' + txn = generate_tx(test_contract_address, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("24d97a4a").value(); //killme + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_storage_slots_count(2) == 1); + BOOST_CHECK(get_max_account_id().value() == 1); + + // Make a transfer to a new address to create a new account + evm_eoa evm2; + transfer_token("alice"_n, evm_account_name, make_asset(to_bridge), evm2.address_0x()); + BOOST_CHECK(get_max_account_id().value() == 2); + + // Set new code + set_code(evm_account_name, testing::contracts::evm_runtime_wasm()); + set_abi(evm_account_name, testing::contracts::evm_runtime_abi().data()); + + BOOST_REQUIRE_EXCEPTION(get_config2(), fc::out_of_range_exception, [](const fc::out_of_range_exception& e) {return true;}); + + // Call 'Factory::deploy' again + txn = generate_tx(contract_addr, 0, 1'000'000); + data.clear(); + data += evmc::from_hex("2b85ba38").value(); //deploy + data += evmc::from_hex(int_str32(555)).value(); //salt=555 + txn.data = data; + evm1.sign(txn); + pushtx(txn); + + BOOST_CHECK(get_max_account_id().value() == 3); + BOOST_CHECK(get_config2().next_account_id == 4); + + // Make a transfer to a new address to create a new account + evm_eoa evm3; + transfer_token("alice"_n, evm_account_name, make_asset(to_bridge), evm3.address_0x()); + BOOST_CHECK(get_max_account_id().value() == 4); + BOOST_CHECK(get_config2().next_account_id == 5); + +} FC_LOG_AND_RETHROW() + BOOST_AUTO_TEST_SUITE_END() diff --git a/contract/tests/contracts.hpp.in b/contract/tests/contracts.hpp.in index f606450c..ecef1ee8 100644 --- a/contract/tests/contracts.hpp.in +++ b/contract/tests/contracts.hpp.in @@ -40,6 +40,9 @@ struct contracts { static std::vector evm_read_callback_wasm() { return read_wasm("${CMAKE_CURRENT_SOURCE_DIR}/contracts/evm_read_callback/evm_read_callback.wasm"); } static std::vector evm_read_callback_abi() { return read_abi("${CMAKE_CURRENT_SOURCE_DIR}/contracts/evm_read_callback/evm_read_callback.abi"); } + static std::vector evm_runtime_wasm_0_5_1() { return read_wasm("${CMAKE_CURRENT_SOURCE_DIR}/contracts/evm_runtime_wasm_0_5_1/evm_runtime.wasm"); } + static std::vector evm_runtime_abi_0_5_1() { return read_abi("${CMAKE_CURRENT_SOURCE_DIR}/contracts/evm_runtime_wasm_0_5_1/evm_runtime.abi"); } + static std::string eth_test_folder() { return "${CMAKE_CURRENT_SOURCE_DIR}/../../silkworm/third_party/tests"; } diff --git a/contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.abi b/contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.abi new file mode 100644 index 00000000..e2c7a430 --- /dev/null +++ b/contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.abi @@ -0,0 +1,394 @@ +{ + "version": "eosio::abi/1.2", + "types": [], + "structs": [{ + "name": "account", + "base": "", + "fields": [{ + "name": "id", + "type": "uint64" + },{ + "name": "eth_address", + "type": "bytes" + },{ + "name": "nonce", + "type": "uint64" + },{ + "name": "balance", + "type": "bytes" + },{ + "name": "code_id", + "type": "uint64?" + } + ] + },{ + "name": "account_code", + "base": "", + "fields": [{ + "name": "id", + "type": "uint64" + },{ + "name": "ref_count", + "type": "uint32" + },{ + "name": "code", + "type": "bytes" + },{ + "name": "code_hash", + "type": "bytes" + } + ] + },{ + "name": "addegress", + "base": "", + "fields": [{ + "name": "accounts", + "type": "name[]" + } + ] + },{ + "name": "allowed_egress_account", + "base": "", + "fields": [{ + "name": "account", + "type": "name" + } + ] + },{ + "name": "balance", + "base": "", + "fields": [{ + "name": "owner", + "type": "name" + },{ + "name": "balance", + "type": "balance_with_dust" + } + ] + },{ + "name": "balance_with_dust", + "base": "", + "fields": [{ + "name": "balance", + "type": "asset" + },{ + "name": "dust", + "type": "uint64" + } + ] + },{ + "name": "close", + "base": "", + "fields": [{ + "name": "owner", + "type": "name" + } + ] + },{ + "name": "config", + "base": "", + "fields": [{ + "name": "version", + "type": "varuint32" + },{ + "name": "chainid", + "type": "uint64" + },{ + "name": "genesis_time", + "type": "time_point_sec" + },{ + "name": "ingress_bridge_fee", + "type": "asset" + },{ + "name": "gas_price", + "type": "uint64" + },{ + "name": "miner_cut", + "type": "uint32" + },{ + "name": "status", + "type": "uint32" + } + ] + },{ + "name": "exec", + "base": "", + "fields": [{ + "name": "input", + "type": "exec_input" + },{ + "name": "callback", + "type": "exec_callback?" + } + ] + },{ + "name": "exec_callback", + "base": "", + "fields": [{ + "name": "contract", + "type": "name" + },{ + "name": "action", + "type": "name" + } + ] + },{ + "name": "exec_input", + "base": "", + "fields": [{ + "name": "context", + "type": "bytes?" + },{ + "name": "from", + "type": "bytes?" + },{ + "name": "to", + "type": "bytes" + },{ + "name": "data", + "type": "bytes" + },{ + "name": "value", + "type": "bytes?" + } + ] + },{ + "name": "fee_parameters", + "base": "", + "fields": [{ + "name": "gas_price", + "type": "uint64?" + },{ + "name": "miner_cut", + "type": "uint32?" + },{ + "name": "ingress_bridge_fee", + "type": "asset?" + } + ] + },{ + "name": "freeze", + "base": "", + "fields": [{ + "name": "value", + "type": "bool" + } + ] + },{ + "name": "gc", + "base": "", + "fields": [{ + "name": "max", + "type": "uint32" + } + ] + },{ + "name": "gcstore", + "base": "", + "fields": [{ + "name": "id", + "type": "uint64" + },{ + "name": "storage_id", + "type": "uint64" + } + ] + },{ + "name": "init", + "base": "", + "fields": [{ + "name": "chainid", + "type": "uint64" + },{ + "name": "fee_params", + "type": "fee_parameters" + } + ] + },{ + "name": "nextnonce", + "base": "", + "fields": [{ + "name": "owner", + "type": "name" + },{ + "name": "next_nonce", + "type": "uint64" + } + ] + },{ + "name": "open", + "base": "", + "fields": [{ + "name": "owner", + "type": "name" + } + ] + },{ + "name": "pushtx", + "base": "", + "fields": [{ + "name": "miner", + "type": "name" + },{ + "name": "rlptx", + "type": "bytes" + } + ] + },{ + "name": "removeegress", + "base": "", + "fields": [{ + "name": "accounts", + "type": "name[]" + } + ] + },{ + "name": "setfeeparams", + "base": "", + "fields": [{ + "name": "fee_params", + "type": "fee_parameters" + } + ] + },{ + "name": "storage", + "base": "", + "fields": [{ + "name": "id", + "type": "uint64" + },{ + "name": "key", + "type": "bytes" + },{ + "name": "value", + "type": "bytes" + } + ] + },{ + "name": "withdraw", + "base": "", + "fields": [{ + "name": "owner", + "type": "name" + },{ + "name": "quantity", + "type": "asset" + },{ + "name": "to", + "type": "name$" + } + ] + } + ], + "actions": [{ + "name": "addegress", + "type": "addegress", + "ricardian_contract": "" + },{ + "name": "close", + "type": "close", + "ricardian_contract": "" + },{ + "name": "exec", + "type": "exec", + "ricardian_contract": "" + },{ + "name": "freeze", + "type": "freeze", + "ricardian_contract": "" + },{ + "name": "gc", + "type": "gc", + "ricardian_contract": "" + },{ + "name": "init", + "type": "init", + "ricardian_contract": "" + },{ + "name": "open", + "type": "open", + "ricardian_contract": "" + },{ + "name": "pushtx", + "type": "pushtx", + "ricardian_contract": "" + },{ + "name": "removeegress", + "type": "removeegress", + "ricardian_contract": "" + },{ + "name": "setfeeparams", + "type": "setfeeparams", + "ricardian_contract": "" + },{ + "name": "withdraw", + "type": "withdraw", + "ricardian_contract": "" + } + ], + "tables": [{ + "name": "account", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "account" + },{ + "name": "accountcode", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "account_code" + },{ + "name": "balances", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "balance" + },{ + "name": "config", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "config" + },{ + "name": "egresslist", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "allowed_egress_account" + },{ + "name": "gcstore", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "gcstore" + },{ + "name": "inevm", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "balance_with_dust" + },{ + "name": "nextnonces", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "nextnonce" + },{ + "name": "storage", + "index_type": "i64", + "key_names": [], + "key_types": [], + "type": "storage" + } + ], + "ricardian_clauses": [], + "error_messages": [], + "abi_extensions": [], + "variants": [], + "action_results": [{ + "name": "gc", + "result_type": "bool" + } + ] +} \ No newline at end of file diff --git a/contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.wasm b/contract/tests/contracts/evm_runtime_wasm_0_5_1/evm_runtime.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7b83b735c55fb39bad72a145e40284c02b4e36c4 GIT binary patch literal 385145 zcmeFa3%p%dRqwxEd!N0}KIdemJq?E@z}nl?|B1E|5YyO;w^{iVC@(GA+kgM}^1n@K zqv=T>d9{{nnjG3t0`dq@AVq|LU`tE2C}=Gx0fAcqv5LKvD{6pRLq+XX(5gW1_cz8| zYp;EB(l&)6_~E48YpuEFW6Uwf9IrX%T+#X4FNvcliXTj#wjqi(WV`u`Hl+Nma^1Wa*=sgw4rUuq+1mvcRZo4ZkOKdB7^GMW!3l-g{gCwGExawRkDje zDv8LMg?FUzn#8tV8bGP%QUb+zMP60f;rn;MW)1h5?>WxWeD39C4bpjn{K@H zir$4UI`3yMy7a>HE?V=nXj&-~8!y{_(PihIzkU10Z9Ag2l3M4#=rZmj-M25)HKfiI?i!Qso3BCGr z>BcK}SnaK<#cdk}rKP0{D)m>9B~MUz`;N=DdCnQ-94BdGXyEZmSVF>38(jH|}&AiJWK@r$<8!UYWQj_8TXF{vCE zTz28c^EQF2=t)X@oZuE5mt6{}?YMl~rRQC7{>7JX^tOAd@4SmHz4)R_LrNa{vMmWQ-$7j4;i$%Ri@v)Yr}&6?Cus6y#=+3tcuJ*F8XzU{ot8($oC1lMs@ z?Tr@(@Yp4nU3lKcE4M^_2mfNo<2-~1F!cfmoS+p^!vqLnALT4_|Yl9NtK(^fl4v#iw`&sy!QmF3xz zrSVidYsdWKuf<=xecVYrWjr0vLrl)r)DKSmKizD0>Fm<>N$qypYEdW2C-D&esQaX} zwJPq!Ka`x*OK52#X)S%i32Aat^24oGmSyd1w$+_lIyKdrN@*x=(W3s(PCg}Tx4OIs zqVY6qO-*Ig9JSiB@kvYDr;tO%;~!a;jkliMe)5xB{Qu+@|LZ3nTTNSO(rYCdwN12J zN!&`3HjuZnsP&XYU1~)|a#9MkR71Z~e!JZk-Qdsq+-gnGNW0a^y5p@Rje8l`5-QqD z+dudeI`-6)dMEv8mW`(;wK6&lB(&3`Oee|O-FACCZ4Do(0(7Kg%O43n=^vBA`$Br&7>F7Po~R8cnI{iEW0K$6gYrOQUQo-V*QOUn`BHxV-;TSE`D+JzZ2gce<1!^{L9H(leZ-YlD8*cjo*=cC^?w?W%A+Vlga(b z-y~m7zLNZH^2Owy?wdvc^*QBpYU!Pu=z9D^M`lfV$ zdVTul^q11Nru)*@rU%lur|(FAC4Fc5uJl*a8`2xocc(X{H>dAOZ%KbG{q^+L^c%^0 z)89&eJN=#X_Vfek2h-n8e=q$|`r-5=>F=i>O+S`?JpG^P9qAvWAIomf4rCw5ekJ>0 z_O9%Avm3JC%Wlp-l--gY%s!m`diIg*H?!Z*-k*Im`vhmyBu>HVL(U`Uh78)a4X zZFjx&kM4c`5SG^`y3{|fkmG^u(>FrJ8wv8;E+&#DT8Iw_ddbw;3baKAp=IXh%I+q?qtk>agdc`TL%d*qVmc)Na4yk zQq{rD5EZSFzH_cnR+8*_Nsnr?^2)7q6uxq9(BfUcU8FQ+#m2VP#lX~N2r&sMG|;x@ z3eVG`NNVrm{3jUMr-I6ISw9uvW%lgJ$a|2lQ;+h~X@|CH!;sKVMV(KJlih$A7t!*5 zoUBVJ2?CRso9uF z&86ib(SSxJEu+(-d*UKpADx=st?TYn(>u8q@v5{l$WBe~&;!?lx~Anp5y5TTm&II> zjhw7-y5G*^GW#vX0I`F7Jy6Eu$(LJPY8tL=!NS)~Yn>3#ltq z-}BUzz`7r1H8Urus;7M9sZ&4gqc0t(uF9+Dd~VQgKF`bz#=^5MTfD#f;s$U@xpoc| zgLPUzNb5uVoZ;EmI(Ak!kTdJJDXgBX$kxx_`0|ha!@EDT7a_MQU7be*2K-E;+kmj= z4;cEDG*Qew)A;Hq|Hb)gc^Ld9^f~`!;Z(ht5n4&+1|&HqymuizA5HI6`8#!bk*-P) z$ET+IeDo;oqprr{a#jUY%PC$;-A4WycL zn;>pl>0g?}j<*lA_kb zj9o>{g-Z6@U;(TYHb5&iB7+vxRHXexNHbo+^a5oPrA5nF#voR&HEdK;Fu096nIB2x zk?B)SC#BAUGD_vG6S>?ORYWtSvhwaau|blD>cpCUVJbG+MV7OJ&ib|27M=C8*9KMc z;DgaMdq|iG35QOCumyJycH5hSA# z^*i80JZ8{UYu$ydbw^t3j<&{Q-5MF|)~F@4Mx|A2Ej9g^_Q$ATlP2marqHSBncQY- zGh5iJY@}D&Xs>vzdqu{&SJV=EMWx=W*+Se9dbu;oTV)LA*7RbM+#Qe1+|S3yI(3U` zey(iHPwHk?cdA#&+oMn2yW@K9em)M97YTZYjb2?7NQ^jO!ehPaK zQ>&hN2xQ&y=`6Nu+#SFW!{jUY=@`X2qfbkCC#*C-ZqO=sKSxZxpBaCI#x+&FSJ7Zh z466fQSz$A_%ZyFdF<-l4a+#_hSM}`|z;CmDx9AiZGuG6GPNCez_$+me!H>(RG`V4X zsu)u-ewt9V^C*8!Jg7YrpYOXrv*AyEf7Jz9t{eE2$Vty z2|z;Ba7Cn96s?K$3}M6?`zSh9&*(q8qqpi12~I$?#1PO2{Wp*#qQ}xdH7O#st^T3N zynu9WJEjD6=miwg`&^o|AWSDq0dAV5S2zQNQ6LR5b0dvbP`_izV3a#i3Ob+@1w zS_;!w(|B8G^5VdqGqtx0k&WMy7T5ttFk!aHvnyEVxQbtBR++9b!e)ZN5f zeyK=7YDSUeKVedTrjJDRN}9R^G{sm-5A_jm=n~--Ro1U6mLmc$TD=b^NxD1T>nG$Gpg3m`Sd(HML+DHyxcA~6e9)w>a2 zXW$Z4NnV+XnnRiys=c)t16Qr-5t4*f;ohP~?6J1;kEwl#tQf-_7de2;m=a`pK5xLk ztn&EGNyv>F(QA-vC;EMaH3hS!_?YfYMK$%38pYDkEsbGDLQ)6Ek5DFcYWMRdlk!3S z#%wUM@|)bJvc+k(jCTxL)R{hexp4=^dHo;|u2m~|6X>^NaHj&t!S+t3z@n*0n^8~J zZvO13_v$Q(G3kU+I)^%ncU*cvx=;^DNA!SnR1e@$vfp$mGV0!RDQe+fx)ha44*>t- zhL3F<>De~6aP=2RgsQ8nqRwO6ruFMFZbSXjG=+zzKMhSpvr!HW&fs?|J3C6@eCsyd zUr~bdt=!FAv27b9`AD)o+oWCZy&3WqB7sbvIbce`M+;m6=oU~p{W~R^m}DAgBIwzr zYmp*Ilu@k47+j`&l7$m|r3IsNcT|1k?Ju8Q0*mmD%o?tng{sqrjN zb~m2Ou$BZE48LvSOOk5PSuP<}W+l9Pxy1CKEt7i8RT2a>axVWF;nIacig!gMQF|KD zmw&S0wfO+>HK>X)Aq}QnK249s816+W(#)PQ*eo`tI4@;H9WR7Ap_`w@1&`I4!nGV$ z-BW=yMM9-`Ysk44&bnGaD6?#tn3ekF1|Hs`yG%;7s_3*TC`H$4Oy&}PeX7OT@~a9 zuSN|}2ah_wSV7W-`8;21O;#FSUHLcA-!V01^qKaKk(qCM7}o|aUFE5cR`L^J001lNq*K~e7RgbCP~L#l48j9$b+8;s6Z`} z6#oZes8!0LjyKN4AV8lMeK0m-JH1s`1mTTbT@v|+yywUi)GL~^khJ%RU$~EmzmCM?nI&+fAXbMW$E6~S zyG-L%r+S4mv3^x_T&8tRrWpi%d^8whYgnh!TN#2K2oREGxqxLU&{)ALBXa~+iAL=7 z#}d}D;s{uwa)&j5=+L&b4)<^bQqhJ~rlXKYCWYxp@;C?G@S_nf451xM8j7lM0hx4- zOrX#qmGCem5*|iqq`SCWARl`dRNe!W3Q58yvvLe5=aosKht&)gI{t1lCSWFJXfZ3Im4=`U$te_N} z7VUI@_ZBV)l}+f0k*q7+uN%1MaxRxlCfS3;Qw_jfb>oI ze=&yTG_I>C{KX6xV919rre)GUPcFRBCujLYf6x>&%0Liolu>j46=C!Axq-DAxRd!Y z3=5Ri7-1{&gOiCOa_9=={J(KstUjU08&T(2oPQxLtXS-5D=+G!Y*ms@Q3)UbL>6ZJ0RxiGysU{!I$q(|Q4b>w z(BUimg;;Nxz9#9^zTAn1e;iPHmzDFe)@c4*Yc#G~LRn;Coqjf1m*ZE3ZJAH5eBD1- ztb!G1Xf&8UShLW*_luFgt7&%#yw(KOY{HV>oZcI z!2!*yZeTb={!(8Wkau1T8lV_%?zB44)@;lrr?ol&{jxT}6Tsorz#y+z2V!n{53z=k zVs+rZi+__9$`jyp93*Q=$*NID9QVLc_$AhT$u`42EA@0{a?K zy_Nbdj|(e58c&?6Of2|Fg6R)rHsXazu`{_a`PQKW5)-r5FQ5`)SAMl~G8YvTZY|d) z8!(7`^~iuJ7Y+;al!XGSA%T;Lj}>xBhjgv7wDR-xyC&J7iw47ja=4e6WWnHtM!z`S zo+s}EE(r|-9uEz}n4rZYr=Dz(Lr6%KLrBB$Jc;tem_$+@k`~I-=b3*SNS;kLp!Rz~ z&}!QIFrXuYoed*&3~4Z6njd0Kw6@Zb$MTSnr`|X?x-f^R7p~K=DCnNTbYPV-D%AJq zOJAp&g(gY)mH#8^w>rpy2H*<%Sbo0siZzE9i5%$1%y4m>rxkJwNkwei8XY4#bkSg} z*pP?*>Z0NzI;1f!8lz$nlE0d$UctHQS6Z5o66h`(wcl^aWy5%|B&T;+c$w0mI4xvc z;9#C zL-q`YEKzIX`Ya|6g&T58 zF}Gx6=1Q)Y^BL+@>A9z-5-i-EC4z`GK(H4pIb+NXs&kQ*AOrI2V}~rT+PKMTVLP*7 zjw*a6Da2dh7-xy)Sk7!!ayIKiRAF{l=*QLnZ2gGg4>YcRcQ#|l=8Dc~-(v37M5-n8 zWc}D)X{{_3*s!fs=7P*D5Dlk-V3tYP--N~NokX$3-H-Q?Rt6ZM2UXW3<08+DD3(NI*&ve4Xt1)SBcBQAU_)EuR<2!7wi} z#(X%+HpVIqQzb{IZ(P}Y4T_k6iHXm}MQ=!8#RPIxuOQ{)A#UzXr?@k%7tEcr8{uY~ z%b80MXc(yN^5(m4x=Tt@d6RBL!9c1$6rL?B|MaH2en@N8ZKeoo)nhc(em1mdtCk2S zU-UzKU!1R3fDa?2=x&BiV~aH5%>c{W=!-PtutrT<`7(;ZVj$BTY*rc=g#myVAYH(r zhqiR)P<;C_!ZDEs3{NEt8jzfZUDhc+hu2#$^Q{395co<+CcBfGDk+H4p&N>x0$w#4 zTa#d1O%g1GR&NXG1xxl)03lme^aX9D2ZAPa3q;e1xMmU>M7$kFjugIn>g?Z;;^Nw9 z*%tG}_ZLQvgcTLj7&I58$oD>!n3K2KK=3W`ra%4Uz5Bli+d3L^`nkZHpgMJ&ND$*q zNWfP=O5S9=gpm_pGaYbXgVjdW6~S~A+mQIK0*2cj8LNtyI=mX8<^)4XYJyGMcs#_6 z()3_Hzxn%9;!#ZrE%(<`f?0mlDUm(Qlz@Ao8ZzTG`9$2lnl0k~#Vlc;j-ubp0AhOk z#tNuyiV-3gior4#$#1OJqwl~j^2nmhQCTW^ z1UACLsWV7C6&x+>S7CIPK`dw2~z=0LtRWO;U2-t zt6C3B%UTbU!LD_6T^8tJ^$Lwd6MEPfdKgUgWPFN%>jPqXShZOEK{nM^_Au)0k(6+! zsmzHS5JP+5y$`sNAY9T7cm=i+E)Vw#h&DxW2oTsjL+4Vu#b_ZC+9Gkq28L(`a?7W4 z)*NdJDl%wem&mKFf~^-!dPr&N@sY4d#ROod{Ih{Tn^c5^n@wg>_XG^LCqq1n0EWv| zp6LWk3tyz^f==#F)(St()vW}?iQ>Q=g6~Xo%;l37qz8QYE72wstX;_D;8Cy#O5B?I zp26N374|Ai;L%{P(!@c}Lt^k%Lk!*&ySs~RdUC}i66@9A_;8NcYG#mIs9(&KOmUc4 zAZQ|~E>{XO)>(;yKA;4a@7XV>NJHsJn!J*I+-k+d_-m5CF@|c)7&YgSd30oQ!9PVc zD-{EmDBSP1;F@z-DI^)GAL52Kmtz)kUcOrPvnARFuu9%WmV|~RI87H)z?L*81pUsz zBdH0`s6{08N&p(KEZt|}{(;<&4qxM{E&wXLe} zn7Ub^k8O3o!_IuTj9d`58{kk>4YwqOsf@LgO_Onux~GlHYM-fRN&^NAM29Kl4Xvv3 z8Nu=3=Rb#XY)jwrtV=sYLq;AXYGszX@J8W=kirjBm)#@h9qq_PWlgth?oiMk{!44m z79&iF3oG!6l;E*^6CRh6b~g7rB3FqVZ&J;gXfP+1T=aQwz?!MKw^X)ES?o!xr=h{8mkiD4fXZHCOiOC~gmxdG3yA8(OSGDcH6|Jq{gUy@t)-AS%u9TE z$SY5`94P1$I4Im9O@JQ@2zt}lGl1;|Q$m8v9SygWF`6kB5cNsZP;Njff#=X*y(+NS zo`DS-Y4dwXvohyJ9|PAbF>Y;aIyGrb^#5D3q~n7%^e7p9JZ6K{4qJ_egXR7QuqWs0C8F{2b*?*e#>boKQ@Y8S=++a z$XE+yD`i{PLoTi-DMTY+4KDQB7!TQNtGyw!qv2ngq<7^)7huj-7U0L{AKYGL#zI$n)j^8_qwpM)4X=^KMZEe=vwvSR- z^A+}oQP%!Pt?gc&hP5*W3*9O|X0#z;gNcy3iJ(>1riqZrM9{hi6f51m-$tM!f@LD4 zG7;o|!$fGohZR~Y6CtZigrxE;YIlCaL;%!j#}{z7#J5-29$e-PUMicN)JH?i6?p@V zy~tRSEutjsO~tZBDsFO65-gSfOEZrC zYAB?bai$8hVW7?MWaw!IM2~Tk;=IrHnnHMw?+V z%7c@>?MbS0Rk}AGF7*W^%Iq_PX`cl^Si5L5&zDp}NSrZ*g}Sw*A$anO-K|ACxa-^I zt_N~9vdeAO^w%3W5{cHeP3mlpCjp0o1P}uyVW#fdf-Edm7@#NExfGp`M;30$Cx35^ z9S1H4PwR|H%M@pg&n}2aJ;|LHaJkZ92bY(4!?y|1EFiP6p@n7cF<)iLtaeP!CU1%5 z)SgWa=zJ0RP{mvE2#dEGdZ+?Qb(-@v-M55og@hN9h3K=;Y74E2&3CHpwwQTS6^F)R z#z+eSzF#ZVI;ZHIQK%NwC#qNYDe6~RP?t=rhU_vS22wD(-=y?Il~zwlWg2Yy!`1Ajaun-9j=DVx53O5hEf-Cq!M?N(vL7Za;Lmg$Baf z6bqooX}%SZ7|~ms#38z5gwD{OjQ0SQCe>{6!U1_^lMSK`=s>iAi@&A~YJm56Z)9o` zDB#0|^+02{8fnmEt9%c~(hzw;UANYxajQ{ zjiQD5&qs0r6Z^-6SIy*dJ}{c#Q0TVj6; zfmle;8{+y1oLKB$2(gtLbF*>l%jmM88g8t732y&zXw>!pXnMa~1h^Y=y?BmAdfN-r zPvJl#ZzD{AFM2T_M0_C6cjtwCA{h0rYY}ptR=cQ40&Kye!3!c#U@AxkK`9dFDSvYe z_=seW&7esT)>zLhn#-j#S}tWcSS}?(Ksj5!TqV}GW9~f6}(bHh4on3l|>7(Btsi4{uDT@w0Vg(iAd-GTIvvVyd>aO$lHUS2WPL1Wy{~fH}Ow0#WT?W@v}& zLk73jhh`bvG&I$AXEJbF>c~tbSd_`aJ5R(j3oz16wabq`2E!?)8-%h z)vC8=Srx_>mM_^1{qGpW2EUW2!$Oqr-M9B5v20mxWZj}&K0btvkyRzeVC;z)I}3|q z>`1Y&m}%!oiK_574x`Oli|04qo&<)Qz}rJ?nR)iNY_%Q5i^Y~L9$1!GU|CgN2rR>B z4g6byWeXNFzvF>rTF`vRz_Negh+15LI+wwtsK2G)jqka@GATIXO$se*M1HyU<%)*< z09e2-zwt>lNtf6*4jj?(94%2SO4iY%zG5OW0|SIq(HI^&zmaMcob_EC2i8}n z38+O(77fy>3QDI(EHYZ@w9FdImKn0sV!NQwd?%H#mt$w|*O!=A%MSXyAFmb~sVZKu zrv@)F+a%2<!}JL@TV%UKy@}U@-WQDL!C`E?F;a(wzothwjYC4Ky1__a>m;Pgk}u z9{k!C4m4D~f_2re+z`fiGxJ^T%Sy&J(MlcWyBx(8R2Y`uEl`E+2|)Hj+p;SO3a4$W zW4K^zlDy9Ewf#f1p)u_way=0TylKSsq#|0j(U1pvewy7f)c6hE`xLwP$u0y2X{KP* zLwQNzPxy)Sgn+0jVHkZC-U)d9bgevp@^I@VBvPA!tS1UfPk1y_L^&w&6={P zIZjXRCy3LkpaCOb)(+)<+GDQCwmi#f*M6CaS`?D|iOLSgeSu`98ASPbbdmeX)|Vw~ zhU?4zs#CohS$ehw!KmRV6fS4o&EK}Y#ES2prPann3v)_yw4QHAonZw<8xsslZkNTv z`GpG(*@%J%9xBYS?7&p7X#tnAc1xL4K!d8;3krqF!_cx*!RQ7e8++9mh)6{O4T(7R zaayeQ5NV8&@Vema@DX=zV_UKe`d0q)v;_=@G~!||!i!NMs=-S6Dn1Vs)r=xj*k5F> zML8UYBTf})y*}dZaI_6ZZN(DNu|pO2;r{b@9Ivz?KNM?WMMHjwc5G!umzqb|DoM=< z{8e!AwWQwEuY9LVRDQ}%4%142U{Ozuvbiu?`HNv_fV0pkS#ytQ*jHSxa!IC@OY%F+ z(`?OqHkro%5k@dS zTD#+cxzA5{fKFCLd3ew+pJ?U^6_wuUNST#h2i}@bG%)owIs#+eufqO&Z_V)o~eK2rGI7y82)H{v!@L{C1d$ z!|1R@_aALK>h_~IASG~*ehb@=Du4R7w*6>G!&QB3FqL8|cHZ>QuV^~Br?ssEE1=7T zNR)9?byBqY)Lgi(WBt^sPh%-ru9Ybp~EL zpO0~)QLB&Ug{&9};{@JJCz1fK+d%BfGc^pS6QMIZIpAa`!QjKq6CP19;v26wC#|&l zb?PgsaTO@u^o=j@t+=1aV-+WB-}sbSo)G#k(C*|gHnEr*F-i#~Li*v@|Gr23yTT*> z=t7qk^@!ipGAC#_g5rpsyhRn3^GJ5`{sIwr_%WE{zDM&>?c|kVT5sJ&I@W7^(*rvS z!FY)6qhNCtGwBE(61MIJp7AhScVRSGCE^xxT{SoIYHH$7?cCDu4!xyac~`rYcNP94 zmNUH>8^$*B9zCcCFg#!gVb*Q0*2;5r7& zs6aTDeZIdyxyASSdc2se|0?5+P`xh*oH|NrV!cY&&8=5@l9kG@Lo^EM4AMm0#}ILvuWbV&X~3p zOC67>9FiyD6-Gk+N--ewhr!|aAfcG18 zw5C-qU1YRaqjr9I-Kf6`@Mu3%1D;Iq5P2@ghTNRd|Ay2VvwRWLKF~I_=?yRlI;**uG8b9l9@~L`=)q{~w#Ie^_QD>yQz6s(#bP@Z zh>3zQKp$w9#APe3n)dbwa$zfWJZkR9u(~i0hYm^G)}{JGP{ZR@;{Gq&9u9d0?p81} z*Qht4H+SC0n=%FtXhfRI&el)xGF0Cn(#eGc!{YoE@l~c?Fo3Zg=LWv^(=sa+in; zpfsGKj1SyzJUi01@raXXnKSvzV{TF8BIb;qU%_*4o#udt<=EI;E*lE&^a@Rc%me$V zPt2*Zc8azelycYf1`8`twO#>tmgULE0ugmSW{fAqtyr*JbE3m|CMw1Qlc`@l){G~> zlQrXLG$Y_i0Ul#|LwJtDcpfu^6%|(S;MGt7;J+8A4)A31C^q2%VaLR&-*`+>S*#uT zmZf73%aT?!4B8UoSQwV|bG{rCIN0B(|Dir^VTV}}F{;C?ESgjiqA=vuzPvE&{>{Rl zYHw!>e}c{LtF|>L&=iN^8E94bSL*F6_-~HfzM?4gdi#p)2Grg#^LCoxf8?LM`0tvC zt`{u6eTCOZtVefnL1SA(a|Li0Gkg-Qu+L~9`HPIDJen4v8DiSFQVN}bOHHE~CKR4SR~FHIqTYUK z>C(_cEq*45cC{8UT~A@wrri{g^qOAL6NL!unMOg^8mmRWeNolLM-?)e2;@= zVyXsO6qn&=Ii%)u)CpTU3mtWm3SvXO?Z{_yuc2AtjpRg88)Uvs!(mAQ1N2rfNK4ev zI25cQC!39yX~H-Ef-O_~08(G9ip2aoT&yRU8nOrKEoJ)bg?-^;(Pi=@D34W0s$W2P zM_VRethC7FsLSN+(30iEZ0a4e(6IoPW0pB*I0FcQ!Xl)FGUqjLQxQOzL&p}Pj4(7a z@|fXT`LJ+p8UgF~^);Z{!@H6J*5rj~L&N#t!c<*-q#r74XGCJ;RK45u}cp9 zVu%t@RrZ}5{KjEv=T-vJ(+6XqUe&2ROR9&tsrU#A#$_U>Uz_i~Fgw$yMA04=>G-CL zc`|nET$~o~Z2yvF*O7K0{XSV6Mygs|#cSwgQRfX{trTBSFAZb_AB76k!SB3CnOSslCSnOZvhiwDcbl zO9wKOwM{b?)-F#seu2mC%SnEk0L`#H;4y86ZS3mJWBYXl!WX=m$M%BHNpd>yXjLSY#QZT zu_juAnc#B(ewrHHrF(m%#z88}q@YTg!FyxIQ*qJ1gewYZG%W3Cq zuN42c#K3oqfzpKW zpuQ~ZLu;fD65b7r@mTkPjCCKVCG^46pgnseP#Gqv8}AcY7l^-Po&LcK(yi`hCmu9H zjpE;C>F3h_V{|Pv8ZyN8wPlPflkaIiF7z#n@TJC`RZh$$qiGgEw$tE)-}twmpW9l_ zzvSvYSE>=|6{N~YD`IO#^`8>4fYGS8GI*qu=wtU}>~(=kJGdgh)9OO6jk~r$SBZN6 zJN0PWxO~m0BlLfoiOVn5cU_X`mi(mpx`BG84ywr=<(>bUD9~6`UM5P9F{)C`%krM+ zQVYP1%fFT}Oab`>sv79XJ<*nhHKbm1x-dOK5u^A$(Z!qf>YKDM(sJf4@B6g3nWzIF z+Vc}tU*7hr_6P(e7{e+o6A&k`n*DI~jb6Oxi&<4jJyL(@Rig(|Fc*iYOx+R|jt=hm ziAzTsFhp5rM!R2{-43DYJb3k%-dwEXq3YI00rh$w1}(jNTS>f2pVfuoJow?yKKUG{ zog4CZ#`dKo_+XMW`TkDnOJ-VQ+Lrn@%&j;Ut^|5*D(Z05pv)!-6qPeT$1SHmjrOhMA*v zh_QFSmrh8fPhkkY%P@Yd#4!Fa#K4Lp67mrc!_>nNLq69#*%zN!=nG%GP2uk9^aiYE#jT*#M#NBm9~grfJf!BB3_PQlZpC(U^(3#2&IyftTE^p&LY`pqc zbf%Uj?RMJszqlQ>+nF(@-bC7iDtaPNPXC1-F{-r`E4dOC6Gd-Ze?sy@RRP*ra}o?j z;Q-L1`Cd7GF)wCzlrxvl>2#7_F)3M*7L(L5i29SmV&gafXy@-r^Mt4?TKr_OE# zQakD;KH?2D8UCUqYV+O`qD+L#ebfp71R&&HPRko1{%%GJ-Rbv3wziz!vDb2y`0`gyUWShD`~mkpNgESA2szm%87*76I{_VS+?%!!iuk*<@g zY_41lR7?4n&kv3(atT3RQ~Q5qBo*RC-Ts{WTbbR)WPpwULe8IpjZ9G~9}~8& z7zY`4rK_f|2tAoTq9-;|2P5lC29NC@Zz9`yRKBCkF9#aNGG@$=*N5_KFu&J&YAV`8 zQsmM{K#|{B5-ef%i;!Q{l_SZI`E-0^K55{?d^-L+NpCgW$Bz)3;2t41lW`4VlQKM{ zHPpC3Yv0}7n(CcV@!XolP5*Ej4VJyVSXL~nUtTbH-17c1rg{VtI%PZXQCO062DBN{ zjR|n35~6c;W#7SfQnNsjxyHN@0;EU-XSVB1?I5>`W!Hzs4wV;(?=HK^J|-YOIDe&` z5lYL;itM-FPI*=b4tzbC6QDEi7(70dyuZAlsP3caXN@U5{^tG^qXgtrK7x-grfz$C zUF6W|7nbpMnwx<`!)7yP-}TlKu)mJ=yvh7fd6v1%-TWC#@)hbY3xTL$Da;Ezk~)%feK$ifv!v~EuB&6WHwi$W3`vC5kF(l{~=M{-_kWA;LExY6YJ z1S)xKItxnp)&ZgtpG6nd-d5~-KJ;W^lLNyUrRze?P)w*fWfZ763N71S-D?t;5euRP8ME@uE6ozVUu!g6R!fJ^jF*}P_uyir)C(PA;R z8J~s-tMlyT{F*K{IH4TB!WFWra|!B~jU&=pebNjx2vWLyjGd&eDcZNNKJJ+mP%d>y z{R)cm5h!3tDAI@iEhi)3!2@+cc6-JTQQFuVq`a__TE77h#?Z(kXk`7U~tq!EyF@IGg0=pf$GRKSB*$y7^V&Sq8SfnUAXE2RJbNuo=TA=TL;*T z3{dX~&6AhU?Tg;CE5J_A_&}hRp~jY$sQJucHr-t ztG}m{%!UMzLhoCpoUp|>zMq~OJB^Cy8mzDjlvG!bp(9L|a=MN^DAAnL{?TYzLnV&Z z;gdo>ap?}#9d!z5as}Rler)=9=m$;WTzzfJovY)Tz+euHcf=1`;#*XU7-$8#sn0&@iLcWv>HVNz~GNGDJz!Rbu=kW?;<)) z1jhG!mxGBh7NM83IBm7?057phimkSN+qge8@R9i;U`d|~_81%B*#sk-H!}YPmy}WXGsGEQgr>}st!sCJA zTPtGt!?)BYzAtAICB^r{JC=Ej-)lm1r&(dwFi2fCgR$p~H#O_*1E}={jDUKK>D^@y73gvG3 zWLeizoRjjLtQAmnlMTy!Ko|jSY_9X6Tmu^OVMB6?O&k`6+^LOAudzP=F#TV;z zd4Hb|+BV#5NzZSNA#=*Ggk=M(`{}_L!DX5rU<_&?Y30&{$P>teR*=l9=j7AI!L_O+@ObJP@@KWFUL)wdQ-hQO;K7awG4%LSXv6qG=6D($u>|0{f%rhNPqy88JO7mYa(!>`@Q!F)r zzUAN-etYTY2vQA8!xL1h5xhyOL16@wUMtGsLH_%J*p{v|K8y~miscNg1kqxwF4?*g zm8?oEht`xjii{^q!B-}fO+kT4xkXs!9<@+dvh8K%G zxPuP#{d2v-Kd!lC%o?~6tcp^jDPpk$pn9D!TY z6Uyq?$JM>cPOrSo6sNen7xmo2F?$FHEm{pEO&Kx52MXjJJ!(SV=R1I1MfXv^jRbqP zY#q1eA&P5c5H*BKBO-^uD@9+~xsLXhPP))*`LK{cd+6t1bbQW59x)u8w8jN=SGlfMlb zt*ic??$HNhVpDznK!F58-n-;t*Yxr@3*(0oXap(xY?LOC^&NW%1ps_$<*A+uHXvH2 z&^&5Gh77HTpujWgc|=fcN2JG0m*h_RQ7XnI|NBrt(V|Ayb$w%5A{C9i^z3QA2N)Ni?0Y4syhM)6F@@ zS21jeDLq5DTvu!+`}*Cz6=W~902D#9iaRdJ3IV?-e%A8dd-bKV32o3nSmW}> zL=plF9`B2R!Z;=2w*-ll*Cpt9`Tc1*4Vmaw`6<2_tYenS6G%bJ$nRr4lCTV&OCgR5 z!%lTq$EYYl`YW0EOqpKM0FT(!`R~PCIfqKofQSklpmwXxsGN_kRHC3(rCVTyL=2uQ z4TW0zC^LNS9FHuQb*wpXS&Na+Wp#gvE(M-#F0=Ta;ZFehS84gUe!3oI97|=Qm_(;< z??m)X>GY>1#n?_9!As62b!pMrIapFGJ)6|L=>>MoR^){|KMRZ+KwCy@o zOzJhuDY{G)JuX)bdbUTF?_FX&UNxBDsokFbGGrD+wT(lowDCa`<<}g9xLYM zjEIAE9|_9xfm9e)Oigr^jn3K2wXT~$ATnFh-nC;%yn9k4GY>OB`+`zeGj?j6;9QmA zE7R+v9LI|WHKYM*NYhF8TbUY$h3>FmRcdB1 z9&&M}mX)e%IY22DsA@UrwQzvyuoi8~vqDuRI(y&>2!W2f#DvOn7?=#v|yr^~i{#fHBj#XFI_J)ihsG&pkJ6Mq3bpqs6WapYv zkuNrN zd_0^X#Wvt@)pcR4UPdDZ&XdZc98dCu~A_yy~nkm>TB?u(Ir zF)tmcImUORd5@0qotDxZem=ktBq@1Ym%{NgRu^Ms)6J0!n^%3 z0OJfkkOcFIs0brt9j?IaO2vu}CzVPdEmEvVlk6xe!BEllxW1?^cbgYtnut%N6-MKh}f?P?c>>m&>%6D6ix34{S+KOIMo%~K*f4imhY zsG3#jM5bhU(6*y_E)L@YQe+z_VF0v^@9nQ@(?#-KU+pQ#wYw6L%ITrQTHdH5EqsJ# zD?y^Yhvut^0fuJR?|H@VzPaV6lU}WpE|j0q!JPXq*2EuLqUtsv(YYu{SB!KZ|6cEH z?P_1%K6YwqN=l>8msw8vD;Pu(mOPtqN)2iB>X%-ZYNuRl zGS)ye<}=Sf3X&F7MV$xid=7|PM+L|ER}3t1 zn@!f_Kiat-dNj`(H|JJNXg1jZ1ImAk4>eL8tI$!VnQ!u83**~fPu%kE|D0^nSf841 zkkL(Mw4HO;f9$P)m^d9FY2zET4ugm7!C#ou-r3K_id2e;tPlI<__h{%57tMFNYU>5 zQLFt}CBuuKo}>xo*UE)7uW}4WunFt>3AADNmtT0f;nASn3pbZwnU4c(!b4I<`A38` zM~e;H$HexXVLrI2v5K<=?a92H%lTNiSFWrQozFHd$rE;Wxbn`(6sah=-FX8ai^>pjz!0`Xp|a z<-d}gD6zOEc{<(0f)N=H8O&k_ONfuv2TP!GtHZ64G94CPJCM+B+OQm1eF*K@E`cQ`@R|^gx#8i;QLYJ z0gIpD^j+#!O`0%<35^MSP(4tXsF8n`e-h@%(L0*rpx*=_J=B=#8%6aq`StP0@EoG% zKi%Q~FwH;-tP%R94l7 z1m1d`U@kP2F|)_q<;z7S8#CMT z%TtX^Bc#|RT;pj}!Wl@KXX>U-#b!PVMyZ|!30LZFO|pdxV4Ly6n-0rIJGkQ2!Zi9L zoh~CBtZrh^&(enRl|??Kb3s-zUOeLO<@=P323oW}f|dG5u-2l$$+=-IK@R%#xxk>{ zChI)v?HPEJxSXj~K{Q2Ulo~-?)Een6B)WTq-iuwFA<|5w%?DW3E544H->LN3WQ%O6 zP*PmN1=J|r=-dP7Mml&!H}Z%JIv*3Go4Y^qtGD0#=Wo`M(~xke?~kQ++Sz%H*;0{= zG!>Eq$!HsK#rB1AeJk3B!q6PPdT%%f|2EZpKAx-uLhyKhavbA zAA(KQ5NsOi2*61zGiJLCn`UgaJk7`48C7UroY`Gqv}zNba^}dgPaPsTY~frr`5Hg) zuCO8Y`qz!rFVcFn^{=bzKcgZcT#In&FC>XR)8vvyN7wj{A=9#@#54F;zh3;pC_?1r z6mhF1!bssw45LPauUf)^<-(T~BgLO#hNF8s7wJ^Xs5uk#;wDA=^v*@G;6WXCKEzw6*B@qG`b$Z}} zRj0k`aF_f>6b4Z6bP*cT4%SxJr>|aX6ftod(p38eqxCPTr7N>hTA2yLPx!Z(?H~nq zp3^v$CdSm^%aU!)Nv0_!E84`BCYa8^M9*-ItToigoGrqeb(E25WR@a@iKobUcOqOs ziOHgTI~iIgNrP{5{*ky67nN-AZObo758qBJzTJ3Qz_-;AjsTNH;RrBYX6cQ@Ykq?e z3$+($YC@XpB;sKtgLr*J)q=GkDAyR!HJ}=ZO*0$wL^FF-iwnAF!CPvUG9bDNQ``== zmG{#j&hqz@vFYRa1O2MGY3XzkX9M$8Dy(8tpED#t8w6zFAtZ`Abt1cA!ZP0VCs-} zbOs4Vc#vjLeN0z1gYHlS58~z^4&GQQGcb7o47v3!Vv{G_HQY#Pa3f(+qa2S|2oVPd zz^h=#1!W%Ejf5~$R2^DUa3kr!;D*w}?bqC?Vp1n@{T(?VM;&^3w~1H2yuhA!}aWG3pNf(-8mZnNsExwh3=^1el6r+GiH56QGt!G_#G*|-QK zELQqOq9f(_Tm=y7PS%B)w+I`vm*N6yM;Xa)NfcP9-okrKhWnB`_xd7FhZ#{}VFhYi z!ztHO%Mosbr1vL7 zBi!6l!Dp_}#guay9g(kl4RozHw(*`WEIb|0Cb)&zut1HI$7?xy1tOD0>(C)|@|Hea z1q&e%gApx?U-aIbjvRpqcEvI{WM<|PTw|yv?egZkZn{f~LV1&Jf@w-NWSeEn%0Ip7 zt{>8}1_2NXf*iwTqk|2{G|_FZyXlN$<;=x|ov|UAVf7dy=~hxwcrzf1$rWIYD09@N zjuuL>`;%`i6~ z-DeVPrlLULxE!Su8^;-rV+xyNUbVhIuV8#8^XfqF*d}Me zSu~mzW~Crg0j4u&_KKpaZ z$Vy|j=t?7ufk}bk=7mO=77=Pxbo8Y~d1V$XElTBpRBHpC%8iS$E-mMeKvy?D2Kx+p z)eS9kt+t(y+=-reWRG#38Y50LO^d?(U%0_)|CfAW^12CLlMcFYhA*7W8a0L-IK9># z1d|8wGt$}sl&mAQBMxZgySy*b7icw)m{HbGAO=~xA$QT0Y*BAUHAN z?|9|SZ~6>1;etbnGi_8Ti1WK>X0aNqM>=H1UAUd5tDu~LZRsnKz$WzRyMmHFj$n24 zU_{-{g2=D{h;i3jGz#P+*Ho~&H86w_Earln5p}?nP{TuMb6d+Ce_FCm-8J<`msuI= z;7S|}=2g2u*D91q@{z3s#=%yavjHg9O3Vr5gbxqo|I58^Ymq*Q1{)n(4p4n!fObSt zC{{k8vf9V2X_jyt>?&`+p>u(h1Lr2*OmayZZb~jx*GDS3Mzvfjc?6P+ zkq4yjOD<6;9w`_TtOXm&2|4J^O7o$|Ar3r>>XZ4|zMhs|Ijz&BSIhceDHGs45Pv=Mli zLXqfnBnna2=nl;=xoErQlE^0C=}x6HeLUXA!`Rv(e`ezT%&XluZD-<{1PVU?Kejc( zL{dissomc$oejpse-DFx~*~h0 zFjm2>^f$9MY>$*!H74GSup&;Pur|3;2~Om2Eev1_ih}mAg|yv}6q;2GX^N^>p`&~s zUpx9uHQ(`1e+fBB01uTTF-1(SW75+idQbj7Vavi7ts;$ujF@lPVx)iDg>lFatRVwgBvC+5S%8BdJLOJJ^LPd)%a2?Pm8 z9=<8nxYJMY0AOpq2k|yk4H{fcHOuoSloZiBPh*1D9eEnl&^z+PD!+6V<<_K2rQNJ# z6DN21T>fiu)VuX$PHaz!BbeMZE+UxM&dHTg{v@d-%mub4jg=2501Vas(Z@H9KC)*(<64!ye)RFpqmREd`uLX7$6p?OeCz1r+nSGK<-8&~%LCdt zz#ITCI*NiGa^AsD4<@ba>{U|~pU$j+)xYGQ6ivy15HoB?%d~5_t3)bn_PvqZ#6csu ziHk;Z6DN)2CT<$ZO&m3no49HuH*wZTZsM+y+{9rc`5|#xAa&={LH7nb1x*LX=v23_ zk8R~ByRvgdNkAkg(v>q;Y}szJVVYa*N%Q(objr5rIWH3Bz5j+^v;)C%ueSP%?Q1_<;94=wgAp4LA zo@Vm!VqePcxU6K=Tv9FBIXF(c_>R-7z3Je1UJ*R1SL|MzE{;FDm<~NZLH5{|!Lpr$ z#}y|Ks6Ch|rfqNEba9+rk7G;Jwp#{|FODPDWN>0}+&RUG#kB5^E2ht(i5cBb7c=Kj z=i?NQ@;L3vo3?#-$Jy_R_WOA4!D9_Wq^U;t#znpp2Ey%pj1PnBm9Q0o(_f}@N0#jA z110B4ov?Fo0@0&LU?~20HGD#`Ot2n*D!n5$DVFXWECZI#*~RezZhXP}^sY+<$=MWK zrtX{y3Wds3U?awH4hH50?%6gg-lAc-O;;G$tz2DEfQ#Lz2d)Q@RL-iV%isNHu`0Hg z;G)&wtx0Sc#m7j~K<1yPn2qRId4SKy|G6HysS_!c{{?n({+EiXMSM+2`m3`1UN&+_ z;GyTS+Xe}#32wZz{00pJhnXRKax)fVGW>q&0ec}I@VsxtnJDk~&5o^-tuhD@2%6nS z`M-$Z-t#X>{yATG_+3HvO@C%Luy%?|io(}Vwfz-Bj3U~j{}fB{z$u%5NJZef`@{80 z0JNhnP?S0*9KZm2f{Kdx^;GSWHAEZzgVUoBzvbEDW3tIF8~k#vFz$0#F=_Syr4zWo z=!O{q37qK<%$sGWre^`&GEwW&VwpCQY8Mk^(>X^ZqI-1ZbHr3d#a&Tx$0&E1{j$$= zNWh{1(2H%($Ep5My=T0JU9+cQxAm^5k#J*L-|EHck*BrQlTh{mBc$v7;d(e+4~6U9 z;d*Dd3Y*F=Z0fpK6JYGel3SC(QcWNv;Bq))!gWQuPCPPMSB@1cHV>WvRq2_ItkvAuz;NUoMs$%J`of^&u5=L!>7EV@_cJ|G3)wG<B zSf2Ga=5F<|w@G0;-$I{+ZJ!q*Auu-39TJ{U7}Y$fV6H|*Ux7za@dM(rfH0ik^ANNW z*BZq^P7{rS>SYBJ%$0{x2cN_=Z>8vo0EPb7L2tzfRxezV zv^mYs)xrhIRljZ9wzw&X2hWL(mhH<|7mL* zh?16h(tahe*I7wRU%KZkA%yyLQlU?`1nmkPQIo^w9DEr*-$AKD-#U(|qg2(MpjDzZ zA~I1BQN0q=7B$I24kif)E2FSUMePLTi+4Jw0=eV=EzVFyOq+Qy1Pxr^nqNx`6^aRt{H4cyJVUWL_(bF7L-@3N+W1t{N` z>u$XekRFOQJY*q*0Il>pjUlT7uarD(OO;-em^wOEepW}Dn4&obA6=8U$n`9H$ZjTW zV2t?}wJ(7oBo06aAu+@sw;>MWo)?z(x~nzpA+2P9jE5eK@_zZ@$oJmueVI`PlUa;X z8`Z13O1n~g#sV23bxsnZc;XsW?)7TdNquX26oNvFB1(jzD1>Va<%J)70$&OQc*w@_ z&SX#VBq+&qI#b`{G-X_p?n{X_?3lL=>M;Cp75W6w0n~BhP#nd}aMiv{VV@!66mETc z`}eL+-CMwZ3A6~qNHGzXrR+)0EpXM7QVcDj@T~yDRx^)pNl^(_X!@_PdZ4ggMPX1C zCDC+2ij-^W#Tnv+7V7HTQX1Pw-;&Y-ZykUql>4tq^LvcgZc8fVslTuc{wlecvlSci*0OUjM-_Lm!Nv=E3~@`#*5~Q^NpgG)y7PS#1g3A6@4t)UMoV53 z)7O!5Yw1m5q0$PMK7D6>`(VVf9=*O*fo{sb&W`x9tyy&3@W9x07mXM0DjO1*$|0qC zCnLO#S%)L3tCEd)VaqSg6t>x`;)NSeqw&JtL7NkFmX&zTcYaW-Cb=*}CYI;-0<;j3 z|FumNCp^)VVeo)c5AZ>fSnOsg*_-Q{Z|+DMZ@|7NPGwGs3g;UtF7F|ZAT|fdV?1c% zvK7AA-EIWLQ3pm+aCW1%`9wCg!4~LHxtWZeN_+$X!DLNpQPB+&LX3dIh%7f>rFl~q z>V{7MLFcxZuJlX`5P~KhboQJz=%KAkw;iC@6usq`Zr(KayyVx${4ccm$TK?Z^GqpV zrmF5$Qc8{9C@R9_l$Z1>ox^gcRIaYA>XTJ0myk2X80Mh5?QQ(E8_t)#?=2srGV zUH%87i`nG1*uHCSbURjlFqXCnR@&lL?MKM1+9nq1m8x@Yg-`v1$jm@HCS|2UdNU?$ zAAKA558L>vw;^)KwCa3w%yNM>!pZ}m6+}4s0*u18Otjm!6QbxLTFH)BqMbb{1*;Ks z*+e^jb%}N;yU;RN45n?PT+vd^G;udgFAm4SO%VIUKQ~^h5 z6MvX$dx`CR$l1y$C{}8OS!}X$8smrDU_uXAts#g(_9H7_Ga0pFyO!#B)PC%9;_u1C85ZNh|OOuxhYz{ z`HTG=Ve22q+&$8`--Y`b7mxe3=xdiCb_kUg@>xvig(tQ!!(ig&wFEgGbj7e3t&M`l z7!DKjYqRw?EJB*m5%COC?~_!-=x2uSJ)}iP+jt9{Sf#CMJPP-!x8O`B*1M=jyF-lK z*pS%co4)?(w_gOyv5j5wDXFlS%Tb!svLp5z9gQC4u3An-V6s$G1UguBSM4IB$a+b& ztCmsBG>W4&S@fTJ4!sf-bl*{S)&320DeS6!=kWwswzXgDV0~yB3pB2Xrdq)m9$bTi zu}a@Jyv0LVr6OOd+Xv$M_Wt@-FAuYdr|Y3`Mf11kJHz#ka6K5Vw}tDi;fmd@Z@OEQ z@?lJCbSlN;qA6q&oP(}T^62oHV_1WoS%WO6D@TDIwJsJ&Z&d*I_=^YQH)yNGZLZeXVzAM@B*gf&<~LxJ zaDQ;l-a!udyDDrz8%*xyrRsoSb@t2TUfr#w5EiJgrN>!LgW<)LrwVsQ-=2MmrwWrw zof*k1yec&x$tx@?wKI}eI47QthC-D>zI)ZZ6Bqeg#ZyMwheG~k)TAuUIRc(d6}rO~Wa5dU*c4Qx#%NyJ$Jds8%MK+qmo*;z`dwugUl(|*y;2} z&*v87dpWc-zIOfT@R4ix;AUic?(L7udg5;Vx}AIb9Nwt~dEBHv9$=~(LbkG3w_v!s z1^d-49j|T~wdz(QDzx$8HD}%Xz?EL^4cGZ_z0#An_+^t{Hu&Y-5xg=zi2=}@P(5e) zd#Nip!Ksx~yztX*-xMqeVn{CWZ?eBP+POiRs}>b5Z=jd5y>USmv$BkiDB zWxD+~(JM3sS^gN5isV`+niC?7*$gHoKf{d75UX zW?Yj)P^+gkm_$*fHTVQv+VeG71zg(G8r%Xd?P(Rm0LfsBL;|E5X&}?n8fC?cEMKDy zhQiYtu+RlhYrxDvdRl|~X*OAX#=2_^ApzD2p;)`vXt!r=H+!<`gpf+vHf{}@5rM#X zbg5Xl7@+^N)5`{gCCNgKSv8@z;g$oXQJCNnSxHbGSN6R3St7C1bJ|36waVW|$4uA1 zd$)YRK=d}gM5QlJ>QJ%u&lcU6A8IC@Wl3jwrt$yF-n)R=bzF76XYX^m`>0|GAgak~0U?f8EX% zV|`#TntL;MJP@D{CkJQq0*G z%25jKoZ=Sh*&PoYoR_g%(^WGt>EBjCH3)jBRCH-4&3*`odD^eZ%;iKD#;qs)5`BTo zgex%tk7%lHauM-Zwf4J5JZmdMoF;pKDVARc4^#<`b_GCYccE99h#pEDIhis%KOi{ zT=iXsZ^TX)!38X8{Cr#)NT0+g^9#k7UyiGaDw9S3Id7FYwwN}yq(cv;Ib-6PiKPkR z2O;H|uUfOdt&$k}@ypYMm)Om=i2Jz#$oz=X^WWrhX(emsa$CJO6EUv($o;#onLot^)`>D;Wo$%NA=y=J|UYX^%7YJr0N)mhf} z!6tQ;XW#x)^B}d4doZP3K+bhGh4#rdSWS9gNB=5nRD1M_nd3mf6oae1p`0_92m@f% zPKa5eu&Ud>yt}>fIlOR9Xiuo3t}6Ib(>X`om6KJWM4jf7#dMl+lFhUR2Eni^!Hl3E zLI6LK2c^`uK4q-6+<@9AzC)+&CM~SCO!}nnRh7y-AvL(T9uA?%iS)LY-|Tp;W%t3F zo^mJS{4q75%*rx5)de$~Od9|IfxS^zzHoV40!I_^5GBJ5SD|@)9+*cxy4~);o(AD0 z!3NX?3=*Cd!;BU*^Idy(JqBu$Qbg;@1vAzM%aD4^lY%aZ)yk4Gh91sxd}a{6y3h1# zALh{3L&sdIDW=SVUY#k(+WYfa^ynr~+2Juc6fc+}T)PNGSR;)T)5EpM44#qo1uMdc ze+5N2a z9WOh6@aigpC-N`f4VMcER8=e7Dv3l%l|**JH&};1lPblQRFnIODV$|H=Cw-JeWM0P zJsSP0^b+X7D8N&MOEW^rsKn$}>w&tLHw=kcYoxNCNr*OlcvOfuudm(-MMKl=6gvqb zofJE-4|Y)O!an12g)Ko4LWmOG`wmq!|4Zr`!c(rTtyI&xyP#;@K}V57?^F_MK+v+N z*A_h5&XlZ$T**3?D_O^LCF=yQ6R?4P{^>$SDNfNc#c5}Y;)GG9tT+v8_*)bwt~+pw z)37OT9n|5nCe%rDp|J0qMlIKL&Y{gjUYpU?Q1JhfHlyi&@tVwV&}3jb%QTsVcACua zd1x|s21O<}8RTY!%(NgvSlJ*aLEDJn2T2=kLzqR|FcG|@Z0yivHM4b!(JGsIJ*zNrfsHYfB0Yz{Ge9j&-eWJi*Qmp;oT0u%z%u$65H0 zcYeigC8^ACnj+%Q8>cZt~jTIOJ3$0>U_aXoxdFc2ek~;dZq!6vZ{6juBZV?fT z2&qBBLVa(uU!0da*ggamX;V4UHFn&!#Xd4NpzWed4qF;|_N6thdf^bs4j`oTpjFZA z-^=nE>0+-nKDH)`pNSWmu*lj(ptzQG6O18o_rgJJcb>Ni$qpGWF@O_Va=c9fF1V!= z+|DJJS>A{s!wBkpDiBC|V*ga&BTUA25=8Pmi+MOwEjlnsDAL_Ooa>>>F1Vn2;108h zd+EX--8+TEk#2>7NpcjRF0vEdu#+uDRuXY_q$L4qCT+9rCr^cG2{>2>=n{VbO($9+ zZ%mWyq1~??NO3%_W%BaCZ3gfXY>&z;BMhjPmc}qV_J{X<=}+J4v;=O%fCw1QnA223 znvN3jHb$6y_qH`dX<_KCFA@)Hr)KHSwhGD#_-fXt7zXX)P4}mF7});u#sLL2L*0Sq z)FH8u2s~lr&?%Gp6y^@y0RXyr+1vP;NYZBl(s*!;OjZhH*jspjz?9Lj_cY;@=o%_`B+ApBGGl-ukWJ}!Au;EW#O0U2I+06Ihq z^_qiF``k5gKvRJXt)@NJd8(4Un^ds?;i1>QB6U=f^mNQW3pdV06Be0DI`c36LGorK z&4mp(A#2P%nDLS%Dvke%E~I>HPO20E${R1CUY8_9St-(ms0bjj4y?wesMG79U8ZG= zA{JkcP0`04rYY*DOQvxV5e1r&iR{;a?Y`lM)ttxHG&nVym7b({9%za>zK05`hti{<9B+c4 z$z&VVV8h2Bw0*}y{6YH$2XHc))iL!;9D3~0uiMaL&6+N{A#U$M?Vk?%aQ2GXOE7P4 zDHIdozD5h%i_PY7*pK%j^l^Jp1P3G!eo-YBcx632IbiYTb>8pzfGOr*oX4hs6oGAf z0A_4;GZc>HnRaoUl~kX{c&2Bn5_0^n_Lb$euOR+gi8G2zB|S#|^jR6xYjOouzq8Dn z=d>mOEup=oi@jMZkL9nYvsdLiDTp3JE~9=Nq(!ps8<#bXy5-+8+4*lh9@B|hnUQo| zl;)-)X1J?I`jURVv!6j-!q{UyO=NUIv;@*EKjvLt?WPjq)AQ&cGDWpl@0a z-A?sQ>uU>WkoRv14c2w5uP<3!MgzWE9t{umsd?+sgS-y9*Lhxt-0KU52Frl3R)mSq zB1n9;Ks2**fMx7N2IXn;ZI_y9z0#k&f1q?|HMe;ZYUMc~Mr*bg9kc07f z4#wwmFrMi{;!5Z2E*mU2{a*fJ!uDrGe>{IZmcK6KuXFk9*)>_Q=knJxYYMYsDNlbI zy3D3&s;_(s>noeyB9*6+m>kKl1Zh&V&eO*Y3>)pw=dYj3Umwk1&#I@AY?(p%>lgA2 z{5Z#I3F%3xj(2j^#joC6;eT`UuSow%vtjR*%5$&(!6dv_D(|;jWE=m&9ARhihoxvT znDm@#4#^Q`@DVOFm1u^zTuuL8ljlYQ;qUZ{lc@XpU-s4TUocqP7#^6N@F{<5zbF3d zZ|rNvfBm(6Z7-B1A~SXGD5NaG=6>yO|NOsv%$UKfUhSXGMMG^4xiZCsw`@>mF+(iD zP`pzUUkm;4rZuO;z2@|aH-(Ne@@m{r>w>GLntr**u~r)(vC1!0)I#?8c=_|j>_^Py zPii?h`yBEl3==23>*A+)s`Rt^Mvqw1(?lXbc|spN7kQ?iqbU@T7c3}THGQ-vtN3AF zr7H5j#hV-;59Pl;=ze{n>VBEee|f%^Rq-sZ6c3rcod2TbiL1&&5B14V6f-|w&Mb5o zEIBkPR6vV9K}(^%hw~~Pbdacq(3$!C*B7d#a?kVWP_M^lL6e>@u;rlVGyeH`|9r?l zpJf?x1AAS3rm9(?|J(|0c2BW(GC;EY1zN4;4-GWtII$%VkH;dB1so*8l#ret#m)KxHE{K>b+$`gH!fl)s+IU(aTcrNpYw3Mpr_d|Ip_JXfDk&E+Lp}Zg>&V&<~Ns~#pf`IVumRaF@iPJeE3sUJ5x_d z1VbM!AZiA2e7mWMrmbDWE$KvWzz{)MN^_ApJ1d%gW>A=MEfFKbVnNFKDzk)QY(Phf z7I+O0c8a)ZfV`T_7HJKO0_tfMXp%l}c98b~g|u7PY~)NR z4AN_(v(A`36VJsSmFmq4V994RYSqt;n}L?!&RVZu;BXqPOWv8$tk-^&>kZ3t-;6~z zu`VlaEigKww^85>%ER7-jyXVm_Oh0~0xJzGmP|)k4vnrisLn_Tv&JjPf`!I4n3iOw zJS#0|DwWu#-!b-ufs@fYR<+fN0fTRpA>6U2@rxe9MdM306N8D;h%4A>MFGqp{*p5% zBulZzvoxk7xwdDS9P~QpWYno?5AB8Zg4+*~NCoPbS=}9i#3N>|i&@`_B%DFR1(($^)y-SIW09=s?Bs6f%%G*F}q^hggrOBf+f5W0N*!4MB4X zp$3C^LEk*lQcQc{FT>LKA6Sv9?nsM@Ib>VLggUVtk=jrywW~PS12k@SHg$+kl?ySd zv;!8}_o7qx33eIK*S=ue?z;{J6udCtaBy}YLxP42;Ke+7fb3%LXTV95pJs%k+TKP} zuSzmnPywYoGbD5Ac{|!emNOws$`HDGLoU%mp*-Xfeqk!P4ULZxrNh&jmDpg8geNyU6Oa!O#J1Z#wW#&o^qd0_cT7GHP2KW_(0yFll?|A z5?>mBVg4Q50(e) zyT6)S$nfwG8Oc9^KNeQH+9|BGF@TEY<4$@}f(&E?$~ZXf97Aj|x}l<2ETtMN?Q4v6 zp+_XH;w#lr(He!}A!~(RXMbxPRM<5ZDzol=qR-CHu*g5|P6BDj8DFtE+v?$EtGuj~ z2##cQtg^fk92?JnE!7PG(h{TwcY)E2`q5tcr)0Rl#+zQ8N~@V)Iz3q!0Q!&B|_`1yv}%Kw;@Y(Z8dy z-7pGujI*Akx#?3)@A6wV7A{kW!*FSHg8r~m30I^!PW$3{@G2TeH(^;FD z!gq-dv}STAa~o&{(YDG=KD)LXib|wIeY-;!cDHuH%K+VQurpM!b6Ew~x=x>ib^(BU za~w%tQ!Gys8(9^!8IA2<92cVwKEOFvQ6NMbswR;$rNO{;w>PBSOXnPvuRP_w9a$S^Vf$}_a@l*z{3%@ zdjL)wp1R|l)B;c4u3^-i+%5zMYEfmEh#?RB(PW=<%Z(2Auvul>0H=pb+W=2vQq&|U zYy&*VW_oEG03+HKXQJtmHvl^{ZpZB}z1=@OGnj1>JjpAH&~t;?Cc%;mAeV0voE@CT z9w=!krFE7m$#P5;J(ft-^J)Eh0^PbEezmVGuYHxI*1RcWsEK%7Kpwfyv)SHB~0oL84SJ;p1U)%M)5b*$f5y8i}-0FS_$8>Zp@ z876JNrXt7E)tGBQ4bKe=BJ2Jl6AMJ(zFVML;&{YLp;{Wspn4&P>iHb1 zXLG2&oI|zP0+qgtQ0cn`s>SnwYB7iEVSGJ$y!n$?zjyK=uO3(Pyn0-Hb`6?vwqKB| zzUi5PK;-FC{)!wNNc+kB^@;p-F@Jq5e?2`=m>(ze^b>}YP@}#IGuiOrf79ax*l?eI z-Y%Q24-N`Cqm23d^#yCsQlHOX5%q&9=|ukeP+knfz!QUR!vOc=^W88QLe7Gj4M~j< zH^WC&i$5;)r<%jsI~aNd9|<(^Q>GcEzb#5~+XcU+*KG6P-`H2!JkX5n$uaz2fX9wLS>(LRew7%}_4#_b{5!030`%l+u-vtTFJXTE*Fz#JFPwe17g ziJgdjn5RmAPT%Zip48K}58ztI^ucq1XZl(8U(Dies(1RZZTlJ!59O~9@+!+a|I3W; z`L8dOcM_h@cM_h>U)dfB-Fc>*AH_BN@`e2M@%&ZG5rTVhV?ap^U?^AE^!Ti+ya=i? z7qF>MVUsLjUqeYbMhjaZ`r(>oeP7WA$ursR1W?)n0=D653bA_8v&|1vG?b+S+?!xyZ>1CvxQU}BcZS=W3)1ElK*lte_hHp0n*3xYQ(1+ zbj(&oC8y|H`vdwu>%X->pmgmQD1A|wuE;A0jJ2FYKUSgea5$QlJU^@g2s`bKgZKf)iejO%re*Qh)goL7vt=Z1lV+m zL3BbJ*L&D#etGB~#9G#!FWx5)5#=J3R*XYC&&T5X^msDn+%?bB3KC;G=IAL%Dtwv1 z!pS51a>0xKOcl9WIO%A`r>*!IEKmAgB80jc8b(azzzQB$H9~F^LWXmun3><5M(}3r zeLA)z$Ub|&^Ib_0?TvUHL5f(T#($E3+ymIDAX<58%y6d2MLumDH5CtwQry%f8ioKO zCX=Iy@Mqc+X_b;8p^_UCDycUlD5Sj#nUi5fh6G$Nk=CU1)TSjznjt|97jE|ufzzCZ z$6PtdktS&k=1{81^Jpz=o0ies1fxJGG=S#TwgHttX$Nbpp+|9A^9^mQoMwk2SkN9b zjkedUcl|}nofvd_QZpSu`kduXZWDZ-=nIxRgpGn-1$&{l$H5_T%iWT*&u^+DWEC1u{>YO;8ahi>DZ^A;>?pAUkNMbRX7^)5Q z@UKM=P8z7n2epPFjjakdS7J?wok@0UIj(ox(KC6>kd5}D^#7(j;d^`hRpJsTC~=N! z#Cw&6sg{SA>UGzM^H9k`c&VzwQK2Mj+oS6>;#4YsI6CJ7W;vDZjIO?8e&|=W6x>OC z1@kB0E^{MJ|Jcn4>rYSPZzFn^Wc|n003(CPnKmS>_bB?pjI1Woj1|K8Eb%|G1{7)k zf7$$x6~aeBCkzC>bOYFhUh@1RTq3YJs7KyFjFtiD38shs~TZeksmaT#JPQ( zbq0%*XMN0UjKpQk_MvcP zkBc5)jah@Bm+M8-VRx|kpB!UlO9$QB$^MQaCk^T!x13f55-XgY1=h}p{}KVXV{xvpaplFCqBAr2FZgDkc-Z zsW3G5;7@15MNKAq?bz!w28%Ypj;a=Rlp;FBt{Xqof$HA0=PtGkPjLiQq%;I5*c&9- z33!|txc>DO$eSeemH_JoFst1*>+RvQv|_z4Y{>Gy7aqelyr2*WTC!mp+ln zSDC`4**PbL%cdu1KF%_?6Q0jW`=bc7;V+8Nwh3E5I3ig(pLVS2t7tRQK#~9LJ^?y! z-+XBtg;s}#MbV@-0EHRTs0f3pQzn#9G`bS1pECkhPWCiQ83L;BxA+3Z9RAeF@3;WN zMUI9m*}d{7!^aH%^;vZha_}roNhg#9PdlMAF2IkT&0pBh-^A+Aw#w(2+03iI@O7sy zG<<$gK;PJ{gZq~0v#L|@fni>SEdDB^B9AWO%-|ALPU@(poeUMuIm{>cf)IlxET~T4 z+~w;;UEUQ~Of^LTFOTqPMph#%6;tm*uxTYH{*>*X??X?=la_4!>1hIyeXOC)ymFWBS!wUtOP*J;EB4 zp$IhLl>@%v^;rITJbP8IbaWb=ELBBKchKX7&tgzKAuXGPIn%ajUZ`YT{WV!9tK1U` zLBx#yEvf)zlHn4eDCt&L=PhoH6RK>D!`Gy$IHwk%gIA*ed5cDhYiY1^JZ3I$8jXTM z37-TCD6!yq`Gh5kCJKp9lBoEi4jE7LMa)?L#ehGj3CHtUp2E$Nb&!a)boQiwpM#E} zFtpe>!{5pL71Kk&>SF$i%_^j3m;PXEQ5Vg)l$r}_X1@tRs-6~3fal9vzr{vyjkP3` z6jb95GVDk zjx#~#8DtRO(6-8w=-N7j4_D}kIGCkzu~;?#{j~SH0Gx&LRDbYdrusrY)gSaz9n-4? z*}bxypLbZ?->ijm?_Be#6OH&ci{8!HoFMV(_;Rl#KS`4??((sBXS&m|cdk|9e|GGh zxH!(yG?8qm3wU|3MC#Z(6gQ(KP5O=!`bYUjN^UC+8X zfaGW#LGI)D^qS3zv*I?1tuc8+YXSkNxsx{}g~~O<-PIT)2vdkD?nGy%BKuC9UgHnY ziPy1COImiGhc!Hrr!gDjH^HU?kHotn(ql49dIgy%-Nx1yfAL>E{VOcL_>Z`2VayZA zCbS)CH}A&MU?N0q(yEN?cN!$g4LRJfD74OmgJFUOrIxh8!%vV!FfdANwn228`mk*GDI z7{zYuk|~6Blf5wz6eQS0EHKdF!O*(VVq$4Mx>{!fX@!SIOFv>t{EEEcOKmL&n%=bJ zs0(E4R$VcfhNPjH}G)3|X|YWQyl+_L#hGfyqt~B+2Hu0K3BtQ_YTdRWzt} zf)-pp?3p~3*$GsnET`&s>@fJwm#s>u);*uV|1H>yoQ^Hx4 z724b>Lf>N|@BAlCY-bW*7vJf!LivKIaTIfFas9sASI;R>TflujcRPbfaaq4((&Vg@EcB><==D(l3Uiv*2oIX_yWp& zO`#$J=mo+g|L!Juk=S0Hu0Vl|eSX0)h7`jmbdZbfbj-wd%I=zmj~HThTm5v0BUqlz z&_Ug`y2^`sQFC;pdC0;F0`f8)JyRU(opf|l9K~|gtTp17#@$_*7`fB3Yl}#+EKCdwRu(3P4k%0v4`>!R7CVNCVJ?wnTP5++ zeR-G|Q%G1^)l*ZWd&TW+MuspkOY#==t9@akl0~foi^?`CZ**;hMFe?4%nm;WQ!J6o z(rcYhL#+3wOf9$9%oiliy=r2KKuHoy<$AQmfr@dnP(haU!x>N+BkJ z>EXy!Fa;|FG?R!a2@YK)0u~9&L_^k%=fh%ARmuTUc--wCce=+Nw2XGD(-tSyI_fut z6ul&|ujfQIo5Bx@o#PeTliY9ffHYet)L0$7i`botEJ=uUDgR&-nSo+SkOg1DfnJGL zdjbVNxH{TDC3Bk|CselTm6uO_2APRCge6{I>9hHbE4hupEK5 z-B|Da9Wl$S_sAIrf$(k1qy$@5Q(KNGyUQuP$P2qO>%D~(J5!4l5(%PD{N_B(O19U- zYQ3SNePif~MO`|D3|WxA3mB>t1u9kWM+7rF`+{o%sgnMY*<}ciw^b&rAFdXT>X#@Y zt3&dmT)KS)&ZWC5qml6Ev>_=AYIC(AtRj9c?w7_i;6!W|3xO&O!=aVeNQ_7|QL`V{uSD z19Me~g}^NM1;Jg%9Q8`wQdVW?<_}yaun_UvWB64_IMuJhU;dGEj>VjFm}$@Dho5AQ zaN-6WgEDLy=MWHJnN}5RHgR9u0}Mda_ygm$#<>bS<5t`^!~_x!Q#ldVE@NWKVgG=^ zv*4qLC1y8s)-r#_gRb1-4obrNZiUaoPcTLq&-i#Yl2W_;5^}L4xt~6PEEu~+7z`hv zJ-~y-i`MVp3pUPQG00C5^2y;}!oSC{RzHVI5Zs+hn}+AP^xck_TbVSdZeh~a`crLD zz560iy(>fYZbLOg!T{V+I4t@@VF*l%7cf58?Syy z+o6v%QoBAtFnZU@q>b5u#W?B-hmc$>KX(rFLrDZysvy^|(3H|jqEqRS_FEta zAY1FiA7-4U69KO2Ct42%JF^6;x2di%lR{2?6In6Yk) zoAJ>Y#kvis8fwxV7@!0roE?eMyCMvV=^3KDlbLZ?i76#;(ey#J15-0`ukAZCwmRX? z0I<~SEUG3uqfn8#KxP{Ck%uM=fSOz^ffx%|MdmLZiHIgb^! zNlf>`lwTC z^^0YVYGKikl46WfmHQCWO;oq7kCJ#LxEbwMFtAl!WIGl*%AqdB7Pn5Ej(ZTa!B|TV z?@P3?e2@lA!q!4qY5ZG_1|D1-k1DKfH_~grtGY6I81^9!p$2z2c^Cl|<;tyXbGEiU z+!v&j=W@I=YcEPldE84Wi@B8YgrpR0i6VOljc6hP<#71$`cR&Me5Wa+U!-BFoP-`d z=lxSF<{~lH8(!F1V#~tqRCE*(^3CNlFaYUM; zylP3dV5MK8HAc<|$z|2L0%LjHYS>o!lG_Fp)DVUq5<6YhFxHYDP^edeQ&0>oS?t}a z1wb=S+f@Wz>XCrsv`ftPHl1GtOqR&a*?@KLhY^!|U4HaAdj5jUO)z4{o)$8DE zJ`;a7{HPyJX6NOB2u;@&(=QkULYZxqheFMWw7zD}^p|ViR+$gE5a_IVWxxf`&Ccg+ zcAk!LDupNF(`3v|G}{uKp-8DFH?YDgE(6^$I<456X&j3=4Qi2zEH*bq8V)M}O33jvw^GK>t z9Ib{Th*eD>bqhFrSyPK9^|Nx;)EczQ4bTF@?W7}dS#82pjNSp;*LGH<#r*fGxxuF( zt*c)bYw(f84yV^Na?1hyM>G6R(d)9Qz2Dh<(4&CS%}Tw{C+ZObnS?5RJ6}%FmsZ0N z@XgG%L_ZN}RMg3WpaGC6Uf-Oj`T)VtU6As4rIgS;z(;Xh)kWUVKKDoPOP{(rgi7)Zs`QnW{aaGBR>ZDo4oN$QQz44FET2 z7kphOc%9)_F=&+4!*2`0!TkX}ZhAnZ zD@auHgdH;DS3<0PXDf>{?|8_=`b%xOt<0I$OrMx@gQ8^}X*~BTJLVk@M2yF6*NKJ9 zxcUEHb?TiryIb|_{|J#d!q6OUv|a$AQQ+q0DYmeix|2Xch1O0t1Xcza&3t_{<9M~e zk#xs)x12h zs<>06>t|~a2}u|RtVm%ZwOcNkg}B(NfHad&@?p?##38aDs3~&BeaK1v+txKk2lAqx zOH#i8aF;w_+i>V?m@er$Jmx(GQA)k+4aWYB!M(B>hVq7O?Kp0esG&~o{1o0 zWyWv$y9Pd^=}fbl&xzU7&H1a!2CMV%l$a)xF%0kmN6;;ae*U{RRRCOKXvlSvI$$YE zOnA_7yhoh;mo=o+1#nNbXOR6qAtquPSWzf>&qbIYZg;XDbIr+kZSZFNPGXAZ6D?9- zkp=-1JTXOU{wh2hq!sPm+Jb7-;A=?P_%dfJ+uxHXdhE8mS}jD~#6Le!W*+jkqJVP- zqK){cz=!w6ay?p(>q~3u5h060j44PhbU`v@vxZH}%Z=6QhRWLniNu0pv_A-%l3&7D z=ByrCMMyFAjUbU4NK3LQAd;g7r@=a@^YNbEh;uoS-TPqYb2PB#x+eMB`Gw(b3W9Jb zV_}_G;2;`i_MX}67aoC~r%&Er-Sf&wUV#Jqu`>51eRrKYJUhdWM?SdcRI~T+p``cl z>?;>=@)^3HlC#mmEKGbhI@+usI!Xy%7n1tH!-q)5&es@cl4I29o!xRjZvf%u5xG=a zMae_QbfZGgA&Z9+^Fy^i3se4$48X#^g?jNurYt)|7nKnC~{94^n5ZYFfiZDMlXsNsra+yc}^4 znLT{4$sIpQ&+Su*Vw(X}a@&+@*3wtq-|S1Y-GN_tb5PJBipUNg+W|o(xVu^%UHCXr zeXRXHOe>n8@Bo0q6}_-U)Bz_a7ETQwBxXXtu4o;|djZM-Nk|%COuReKp#;xZV6j%s zvj?ZFr2n>4!cP4Vu@-uHCuvAs^0CK11A}Y`2^0nqrkVveLDFZ z(`eS+KttPgqnJK@*WIYsDGF^vTS*_ZJ(O_g!PV8B(Ds1D7-X>zCNUvX(ux_3DDVb zlADVuOp)0m(_^Cb9)pH?)4VfS)+c>XLBgoJeoU`t-qqc_BYAg1 z2K(dYU443kdO)IRf_gVt8kp^n#wyW5~aZ(?*6<6L;F7 z)!#b547=kAAkaSz$vOb5CmYmJ`>rSJZ?|#oXPno-G-AfN!R>VLA04FvzXWyCC>qg& z1JzRJ=4l(%dromFch)Y$8EZJ#F`WGejVd^gtu8^@V`4ZXBD`cwi4CJkQlQv1Jha5x zba~EfGk+ah+z@|*7w0$JSUdKfca2N`+1J=YuOae8MCX-tkW6KiJE%t|5H6z+zm9iOQ8872uH;E9^V>bJLD>&^D=w>gzB!L<9L> zGpi1BDwMUOS(&02m4pXZi_@cbpR!R<<;>(H-aT~)IY%eqIoKjKLXx-+KqR$+b(Bjn znxCGlHa;J1)JAZdq(_49L2iggpQFzRK6~xDJfv$9rWel0O zfew$G>}I7oG+*+sbA6GJQ+3J)DA35%aH%!RfwWO62BCCO0ky1(iLBD?+GaW+>2xa{ z3+KLqNGlE^nlVWa3smA^nYjp9bl*p*C+CTWYcHs@X(5b&j2i<#FNHFOUK~ce`v{X| z;>X|!kVkL&%YXPwe^`;1%P;B09guUlciC#`Q@`|wFV_Jb$-z z>BL>Soy3emBEZO5tTY2B?rMTklx*g&^ufs4fDp{>hDve2J~D|M?V56^S5w@4n^1nV z5eMJfBPm_%GnT2&+}dQKGOGf0%R=c*N{R&nE7js-cOYuKt!aI$5}EzzhKmbsO-9zF zm^2yjpToPt9AuaubO{MZMkR0{^im6rfl_L~r3r|nK-k?TR84RR_p9x3njMht8M~l} z+4Ho|Iq++7)N5mt;6sUGiA~LdWAJh>6TRQLVGA5QCA4-LI^eV>koZA`XHqj5`M?{8 zVjE`Lh1A?}Hoyv_Jl!*pe!wU(PX83IC7V$L3=vK3$7_iP(9@f$oR{1&ATzeyy-!z= z%6v$t%sYuZdsu6$djMJHJ}Jl)wt(gIE>8R9<7M83EN~uY&fX|l3E-?3b)5-h*eMG_ z9kO*w#-;5~<2|a}U?(GJrU@CVWT(NRR2lethrIO1lW1=eG!DU z7pAF7k2o2W$V;^40hQA>V!~o%vam1K=ZkT$O8S>C)~{myz8JfddlAcOdsQ6u8=ke7 ztgLp7f$CC~x`kGN&~g|P2Z4u2^*0BTzPG{h2PtjW2pA%4sAM5e0L~2+p;G;lfeP%+ z#Ngj~u9(l5M(I!Du>GU;iS%_K=nHW%3cE->?heqfpO?mCpMe8xj#MinSX2DR%D7|5``MWI2(cF z&|uv74x=9=!a`16oLZaxcvcyfNeO7;-2=bnqyRhcSds#g=ru76iV?3lajT|YBJ#C} zTYWUINdV2H%f&6p3D6uPTXvLi>z>3dMhziAX5moFaskU~@up};0h9?#r#DH5(j6}5 z@J{x=bV&%f;I`!o?}@1-3M>;4Jr-D5+Q||T6nZfTVD&F{;XDz*>VE;HORN8%2hGaP ze0a^uhafb2kSQ)MIwI?++KYD@VWkuM&Fl4Jd*tT&M-g^nD3yqZ2xd?Or%=CAJvys{ zfl06P+~=W^g$Rk3U#ma-rzh>hXkkiU_664;z)A7{lj|akOZmP%Um*o&H|TgtL!WXgcE>dTc4Mr#peupoF1OxsM zHKc|3mFNx-z*wc+V?A&bE1IiO6$jdX8Bxf1Ge4p1Y(>*tEPHE0&nOHuXC@o6`Q~&U zu(%9cbDSxZ%fa&IR0}~1kV7uMDwd6ltHn+@A`uFiw%|y%u%319lvrV#ehDemlk92y zb1*4I1Bve+BD4DxB|aItbV(vHkrj1|Kl`RmA!Lh(7-gJW1kAi;&m{sbyTvRQ0p0L< z2w2B`fVkc%=S~51iWC^3f>;!Zz{HZC?~-XC{TanK_OMFaWP>WV7MWm;X6-r;0X-8{ zbvU)?@=GPAmO#3u+Yg#+cJOhfif zru*rUOa|%+ny$qLPbBBp!^w1lmk46AN;&8^KI^VyiFGnvL%t^IFB7qLBmHEd2qW%F z^%V#A%Jj%7BA@edx9RbJT$vu;k~a*^8}muf*j|RboI<8^$Ezb1d&7#K{==C#tu#(K zTmBzU_Bp?U9+s+xvnC(Y(KV^+9E3n?=g|-|K_Hf_4No(ZkgiI=@?mDR*e*_}?{N!U zoGw@xzT#JwQ;CnEQ|h@O&ACF<`=-M3HS4oG?q~mE=6=6Vy!h41QSKL*o$v`uH?gZb zTX$d2Z8Z{z&l5eN6%I!Su z+nHG9cAlgi4Jdz~Vc&SncyqdV*amF^J_t@57_@}iX^cRkk3mM2YvYYzQ?1J+l=Jveg&lV)wYCar6uTw1)ATi4epweTi{I3DS#=vNDHGyD0w z4mPh+g;&j16w|3{L4c@dT{4=C&Cj#*JwC5nFZdxDcjl(s(23W{xD+LmdCG=lVm?_v z@6yMU$%7P)I5>yVhV56{Ti5u%INKv%N3A5ufK@)2RX&(k*)HEa^X!+L=EoG05zMMFpoNcWlWIR>@#Q|#LsZe+EL-d6~$cV zesMP>Zjq@yR@lqLXX2Wc#HC8pS*WV8%}bsHzl_rd$xzWqu<2!m=Pdy%4Vzw;K)NV0 z*?e96l%7Kf7TjE;*UHtEiR*Rqc#OytL|OL{E=aOpaz2IoFiT6*3+A!hiQ#EY?j3QR z()Yxk=4St`N0J!pI;IAv#IUAX8P-&ZVNI187M~fzB4fs|sKqlZDs>F&3310wYGPAs z6Prp+Y$`XwXVwH6vnHs;H$kPYi6_;>Mm4dqwTX?TCN`Fv;4^E2j9C-Z;+vpS*TkZl zSY6Jp<-`Y$(V~=yL&dtema#QP5NPy7PKktYH74T5nb@w$W{BCoM4E(bfFw_Aka-?w z%On|p#03b0&g@bbJJa4sCLe+Pj>XJV{g12Vfwom7d@_#*t8()gcMKk_$aUvrDAcUxt<-*AbDkO!X)Uf|a{2|~4Q zF*k8+eI9qs%`l(ztI`8OtXhJX;8B5R%x1?TnnRw$kjhYRX4=Ci3^C-z|5>R*lmDWm zE5Tq_CY0|Eb@ckGoT*`JIr8N@ovi_by4=b!2kKK!>J8N5d4@~&CdZJQ?Fq~66+x0k zTZx^#FfJkj6H|H2KNtP;37#Tg{)z=TioUw~MARJDWF2pvtmCE0I$oZvd}foCjM-$R z7C%|3RFhS}J+`_{u*%U0r%6|{AIOnOYg`DjAZu3TynNIW^^?Z zlCv!`OST2tIAN(0qedkgIXZ7I%g?lMwHL_OXxt~~#BLNqK1aGC3CNrTm-an3GZnnBaiG!5-y=v zNJ!?u)zumOS&DFxWx^SciS&wdlbrpuJ3*~GT@C6?(r0&LGj9|l8GFG~QO#N5V&bCM zYJelwmV?cBwr8P9U597aEF6OSj)^N_Kk2#mR1*W1k~wIcM2BXpcw6fD5m4j8WuZJ> zG!PPG|Su}yUB8`?cr3?Y}3^Sn38X4KFr zqDY0uWL4JYIb0eCmc5e3cq7(O8m%2@{5mdJCu5@0vG-pU4BOy&&c-1;QbF(ps7iWd zaSZ$3c1(%iiBB(vTS0X4ZUXA50=7uxWY?N9wn55%CY5WCUG|%48JKyn->mKDo}r5N zW?ZaG%3C-W*;HgY;Q>y}4FhKlcBJ`}RYl>*ws~+%pp(?^yW!Ue;E-)Z2bOsSZ-RiY zcqjQnC)oH=CuF6;ae<5g4YGhuYa6R`6kL;5E`x%5l8I?b-zqDfCwx1rt>7M~9Stad34{?8 zT&b@h^Bf9proMJma5MF_t%8fnnyIfSyHa1*>w&+p@u}$vr>UN&`l_B}qRVpibyDKc zWJmS2o@to%T%YtB=0u*dKG`sjs_WF(dNR>b!(_s)qWT&u)EW~JrInMEElR8VkqmBl znakqT8=c4~`9Dl!Ru;*?Vl}FcRn=$G7fXu!O)Cx;U-EH6vzn(ST>2FCmo(NdSVFF` znlY`)G!+|*Znro~2E^4d#MqAzJYtqA?9=$y= zc67|MrQ`m&;GbewifF)Ju{p0moweqS6a#wB&^M2%=XjMR$KmZPUmL@hFm=0%AXY28 zlnaRq7OdISr)TK3Tkt2OK0S>#RF%}Pk>DW4IklOg7HtO6&NzM*k;`i{Cuxu-i`tAF zqovK%kqi0v&M6&-cDhVmx(rhWKa3$)ZYA2vP>Z&b=_(G1)EDeYqQGoIdQp!NH&IXM zE{J+0o2aMcf~ZHbiF!&dhgk7qs7JD?HA*gvdb;}r zTbsrX4|3fVwlNp=ypd#xGLGPesMNigs5cQry^T)PLqc38>P;0zy+m|#vc0G`6GXio zLDZv*LDXBSI#KT*w^{1vRPf~`x-Ij%@g9blTdBh`&)m)z^-I0XqvI{B z{DQ31wm7vIreS^9dazpi#n)M>>)HX(uD5moDihPAjJ8%PH;uD9q~cU7S(w{l-SQD) zy^YAeN~`}duC!QU<+5LH)UtnLZm8Dc%L()fe}b)ArbEqCg4c1RJH^EU5==Il!CEvA zgx6eeu_03KHK*uO#q3vpg>_7cWU7`~i`pcjIPOF;XG4^1XQ!;PTbgSeKQaKREUeXn zjeo%kuTPzW^d%{D!mrRnQXr91ELc}@g+6X8^w7#y=#4Ea^u}z3-WXQsJ6Ezm-??mk z-ng>$Su6i0+nNE}iajBtqU~aMd!j>QVT~4cvf0$KMhoF>)@UWSS)-NQW{p-d6dUBF zutqDn?Ha8g+N{w^F0avxcHIhgrfiL_9ImuBp#_QCfyOo|B2A|K z4m6%NS9YLF?CZ)7^oy|rokS*{&9bjN>-UwSq14+cAOToO4uYGlmAOH$|kYp zli)U*Z4$F5z6H6mv`;+RvQNC(RlO3+%jQg^qfR-g3}v<#pi@iPKJgIKoLSrqo+t>u zm^y|eiIG~^878&xg_Xp6sSI7&C)RHBm3`tl=Ztu1ykfqI_K7!3G1;;z`@~y{#>0!= zC;sEHp6Zc4_6K9<1bf064)NrvI-ci!d0;QLp~nGFyEa2xM4Us{?hX2rc5mu>;7Crf zY=g%#*w6U!^;?GKfZuAV64OR5J8R`B*zdMfdh!&7lCtBZ^ZGmC_gvT@R`{8c%V58E z8O#rwuv<`dCRvV6c;l=Nj=D56c@M6f@eXE;m)%@3UY%;l9CV1#G@ta%C%x*HSTI5s zjI`!iaB$Tj6=qxWEZ7B_O4&Y8YT=8L-c_e27R)b8lDT-E<(V#;z8);>+I`5h_u#E# znzGAE-I?YsbFNvzse+eMx|z+DZYsHnladN|I_s`Oni+fXI?xvf5cQal@Mw18;HU$@ z^3&;W_0#Du`RVkRl|DW*KOHh=emd0R`7f0QKb`ujwm`@+`dwMwHr6J+Zzm90A6_~& zqP``ZId@(7#%dp}W4F@M34SsNd#r|bDxW2lpMe6BiWEU$(h)=ak zo;^5oNG=+9#D#Xp3&BNv)g-~ILpxk^2t={2t#cEnnwkXS^a)*1T6MF;DI`@W{`&YX zsH&<7Chg)DO0%`+C$kR2gwU8V#NBLo+VqglmP24r*iOXj;amkoXTx#(Xmr9*CtgyeO@$IFv4yRX$1@HOh_x3Uz3oQ*S?-LdzWaiEQx
  • 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�k#Y*c}^ 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 uJRZ$ge?z}qd060$z{Hx8U-mt}aa_X=;